From 9e4cc4c7def2cb71b1c7144acf2781c7ceb8dfcb Mon Sep 17 00:00:00 2001 From: Sora <654163754@qq.com> Date: Thu, 14 Dec 2023 14:48:19 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20update=20fastapi.py.=202.2=20reference?= =?UTF-8?q?=E9=80=82=E9=85=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server_fastapi.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/server_fastapi.py b/server_fastapi.py index 54697cf..2c3ffb8 100644 --- a/server_fastapi.py +++ b/server_fastapi.py @@ -5,6 +5,7 @@ import logging import gc import random +import librosa import gradio import numpy as np import utils @@ -223,12 +224,26 @@ if __name__ == "__main__": if speaker_name not in loaded_models.models[model_id].spk2id.keys(): logger.error(f"/voice 请求错误:角色speaker_name={speaker_name}不存在") return {"status": 13, "detail": f"角色speaker_name={speaker_name}不存在"} + # 未传入则使用默认语言 if language is None: language = loaded_models.models[model_id].language + # 翻译会破坏mix结构,auto也会变得无意义。不要在这两个模式下使用 if auto_translate: + if language == "auto" or language == "mix": + logger.error( + f"/voice 请求错误:请勿同时使用language = {language}与auto_translate模式" + ) + return { + "status": 20, + "detail": f"请勿同时使用language = {language}与auto_translate模式", + } text = trans.translate(Sentence=text, to_Language=language.lower()) if reference_audio is not None: ref_audio = BytesIO(await reference_audio.read()) + # 2.2 适配 + if loaded_models.models[model_id].version == "2.2": + ref_audio, _ = librosa.load(ref_audio, 48000) + else: ref_audio = reference_audio if not auto_split: