From 52e951b32551f37299afc596c9cd3e8e20354054 Mon Sep 17 00:00:00 2001 From: LittleMouse Date: Fri, 26 Dec 2025 16:56:23 +0800 Subject: [PATCH] [update] supported sensevoice asr --- backend/asr_client_backend.py | 13 +++++++------ backend/tts_client_backend.py | 2 +- services/model_list.py | 12 ++++++------ 3 files changed, 14 insertions(+), 13 deletions(-) diff --git a/backend/asr_client_backend.py b/backend/asr_client_backend.py index d64b30c..d9998ba 100644 --- a/backend/asr_client_backend.py +++ b/backend/asr_client_backend.py @@ -58,16 +58,17 @@ class ASRClientBackend(BaseModelBackend): loop = asyncio.get_event_loop() await loop.run_in_executor( - None, - client.setup, - "whisper.setup", - { + self._inference_executor, + lambda: client.setup( + self.config["object"], + { "model": self.config["model_name"], "response_format": "asr.utf-8", - "input": "whisper.wav.stream.base64", + "input": "whisper.asr.wav.stream.base64", "language": language, "enoutput": True - } + } + ) ) return client except asyncio.TimeoutError: diff --git a/backend/tts_client_backend.py b/backend/tts_client_backend.py index 8d74a29..e840e6b 100644 --- a/backend/tts_client_backend.py +++ b/backend/tts_client_backend.py @@ -30,7 +30,7 @@ class TtsClientBackend(BaseModelBackend): host=self.config["host"], port=self.config["port"] ) - self.sample_rate = model_config.get("sample_rate", 16000) + self.sample_rate = model_config.get("audio_rate", 16000) self.channels = 1 self.tokenizer = tiktoken.get_encoding("cl100k_base") diff --git a/services/model_list.py b/services/model_list.py index c81bfce..7c4dbd2 100644 --- a/services/model_list.py +++ b/services/model_list.py @@ -99,22 +99,24 @@ class GetModelList: elif model_type == 'tts': mode_param = model_data.get("mode_param", {}) precompute_len = None - sample_rate = None + audio_rate = None cmm_size = None if isinstance(mode_param, dict): precompute_len = mode_param.get("precompute_len") cmm_size = mode_param.get("cmm_size") - sample_rate = mode_param.get("sample_rate") + audio_rate = mode_param.get("audio_rate") if 'melotts' in mode.lower(): obj = 'melotts.setup' new_entry['memory_required'] = 59764 - new_entry['sample_rate'] = 16000 + new_entry['audio_rate'] = 16000 new_entry['max_context_length'] = 32768 + if audio_rate is not None: + new_entry['audio_rate'] = audio_rate elif 'cosyvoice' in mode.lower(): obj = 'cosy_voice.setup' new_entry['memory_required'] = 1185772 - new_entry['sample_rate'] = 48000 + new_entry['audio_rate'] = 48000 else: obj = 'tts.setup' @@ -122,8 +124,6 @@ class GetModelList: new_entry['memory_required'] = cmm_size if precompute_len is not None: new_entry['max_context_length'] = precompute_len - if sample_rate is not None: - new_entry['max_context_length'] = sample_rate new_entry.update({ "response_format": "wav.base64",