Skip to content

Commit 7943e2f

Browse files
committed
Update: configure dynamic_loading for each model separately
Revert the incorrect merge of lang_list in the refactor-config branch
1 parent 66ac048 commit 7943e2f

File tree

2 files changed

+7
-10
lines changed

2 files changed

+7
-10
lines changed

manager/TTSManager.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -271,7 +271,7 @@ def process_ssml_infer_task(self, tasks, format):
271271

272272
def vits_infer(self, state, encode=True):
273273
model = self.get_model(ModelType.VITS, state["id"])
274-
if hasattr(config.vits_config, 'dynamic_loading') and config.vits_config.dynamic_loading:
274+
if model.dynamic_loading:
275275
model.load_model()
276276
state["id"] = self.get_real_id(ModelType.VITS, state["id"]) # Change to real id
277277
# 去除所有多余的空白字符
@@ -299,7 +299,7 @@ def vits_infer(self, state, encode=True):
299299
audios.append(brk)
300300

301301
audio = np.concatenate(audios, axis=0)
302-
if hasattr(config.vits_config, 'dynamic_loading') and config.vits_config.dynamic_loading:
302+
if model.dynamic_loading:
303303
model.release_model()
304304
return self.encode(sampling_rate, audio, state["format"]) if encode else audio
305305

tts_app/voice_api/views.py

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -163,17 +163,14 @@ def voice_vits_api():
163163

164164
# 校验模型是否支持输入的语言
165165
speaker_lang = model_manager.voice_speakers[ModelType.VITS][id].get('lang')
166-
if lang not in ["auto", "mix"] and len(speaker_lang) > 1 and lang not in speaker_lang:
167-
logger.info(f"[{ModelType.VITS}] lang \"{lang}\" is not in {speaker_lang}")
168-
return make_response(jsonify({"status": "error", "message": f"lang '{lang}' is not in {speaker_lang}"}),
169-
400)
166+
lang_list, status, msg = get_lang_list(lang, speaker_lang)
167+
if status == "error":
168+
return make_response(jsonify({"status": status, "message": msg}), 400)
170169

171-
# 如果配置文件中设置了LANGUAGE_AUTOMATIC_DETECT则强制将speaker_lang设置为LANGUAGE_AUTOMATIC_DETECT
170+
# 如果配置文件中设置了LANGUAGE_AUTOMATIC_DETECT则强制将speaker_lang设置为LANGUAGE_AUTOMATIC_DETECT里的语言
172171
if (lang_detect := config.language_identification.language_automatic_detect) and isinstance(lang_detect, list):
173172
speaker_lang = lang_detect
174173

175-
lang_list = get_lang_list(lang, speaker_lang)
176-
177174
if use_streaming and format.upper() != "MP3":
178175
format = "mp3"
179176
logger.warning("Streaming response only supports MP3 format.")
@@ -188,7 +185,7 @@ def voice_vits_api():
188185
"noise": noise,
189186
"noisew": noisew,
190187
"segment_size": segment_size,
191-
"lang": lang_list[0],
188+
"lang": lang_list,
192189
"speaker_lang": speaker_lang,
193190
}
194191

0 commit comments

Comments
 (0)