diff --git a/.gitignore b/.gitignore index c484cf2..3899ba0 100644 --- a/.gitignore +++ b/.gitignore @@ -9,4 +9,6 @@ logs reference GPT_weights SoVITS_weights -TEMP \ No newline at end of file +TEMP +gweight.txt +sweight.txt \ No newline at end of file diff --git a/GPT_SoVITS/inference_webui.py b/GPT_SoVITS/inference_webui.py index 1578732..79db5cc 100644 --- a/GPT_SoVITS/inference_webui.py +++ b/GPT_SoVITS/inference_webui.py @@ -14,11 +14,14 @@ logging.getLogger("httpx").setLevel(logging.ERROR) logging.getLogger("asyncio").setLevel(logging.ERROR) logging.getLogger("charset_normalizer").setLevel(logging.ERROR) logging.getLogger("torchaudio._extension").setLevel(logging.ERROR) -import LangSegment,os, re +import LangSegment, os, re, sys import pdb import torch version=os.environ.get("version","v1") +language=os.environ.get("language","auto") +version="v2"if sys.argv[0]=="v2" else version +language=sys.argv[-1] if sys.argv[-1]!='v2' and sys.argv[-1]!='v1' else language pretrained_sovits_name="GPT_SoVITS/pretrained_models/s2G488k.pth"if version=="v1"else"GPT_SoVITS/pretrained_models/gsv-v2final-pretrained/s2G2333k.pth" pretrained_gpt_name="GPT_SoVITS/pretrained_models/s1bert25hz-2kh-longer-epoch=68e-step=50232.ckpt"if version=="v1"else "GPT_SoVITS/pretrained_models/gsv-v2final-pretrained/s1bert25hz-5kh-longer-epoch=12-step=369668.ckpt" @@ -72,7 +75,10 @@ from module.mel_processing import spectrogram_torch from tools.my_utils import load_audio from tools.i18n.i18n import I18nAuto -i18n = I18nAuto() +if language != 'auto': + i18n = I18nAuto(language=language) +else: + i18n = I18nAuto() # os.environ['PYTORCH_ENABLE_MPS_FALLBACK'] = '1' # 确保直接启动推理UI时也能够设置。 @@ -338,6 +344,7 @@ def merge_short_text_in_array(texts, threshold): cache= {} def get_tts_wav(ref_wav_path, prompt_text, prompt_language, text, text_language, how_to_cut=i18n("不切"), top_k=20, top_p=0.6, temperature=0.6, ref_free = False,speed=1,if_freeze=False): global cache + t = [] if prompt_text is None or len(prompt_text) == 0: ref_free = True t0 = ttime() @@ -379,6 +386,7 @@ def get_tts_wav(ref_wav_path, prompt_text, prompt_language, text, text_language, prompt = prompt_semantic.unsqueeze(0).to(device) t1 = ttime() + t.append(t1-t0) if (how_to_cut == i18n("凑四句一切")): text = cut1(text) @@ -449,7 +457,11 @@ def get_tts_wav(ref_wav_path, prompt_text, prompt_language, text, text_language, audio_opt.append(audio) audio_opt.append(zero_wav) t4 = ttime() - print("%.3f\t%.3f\t%.3f\t%.3f" % (t1 - t0, t2 - t1, t3 - t2, t4 - t3)) + t.extend([t2 - t1,t3 - t2, t4 - t3]) + t1 = ttime() + print("%.3f\t%.3f\t%.3f\t%.3f" % + (t[0], sum(t[1::3]), sum(t[2::3]), sum(t[3::3])) + ) yield hps.data.sampling_rate, (np.concatenate(audio_opt, 0) * 32768).astype( np.int16 ) @@ -594,57 +606,67 @@ def get_weights_names(): SoVITS_names, GPT_names = get_weights_names() +def html_center(text, label='p'): + return f"""
+ <{label} style="margin: 0; padding: 0;">{text} +
""" + +def html_left(text, label='p'): + return f"""
+ <{label} style="margin: 0; padding: 0;">{text} +
""" + with gr.Blocks(title="GPT-SoVITS WebUI") as app: gr.Markdown( value=i18n("本软件以MIT协议开源, 作者不对软件具备任何控制力, 使用软件者、传播软件导出的声音者自负全责.
如不认可该条款, 则不能使用或引用软件包内任何代码和文件. 详见根目录LICENSE.") ) with gr.Group(): - gr.Markdown(value=i18n("模型切换")) + gr.Markdown(html_center(i18n("模型切换"),'h3')) with gr.Row(): - GPT_dropdown = gr.Dropdown(label=i18n("GPT模型列表"), choices=sorted(GPT_names, key=custom_sort_key), value=gpt_path, interactive=True) - SoVITS_dropdown = gr.Dropdown(label=i18n("SoVITS模型列表"), choices=sorted(SoVITS_names, key=custom_sort_key), value=sovits_path, interactive=True) - refresh_button = gr.Button(i18n("刷新模型路径"), variant="primary") + GPT_dropdown = gr.Dropdown(label=i18n("GPT模型列表"), choices=sorted(GPT_names, key=custom_sort_key), value=gpt_path, interactive=True,scale=13) + SoVITS_dropdown = gr.Dropdown(label=i18n("SoVITS模型列表"), choices=sorted(SoVITS_names, key=custom_sort_key), value=sovits_path, interactive=True,scale=13) + refresh_button = gr.Button(i18n("刷新模型路径"), variant="primary",scale=13) refresh_button.click(fn=change_choices, inputs=[], outputs=[SoVITS_dropdown, GPT_dropdown]) SoVITS_dropdown.change(change_sovits_weights, [SoVITS_dropdown], []) GPT_dropdown.change(change_gpt_weights, [GPT_dropdown], []) - gr.Markdown(value=i18n("*请上传并填写参考信息")) + gr.Markdown(html_center(i18n("*请上传并填写参考信息"),'h3')) with gr.Row(): - inp_ref = gr.Audio(label=i18n("请上传3~10秒内参考音频,超过会报错!"), type="filepath") - with gr.Column(): + inp_ref = gr.Audio(label=i18n("请上传3~10秒内参考音频,超过会报错!"), type="filepath",scale=13) + with gr.Column(scale=13): ref_text_free = gr.Checkbox(label=i18n("开启无参考文本模式。不填参考文本亦相当于开启。"), value=False, interactive=True, show_label=True) - gr.Markdown(i18n("使用无参考文本模式时建议使用微调的GPT,听不清参考音频说的啥(不晓得写啥)可以开,开启后无视填写的参考文本。")) - prompt_text = gr.Textbox(label=i18n("参考音频的文本"), value="") + gr.Markdown(html_left(i18n("使用无参考文本模式时建议使用微调的GPT,听不清参考音频说的啥(不晓得写啥)可以开。
开启后无视填写的参考文本。"))) + prompt_text = gr.Textbox(label=i18n("参考音频的文本"), value="", lines=3, max_lines=3) prompt_language = gr.Dropdown( - label=i18n("参考音频的语种"), choices=list(dict_language.keys()), value=i18n("中文") + label=i18n("参考音频的语种"), choices=list(dict_language.keys()), value=i18n("中文"),scale=14 ) - gr.Markdown(value=i18n("*请填写需要合成的目标文本和语种模式")) + gr.Markdown(html_center(i18n("*请填写需要合成的目标文本和语种模式"),'h3')) with gr.Row(): - with gr.Column(): - text = gr.Textbox(label=i18n("需要合成的文本"), value="") + with gr.Column(scale=13): + text = gr.Textbox(label=i18n("需要合成的文本"), value="", lines=26, max_lines=26) + with gr.Column(scale=7): text_language = gr.Dropdown( - label=i18n("需要合成的语种"), choices=list(dict_language.keys()), value=i18n("中文") - ) - how_to_cut = gr.Radio( - label=i18n("怎么切"), - choices=[i18n("不切"), i18n("凑四句一切"), i18n("凑50字一切"), i18n("按中文句号。切"), i18n("按英文句号.切"), i18n("按标点符号切"), ], - value=i18n("凑四句一切"), - interactive=True, - ) - with gr.Column(): - gr.Markdown(value=i18n("gpt采样参数(无参考文本时不要太低。不懂就用默认):")) - top_k = gr.Slider(minimum=1,maximum=100,step=1,label=i18n("top_k"),value=10,interactive=True) - top_p = gr.Slider(minimum=0,maximum=1,step=0.05,label=i18n("top_p"),value=1,interactive=True) - temperature = gr.Slider(minimum=0,maximum=1,step=0.05,label=i18n("temperature"),value=1,interactive=True) - with gr.Column(): - gr.Markdown(value=i18n("语速调整,高为更快")) - if_freeze=gr.Checkbox(label=i18n("是否直接对上次合成结果调整语速。防止随机性。"), value=False, interactive=True, show_label=True) - speed = gr.Slider(minimum=0.6,maximum=1.65,step=0.05,label=i18n("语速"),value=1,interactive=True) + label=i18n("需要合成的语种"), choices=list(dict_language.keys()), value=i18n("中文"), scale=1 + ) + how_to_cut = gr.Dropdown( + label=i18n("怎么切"), + choices=[i18n("不切"), i18n("凑四句一切"), i18n("凑50字一切"), i18n("按中文句号。切"), i18n("按英文句号.切"), i18n("按标点符号切"), ], + value=i18n("凑四句一切"), + interactive=True, scale=1 + ) + gr.Markdown(value=html_center(i18n("语速调整,高为更快"))) + if_freeze=gr.Checkbox(label=i18n("是否直接对上次合成结果调整语速。防止随机性。"), value=False, interactive=True,show_label=True, scale=1) + speed = gr.Slider(minimum=0.6,maximum=1.65,step=0.05,label=i18n("语速"),value=1,interactive=True, scale=1) + gr.Markdown(html_center(i18n("GPT采样参数(无参考文本时不要太低。不懂就用默认):"))) + top_k = gr.Slider(minimum=1,maximum=100,step=1,label=i18n("top_k"),value=10,interactive=True, scale=1) + top_p = gr.Slider(minimum=0,maximum=1,step=0.05,label=i18n("top_p"),value=1,interactive=True, scale=1) + temperature = gr.Slider(minimum=0,maximum=1,step=0.05,label=i18n("temperature"),value=1,interactive=True, scale=1) # with gr.Column(): # gr.Markdown(value=i18n("手工调整音素。当音素框不为空时使用手工音素输入推理,无视目标文本框。")) # phoneme=gr.Textbox(label=i18n("音素框"), value="") # get_phoneme_button = gr.Button(i18n("目标文本转音素"), variant="primary") - inference_button = gr.Button(i18n("合成语音"), variant="primary") - output = gr.Audio(label=i18n("输出的语音")) + with gr.Row(): + inference_button = gr.Button(i18n("合成语音"), variant="primary", size='lg', scale=25) + output = gr.Audio(label=i18n("输出的语音"),scale=14) inference_button.click( get_tts_wav, @@ -652,21 +674,21 @@ with gr.Blocks(title="GPT-SoVITS WebUI") as app: [output], ) - gr.Markdown(value=i18n("文本切分工具。太长的文本合成出来效果不一定好,所以太长建议先切。合成会根据文本的换行分开合成再拼起来。")) - with gr.Row(): - text_inp = gr.Textbox(label=i18n("需要合成的切分前文本"), value="") - button1 = gr.Button(i18n("凑四句一切"), variant="primary") - button2 = gr.Button(i18n("凑50字一切"), variant="primary") - button3 = gr.Button(i18n("按中文句号。切"), variant="primary") - button4 = gr.Button(i18n("按英文句号.切"), variant="primary") - button5 = gr.Button(i18n("按标点符号切"), variant="primary") - text_opt = gr.Textbox(label=i18n("切分后文本"), value="") - button1.click(cut1, [text_inp], [text_opt]) - button2.click(cut2, [text_inp], [text_opt]) - button3.click(cut3, [text_inp], [text_opt]) - button4.click(cut4, [text_inp], [text_opt]) - button5.click(cut5, [text_inp], [text_opt]) - gr.Markdown(value=i18n("后续将支持转音素、手工修改音素、语音合成分步执行。")) + # gr.Markdown(value=i18n("文本切分工具。太长的文本合成出来效果不一定好,所以太长建议先切。合成会根据文本的换行分开合成再拼起来。")) + # with gr.Row(): + # text_inp = gr.Textbox(label=i18n("需要合成的切分前文本"), value="") + # button1 = gr.Button(i18n("凑四句一切"), variant="primary") + # button2 = gr.Button(i18n("凑50字一切"), variant="primary") + # button3 = gr.Button(i18n("按中文句号。切"), variant="primary") + # button4 = gr.Button(i18n("按英文句号.切"), variant="primary") + # button5 = gr.Button(i18n("按标点符号切"), variant="primary") + # text_opt = gr.Textbox(label=i18n("切分后文本"), value="") + # button1.click(cut1, [text_inp], [text_opt]) + # button2.click(cut2, [text_inp], [text_opt]) + # button3.click(cut3, [text_inp], [text_opt]) + # button4.click(cut4, [text_inp], [text_opt]) + # button5.click(cut5, [text_inp], [text_opt]) + # gr.Markdown(html_center(i18n("后续将支持转音素、手工修改音素、语音合成分步执行。"))) if __name__ == '__main__': app.queue(concurrency_count=511, max_size=1022).launch( diff --git a/go-webui-v2.bat b/go-webui-v2.bat index 8c3a303..c9b9966 100644 --- a/go-webui-v2.bat +++ b/go-webui-v2.bat @@ -1,2 +1,2 @@ -runtime\python.exe webui.py v2 +runtime\python.exe webui.py v2 zh_CN pause diff --git a/go-webui-v2.ps1 b/go-webui-v2.ps1 index 55c4935..9beb4a3 100644 --- a/go-webui-v2.ps1 +++ b/go-webui-v2.ps1 @@ -1,4 +1,4 @@ $ErrorActionPreference = "SilentlyContinue" chcp 65001 -& "$PSScriptRoot\runtime\python.exe" "$PSScriptRoot\webui.py v2" +& "$PSScriptRoot\runtime\python.exe" "$PSScriptRoot\webui.py v2 zh_CN" pause diff --git a/go-webui.bat b/go-webui.bat index 2f98538..398f6d9 100644 --- a/go-webui.bat +++ b/go-webui.bat @@ -1,2 +1,2 @@ -runtime\python.exe webui.py +runtime\python.exe webui.py zh_CN pause diff --git a/go-webui.ps1 b/go-webui.ps1 index 219798a..8962732 100644 --- a/go-webui.ps1 +++ b/go-webui.ps1 @@ -1,4 +1,4 @@ $ErrorActionPreference = "SilentlyContinue" chcp 65001 -& "$PSScriptRoot\runtime\python.exe" "$PSScriptRoot\webui.py" +& "$PSScriptRoot\runtime\python.exe" "$PSScriptRoot\webui.py zh_CN" pause diff --git a/requirements.txt b/requirements.txt index 9302f70..c69bb75 100644 --- a/requirements.txt +++ b/requirements.txt @@ -7,7 +7,8 @@ pytorch-lightning gradio==3.38.0 gradio_client==0.8.1 ffmpeg-python -onnxruntime-gpu +onnxruntime; sys_platform == 'darwin' +onnxruntime-gpu; sys_platform != 'darwin' tqdm funasr==1.0.27 cn2an diff --git a/tools/i18n/locale/en_US.json b/tools/i18n/locale/en_US.json index fd416d1..ecf17c1 100644 --- a/tools/i18n/locale/en_US.json +++ b/tools/i18n/locale/en_US.json @@ -51,7 +51,7 @@ "UVR5已开启": "UVR5 opened ", "UVR5进程输出信息": "UVR5 process output log", "alpha_mix:混多少比例归一化后音频进来": "alpha_mix: proportion of normalized audio merged into dataset", - "gpt采样参数(无参考文本时不要太低。不懂就用默认):": "GPT sampling parameters (not too low when there's no reference text. Use default if unsure):", + "GPT采样参数(无参考文本时不要太低。不懂就用默认):": "GPT sampling parameters (not too low when there's no reference text. Use default if unsure):", "hop_size:怎么算音量曲线,越小精度越大计算量越高(不是精度越大效果越好)": "hop_size: FO hop size, the smaller the value, the higher the accuracy)", "max:归一化后最大值多少": "Loudness multiplier after normalized", "max_sil_kept:切完后静音最多留多长": "Maximum length for silence to be kept", @@ -70,7 +70,7 @@ "人声伴奏分离批量处理, 使用UVR5模型。": "Batch processing for vocal and instrumental separation, using the UVR5 model.", "人声提取激进程度": "Vocal extraction aggressiveness", "伴奏人声分离&去混响&去回声": "Vocals/Accompaniment Separation & Reverberation Removal", - "使用无参考文本模式时建议使用微调的GPT,听不清参考音频说的啥(不晓得写啥)可以开,开启后无视填写的参考文本。": "When using the no-reference text mode, it is recommended to use a fine-tuned GPT. If the reference audio is unclear and you don't know what to write, you can enable this feature, which will ignore the reference text you've entered.", + "使用无参考文本模式时建议使用微调的GPT,听不清参考音频说的啥(不晓得写啥)可以开。
开启后无视填写的参考文本。": "When using the no-reference text mode, it is recommended to use a fine-tuned GPT. If the reference audio is unclear and you don't know what to write, you can enable this feature, which will ignore the reference text you've entered.", "保存频率save_every_epoch": "Save frequency (save_every_epoch):", "凑50字一切": "Slice per 50 characters", "凑四句一切": "Slice once every 4 sentences", @@ -122,7 +122,7 @@ "日英混合": "Japanese-English Mixed", "是否仅保存最新的ckpt文件以节省硬盘空间": "Save only the latest '.ckpt' file to save disk space:", "是否在每次保存时间点将最终小模型保存至weights文件夹": "Save a small final model to the 'weights' folder at each save point:", - "是否开启TTS推理WebUI": "Open TTS inference WEBUI", + "是否开启TTS推理WebUI": "Open TTS inference WebUI", "是否开启UVR5-WebUI": "Open UVR5-WebUI", "是否开启dpo训练选项(实验性)": "Enable DPO training (experimental feature)", "是否开启打标WebUI": "Open labelling WebUI", diff --git a/tools/i18n/locale/es_ES.json b/tools/i18n/locale/es_ES.json index 9d4e44b..16b6141 100644 --- a/tools/i18n/locale/es_ES.json +++ b/tools/i18n/locale/es_ES.json @@ -51,7 +51,7 @@ "UVR5已开启": "UVR5 está habilitado", "UVR5进程输出信息": "Información de salida del proceso UVR5", "alpha_mix:混多少比例归一化后音频进来": "alpha_mix: proporción de mezcla de audio normalizado que entra", - "gpt采样参数(无参考文本时不要太低。不懂就用默认):": "Parámetros de muestreo de GPT (no demasiado bajos cuando no hay texto de referencia. Use los valores por defecto si no está seguro):", + "GPT采样参数(无参考文本时不要太低。不懂就用默认):": "Parámetros de muestreo de GPT (no demasiado bajos cuando no hay texto de referencia. Use los valores por defecto si no está seguro):", "hop_size:怎么算音量曲线,越小精度越大计算量越高(不是精度越大效果越好)": "hop_size: cómo calcular la curva de volumen, cuanto más pequeño, mayor precisión pero mayor carga computacional (mayor precisión no significa mejor rendimiento)", "max:归一化后最大值多少": "max: valor máximo después de la normalización", "max_sil_kept:切完后静音最多留多长": "max_sil_kept: duración máxima del silencio después del corte", @@ -70,7 +70,7 @@ "人声伴奏分离批量处理, 使用UVR5模型。": "Procesamiento por lotes de separación de voz y acompañamiento utilizando el modelo UVR5", "人声提取激进程度": "Nivel de agresividad en la extracción de voz", "伴奏人声分离&去混响&去回声": "Separación de acompañamiento y voz principal y eliminación de reverberación y eco", - "使用无参考文本模式时建议使用微调的GPT,听不清参考音频说的啥(不晓得写啥)可以开,开启后无视填写的参考文本。": "Se recomienda usar un GPT ajustado en modo sin texto de referencia; habilítelo si no puede entender el audio de referencia (si no sabe qué escribir). Una vez habilitado, ignorará el texto de referencia ingresado.", + "使用无参考文本模式时建议使用微调的GPT,听不清参考音频说的啥(不晓得写啥)可以开。
开启后无视填写的参考文本。": "Se recomienda usar un GPT ajustado en modo sin texto de referencia; habilítelo si no puede entender el audio de referencia (si no sabe qué escribir). Una vez habilitado, ignorará el texto de referencia ingresado.", "保存频率save_every_epoch": "Frecuencia de guardado (cada epoch)", "凑50字一切": "Todo para alcanzar las 50 palabras", "凑四句一切": "Completa cuatro oraciones para rellenar todo", diff --git a/tools/i18n/locale/fr_FR.json b/tools/i18n/locale/fr_FR.json index 516593a..cc81498 100644 --- a/tools/i18n/locale/fr_FR.json +++ b/tools/i18n/locale/fr_FR.json @@ -51,7 +51,7 @@ "UVR5已开启": "UVR5 est activé", "UVR5进程输出信息": "Informations de processus UVR5", "alpha_mix:混多少比例归一化后音频进来": "alpha_mix: proportion d'audio normalisé mélangé", - "gpt采样参数(无参考文本时不要太低。不懂就用默认):": "Paramètres d'échantillonnage de GPT (ne pas mettre trop bas lorsqu'il n'y a pas de texte de référence. Utilisez les valeurs par défaut si vous n'êtes pas sûr):", + "GPT采样参数(无参考文本时不要太低。不懂就用默认):": "Paramètres d'échantillonnage de GPT (ne pas mettre trop bas lorsqu'il n'y a pas de texte de référence. Utilisez les valeurs par défaut si vous n'êtes pas sûr):", "hop_size:怎么算音量曲线,越小精度越大计算量越高(不是精度越大效果越好)": "hop_size: comment calculer la courbe de volume, plus petit pour une précision plus élevée mais une charge de calcul plus élevée (ce n'est pas une meilleure précision)", "max:归一化后最大值多少": "max: valeur maximale après normalisation", "max_sil_kept:切完后静音最多留多长": "max_sil_kept: durée maximale de silence après la coupe", @@ -70,7 +70,7 @@ "人声伴奏分离批量处理, 使用UVR5模型。": "Traitement par lot de séparation voix-accompagnement en utilisant le modèle UVR5.", "人声提取激进程度": "Degré d'extraction des voix", "伴奏人声分离&去混响&去回声": "Séparation de la voix et de l'accompagnement, suppression de la réverbération et de l'écho", - "使用无参考文本模式时建议使用微调的GPT,听不清参考音频说的啥(不晓得写啥)可以开,开启后无视填写的参考文本。": "Il est recommandé d'utiliser GPT finement ajusté en mode sans texte de référence. Si vous ne comprenez pas ce que dit l'audio de référence (vous ne savez pas quoi écrire), vous pouvez l'activer ; une fois activé, ignorez le texte de référence saisi.", + "使用无参考文本模式时建议使用微调的GPT,听不清参考音频说的啥(不晓得写啥)可以开。
开启后无视填写的参考文本。": "Il est recommandé d'utiliser GPT finement ajusté en mode sans texte de référence. Si vous ne comprenez pas ce que dit l'audio de référence (vous ne savez pas quoi écrire), vous pouvez l'activer ; une fois activé, ignorez le texte de référence saisi.", "保存频率save_every_epoch": "Fréquence de sauvegarde (sauvegarder à chaque époque)", "凑50字一切": "Assembler 50 mots tout", "凑四句一切": "Composez quatre phrases pour tout remplir", diff --git a/tools/i18n/locale/it_IT.json b/tools/i18n/locale/it_IT.json index a1a7f88..33492b8 100644 --- a/tools/i18n/locale/it_IT.json +++ b/tools/i18n/locale/it_IT.json @@ -51,7 +51,7 @@ "UVR5已开启": "UVR5 è attivato", "UVR5进程输出信息": "Informazioni sull'output del processo UVR5", "alpha_mix:混多少比例归一化后音频进来": "alpha_mix: Quanta proporzione dell'audio normalizzato deve essere miscelata", - "gpt采样参数(无参考文本时不要太低。不懂就用默认):": "Parametri di campionamento di GPT (non troppo bassi quando non c'è testo di riferimento. Utilizzare i valori predefiniti in caso di incertezza):", + "GPT采样参数(无参考文本时不要太低。不懂就用默认):": "Parametri di campionamento di GPT (non troppo bassi quando non c'è testo di riferimento. Utilizzare i valori predefiniti in caso di incertezza):", "hop_size:怎么算音量曲线,越小精度越大计算量越高(不是精度越大效果越好)": "hop_size: Come calcolare la curva del volume. Più piccolo è, maggiore è la precisione ma aumenta la complessità computazionale (non significa che una maggiore precisione dà risultati migliori)", "max:归一化后最大值多少": "max: Massimo valore dopo la normalizzazione", "max_sil_kept:切完后静音最多留多长": "max_sil_kept: Massima durata del silenzio dopo il taglio", @@ -70,7 +70,7 @@ "人声伴奏分离批量处理, 使用UVR5模型。": "Separazione voce-accompagnamento in batch, utilizza il modello UVR5.", "人声提取激进程度": "Grado di aggressività dell'estrazione vocale", "伴奏人声分离&去混响&去回声": "Separazione tra accompagnamento e voce & Rimozione dell'eco & Rimozione dell'eco", - "使用无参考文本模式时建议使用微调的GPT,听不清参考音频说的啥(不晓得写啥)可以开,开启后无视填写的参考文本。": "Si consiglia di utilizzare GPT fine-tuned quando si utilizza la modalità senza testo di riferimento. Se non si riesce a capire cosa dice l'audio di riferimento (e non si sa cosa scrivere), è possibile abilitare questa opzione, ignorando il testo di riferimento inserito.", + "使用无参考文本模式时建议使用微调的GPT,听不清参考音频说的啥(不晓得写啥)可以开。
开启后无视填写的参考文本。": "Si consiglia di utilizzare GPT fine-tuned quando si utilizza la modalità senza testo di riferimento. Se non si riesce a capire cosa dice l'audio di riferimento (e non si sa cosa scrivere), è possibile abilitare questa opzione, ignorando il testo di riferimento inserito.", "保存频率save_every_epoch": "Frequenza di salvataggio ogni epoca", "凑50字一切": "Riempire con 50 caratteri per tutto", "凑四句一切": "Riempire con quattro frasi per tutto", diff --git a/tools/i18n/locale/ja_JP.json b/tools/i18n/locale/ja_JP.json index 0f467ff..18597d6 100644 --- a/tools/i18n/locale/ja_JP.json +++ b/tools/i18n/locale/ja_JP.json @@ -51,7 +51,7 @@ "UVR5已开启": "UVR5がオンになっています", "UVR5进程输出信息": "UVR5プロセスの出力情報", "alpha_mix:混多少比例归一化后音频进来": "alpha_mix:正規化後のオーディオが入る割合", - "gpt采样参数(无参考文本时不要太低。不懂就用默认):": "GPT サンプリングパラメーター(参照テキストがない場合はあまり低くしないでください。わからない場合はデフォルトを使用してください):", + "GPT采样参数(无参考文本时不要太低。不懂就用默认):": "GPT サンプリングパラメーター(参照テキストがない場合はあまり低くしないでください。わからない場合はデフォルトを使用してください):", "hop_size:怎么算音量曲线,越小精度越大计算量越高(不是精度越大效果越好)": "hop_size: 音量曲線の計算方法、小さいほど精度が高くなりますが、計算量が増加します(精度が高いほど必ずしも効果が良いわけではありません)", "max:归一化后最大值多少": "max:正規化後の最大値", "max_sil_kept:切完后静音最多留多长": "max_sil_kept:切り終えた後、最大でどれだけ静かにするか", @@ -70,7 +70,7 @@ "人声伴奏分离批量处理, 使用UVR5模型。": "人声と伴奏の分離をバッチ処理で行い、UVR5モデルを使用します。", "人声提取激进程度": "人声抽出の積極性", "伴奏人声分离&去混响&去回声": "ボーカル/伴奏の分離と残響の除去", - "使用无参考文本模式时建议使用微调的GPT,听不清参考音频说的啥(不晓得写啥)可以开,开启后无视填写的参考文本。": "参考テキストなしモードを使用する場合は、微調整されたGPTの使用をお勧めします。参考音声が聞き取れない場合(何を書けば良いかわからない場合)は、有効にすると、入力した参考テキストを無視します。", + "使用无参考文本模式时建议使用微调的GPT,听不清参考音频说的啥(不晓得写啥)可以开。
开启后无视填写的参考文本。": "参考テキストなしモードを使用する場合は、微調整されたGPTの使用をお勧めします。参考音声が聞き取れない場合(何を書けば良いかわからない場合)は、有効にすると、入力した参考テキストを無視します。", "保存频率save_every_epoch": "保存頻度save_every_epoch", "凑50字一切": "50文字ずつカット", "凑四句一切": "4つの文で埋める", diff --git a/tools/i18n/locale/ko_KR.json b/tools/i18n/locale/ko_KR.json index 53a9d10..05264e9 100644 --- a/tools/i18n/locale/ko_KR.json +++ b/tools/i18n/locale/ko_KR.json @@ -51,13 +51,13 @@ "UVR5已开启": "UVR5가 활성화되었습니다", "UVR5进程输出信息": "UVR5 프로세스 출력 정보", "alpha_mix:混多少比例归一化后音频进来": "알파 믹스: 정규화된 오디오가 들어오는 비율", - "gpt采样参数(无参考文本时不要太低。不懂就用默认):": "GPT 샘플링 매개변수 (참조 텍스트가 없을 때 너무 낮게 설정하지 마십시오. 확실하지 않으면 기본값을 사용하십시오):", + "GPT采样参数(无参考文本时不要太低。不懂就用默认):": "GPT 샘플링 매개변수 (참조 텍스트가 없을 때 너무 낮게 설정하지 마십시오. 확실하지 않으면 기본값을 사용하십시오):", "hop_size:怎么算音量曲线,越小精度越大计算量越高(不是精度越大效果越好)": "hop 크기: 볼륨 곡선을 계산하는 방법. 작을수록 정확도가 높아지지만 계산량이 높아집니다 (정확도가 높다고 효과가 좋아지지 않음)", "max:归一化后最大值多少": "최대 값 (정규화 후)", "max_sil_kept:切完后静音最多留多长": "최대 유지되는 정적 길이 (분리 후)", "min_interval:最短切割间隔": "최소 분리 간격", "min_length:每段最小多长,如果第一段太短一直和后面段连起来直到超过这个值": "min_length:각 부분의 최소 길이, 첫 번째 부분이 너무 짧으면 다음 부분과 계속 연결하여 이 값을 초과할 때까지", - "temperature": "온도", + "temperature": "temperature", "threshold:音量小于这个值视作静音的备选切割点": "임계 값: 이 값보다 작은 볼륨은 대체 분리 지점으로 간주됩니다.", "top_k": "top_k", "top_p": "top_p", @@ -70,7 +70,7 @@ "人声伴奏分离批量处理, 使用UVR5模型。": "보컬과 반주 분리 배치 처리, UVR5 모델 사용.", "人声提取激进程度": "보컬 추출의 공격성", "伴奏人声分离&去混响&去回声": "반주 및 보컬 분리 & 리버브 제거 & 에코 제거", - "使用无参考文本模式时建议使用微调的GPT,听不清参考音频说的啥(不晓得写啥)可以开,开启后无视填写的参考文本。": "참고 텍스트가 없을 때는 미세 조정된 GPT를 사용하는 것이 좋습니다. 참고 오디오에서 무엇을 말하는지 잘 들리지 않으면 이 모드를 켜서 입력한 참고 텍스트를 무시할 수 있습니다.", + "使用无参考文本模式时建议使用微调的GPT,听不清参考音频说的啥(不晓得写啥)可以开。
开启后无视填写的参考文本。": "참고 텍스트가 없을 때는 미세 조정된 GPT를 사용하는 것이 좋습니다. 참고 오디오에서 무엇을 말하는지 잘 들리지 않으면 이 모드를 켜서 입력한 참고 텍스트를 무시할 수 있습니다.", "保存频率save_every_epoch": "저장 빈도 (각 라운드마다)", "凑50字一切": "50자를 채우십시오", "凑四句一切": "네 문장의 세트를 완성하세요.", diff --git a/tools/i18n/locale/pt_BR.json b/tools/i18n/locale/pt_BR.json index 95e3e33..09ae219 100644 --- a/tools/i18n/locale/pt_BR.json +++ b/tools/i18n/locale/pt_BR.json @@ -51,7 +51,7 @@ "UVR5已开启": "UVR5 está ativado", "UVR5进程输出信息": "Informações de saída do processo UVR5", "alpha_mix:混多少比例归一化后音频进来": "alpha_mix: Em que proporção o áudio normalizado é misturado de volta", - "gpt采样参数(无参考文本时不要太低。不懂就用默认):": "Parâmetros de amostragem do GPT (não muito baixos quando não houver texto de referência. Use o padrão se não tiver certeza):", + "GPT采样参数(无参考文本时不要太低。不懂就用默认):": "Parâmetros de amostragem do GPT (não muito baixos quando não houver texto de referência. Use o padrão se não tiver certeza):", "hop_size:怎么算音量曲线,越小精度越大计算量越高(不是精度越大效果越好)": "HOP_SIZE: Como calcular a curva de volume, quanto menor a precisão, maior a quantidade de cálculos (não significa que quanto maior a precisão, melhor o efeito)", "max:归一化后最大值多少": "MAX: Qual é o valor máximo após a normalização?", "max_sil_kept:切完后静音最多留多长": "max_sil_kept: Depois de cortar, por quanto tempo no máximo o silêncio é mantido", @@ -70,7 +70,7 @@ "人声伴奏分离批量处理, 使用UVR5模型。": "Processamento em lote de separação de voz e acompanhamento, usando o modelo UVR5.", "人声提取激进程度": "Grau de agressividade da extração de voz", "伴奏人声分离&去混响&去回声": "Separação de acompanhamento e voz & remoção de reverberação & remoção de eco", - "使用无参考文本模式时建议使用微调的GPT,听不清参考音频说的啥(不晓得写啥)可以开,开启后无视填写的参考文本。": "Ao usar o modo sem texto de referência, recomenda-se usar um GPT ajustado. Se não conseguir ouvir claramente o áudio de referência (não sabe o que escrever), você pode ativar o modo e ignorar o texto de referência fornecido.", + "使用无参考文本模式时建议使用微调的GPT,听不清参考音频说的啥(不晓得写啥)可以开。
开启后无视填写的参考文本。": "Ao usar o modo sem texto de referência, recomenda-se usar um GPT ajustado. Se não conseguir ouvir claramente o áudio de referência (não sabe o que escrever), você pode ativar o modo e ignorar o texto de referência fornecido.", "保存频率save_every_epoch": "Frequência de salvamento save_every_epoch", "凑50字一切": "Complete com 50 caracteres", "凑四句一切": "Complete com quatro frases", @@ -123,7 +123,7 @@ "是否仅保存最新的ckpt文件以节省硬盘空间": "Se deve salvar apenas o último arquivo CKPT para economizar espaço em disco", "是否在每次保存时间点将最终小模型保存至weights文件夹": "Se deve salvar o modelo pequeno final na pasta Weights em cada ponto de salvamento de tempo", "是否开启TTS推理WebUI": "Se deseja ativar o webui de raciocínio TTS", - "是否开启UVR5-WebUI": "Se deseja ativar a UVR5-WEBUI", + "是否开启UVR5-WebUI": "Se deseja ativar a UVR5-WebUI", "是否开启dpo训练选项(实验性)": "Se deseja ativar a opção de treinamento DPO (experimental)", "是否开启打标WebUI": "Se deseja abrir o webui de marcação", "是否直接对上次合成结果调整语速。防止随机性。": "Se deve ajustar diretamente a velocidade da fala do último resultado de síntese para evitar aleatoriedade.", diff --git a/tools/i18n/locale/ru_RU.json b/tools/i18n/locale/ru_RU.json index 42ca591..e99627f 100644 --- a/tools/i18n/locale/ru_RU.json +++ b/tools/i18n/locale/ru_RU.json @@ -51,7 +51,7 @@ "UVR5已开启": "UVR5 включен", "UVR5进程输出信息": "Вывод информации процесса UVR5", "alpha_mix:混多少比例归一化后音频进来": "alpha_mix:Какая доля нормализованного аудио смешивается", - "gpt采样参数(无参考文本时不要太低。不懂就用默认):": "Параметры выборки GPT (не устанавливайте слишком низкие значения, если нет ссылочного текста. Используйте значения по умолчанию, если не уверены):", + "GPT采样参数(无参考文本时不要太低。不懂就用默认):": "Параметры выборки GPT (не устанавливайте слишком низкие значения, если нет ссылочного текста. Используйте значения по умолчанию, если не уверены):", "hop_size:怎么算音量曲线,越小精度越大计算量越高(不是精度越大效果越好)": "hop_size:Как рассчитывается кривая громкости, чем меньше, тем выше точность и больше вычислительная нагрузка (большая точность не всегда означает лучший результат)", "max:归一化后最大值多少": "max:Максимальное значение после нормализации", "max_sil_kept:切完后静音最多留多长": "max_sil_kept:Максимальная длительность тишины после разреза", @@ -70,7 +70,7 @@ "人声伴奏分离批量处理, 使用UVR5模型。": "Обработка разделения вокала и аккомпанемента пакетно с использованием модели UVR5.", "人声提取激进程度": "Степень агрессивности извлечения вокала", "伴奏人声分离&去混响&去回声": "Разделение вокала/аккомпанемента и удаление эхо", - "使用无参考文本模式时建议使用微调的GPT,听不清参考音频说的啥(不晓得写啥)可以开,开启后无视填写的参考文本。": "При использовании режима без референсного текста рекомендуется использовать настроенную модель GPT. Если не удается разобрать, что говорит референсное аудио (не знаете, что писать), можете включить этот режим, и он проигнорирует введенный референсный текст.", + "使用无参考文本模式时建议使用微调的GPT,听不清参考音频说的啥(不晓得写啥)可以开。
开启后无视填写的参考文本。": "При использовании режима без референсного текста рекомендуется использовать настроенную модель GPT. Если не удается разобрать, что говорит референсное аудио (не знаете, что писать), можете включить этот режим, и он проигнорирует введенный референсный текст.", "保存频率save_every_epoch": "Частота сохранения save_every_epoch", "凑50字一切": "Соберите все в 50 символов", "凑四句一切": "Собрать четыре предложения и разрезать", diff --git a/tools/i18n/locale/tr_TR.json b/tools/i18n/locale/tr_TR.json index 179d854..f84be49 100644 --- a/tools/i18n/locale/tr_TR.json +++ b/tools/i18n/locale/tr_TR.json @@ -51,7 +51,7 @@ "UVR5已开启": "UVR5 açıldı", "UVR5进程输出信息": "UVR5 işlem çıktı bilgisi", "alpha_mix:混多少比例归一化后音频进来": "alpha_mix:Normalizasyondan sonraki sesin ne kadarlık bir oranı karıştırılsın", - "gpt采样参数(无参考文本时不要太低。不懂就用默认):": "GPT örnekleme parametreleri (referans metin olmadığında çok düşük olmamalıdır. Emin değilseniz varsayılanı kullanın):", + "GPT采样参数(无参考文本时不要太低。不懂就用默认):": "GPT örnekleme parametreleri (referans metin olmadığında çok düşük olmamalıdır. Emin değilseniz varsayılanı kullanın):", "hop_size:怎么算音量曲线,越小精度越大计算量越高(不是精度越大效果越好)": "hop_size:Ses seviyesi eğrisi nasıl hesaplanır, ne kadar küçükse hassasiyet o kadar yüksek ve hesaplama yükü o kadar artar (hassasiyet arttıkça etki mutlaka daha iyi olmaz)", "max:归一化后最大值多少": "max:Normalizasyondan sonra maksimum değer ne kadar", "max_sil_kept:切完后静音最多留多长": "max_sil_kept:Kesimden sonra en fazla ne kadar sessizlik bırakılır", @@ -70,7 +70,7 @@ "人声伴奏分离批量处理, 使用UVR5模型。": "Vokal ve akor ayırma toplu işleme, UVR5 modelini kullanarak.", "人声提取激进程度": "Vokal çıkarma agresiflik derecesi", "伴奏人声分离&去混响&去回声": "Vokal/Müzik Ayrıştırma ve Yankı Giderme", - "使用无参考文本模式时建议使用微调的GPT,听不清参考音频说的啥(不晓得写啥)可以开,开启后无视填写的参考文本。": "Referans metin modu olmadan kullanıldığında, referans sesi net duyulmadığında (ne yazılacağı bilinmiyorsa) açık bırakılması önerilir, bu durumda girilen referans metni göz ardı edilir.", + "使用无参考文本模式时建议使用微调的GPT,听不清参考音频说的啥(不晓得写啥)可以开。
开启后无视填写的参考文本。": "Referans metin modu olmadan kullanıldığında, referans sesi net duyulmadığında (ne yazılacağı bilinmiyorsa) açık bırakılması önerilir, bu durumda girilen referans metni göz ardı edilir.", "保存频率save_every_epoch": "Kayıt sıklığı save_every_epoch", "凑50字一切": "50 kelime birleştir ve kes", "凑四句一切": "Dört cümleyi bir araya getirip kes", diff --git a/tools/i18n/locale/zh_CN.json b/tools/i18n/locale/zh_CN.json index ddc2eda..9017f4b 100644 --- a/tools/i18n/locale/zh_CN.json +++ b/tools/i18n/locale/zh_CN.json @@ -51,7 +51,7 @@ "UVR5已开启": "UVR5已开启", "UVR5进程输出信息": "UVR5进程输出信息", "alpha_mix:混多少比例归一化后音频进来": "alpha_mix:混多少比例归一化后音频进来", - "gpt采样参数(无参考文本时不要太低。不懂就用默认):": "gpt采样参数(无参考文本时不要太低。不懂就用默认):", + "GPT采样参数(无参考文本时不要太低。不懂就用默认):": "GPT采样参数(无参考文本时不要太低。不懂就用默认):", "hop_size:怎么算音量曲线,越小精度越大计算量越高(不是精度越大效果越好)": "hop_size:怎么算音量曲线,越小精度越大计算量越高(不是精度越大效果越好)", "max:归一化后最大值多少": "max:归一化后最大值多少", "max_sil_kept:切完后静音最多留多长": "max_sil_kept:切完后静音最多留多长", @@ -70,7 +70,7 @@ "人声伴奏分离批量处理, 使用UVR5模型。": "人声伴奏分离批量处理, 使用UVR5模型。", "人声提取激进程度": "人声提取激进程度", "伴奏人声分离&去混响&去回声": "伴奏人声分离&去混响&去回声", - "使用无参考文本模式时建议使用微调的GPT,听不清参考音频说的啥(不晓得写啥)可以开,开启后无视填写的参考文本。": "使用无参考文本模式时建议使用微调的GPT,听不清参考音频说的啥(不晓得写啥)可以开,开启后无视填写的参考文本。", + "使用无参考文本模式时建议使用微调的GPT,听不清参考音频说的啥(不晓得写啥)可以开。
开启后无视填写的参考文本。": "使用无参考文本模式时建议使用微调的GPT,听不清参考音频说的啥(不晓得写啥)可以开。
开启后无视填写的参考文本。", "保存频率save_every_epoch": "保存频率save_every_epoch", "凑50字一切": "凑50字一切", "凑四句一切": "凑四句一切", diff --git a/tools/i18n/locale/zh_HK.json b/tools/i18n/locale/zh_HK.json index 253243e..118642b 100644 --- a/tools/i18n/locale/zh_HK.json +++ b/tools/i18n/locale/zh_HK.json @@ -51,7 +51,7 @@ "UVR5已开启": "UVR5已開啟", "UVR5进程输出信息": "UVR5進程輸出信息", "alpha_mix:混多少比例归一化后音频进来": "alpha_mix:混多少比例歸一化後音頻進來", - "gpt采样参数(无参考文本时不要太低。不懂就用默认):": "GPT 采样参数(无参考文本时不要太低。不懂就用默认):", + "GPT采样参数(无参考文本时不要太低。不懂就用默认):": "GPT 采样参数(无参考文本时不要太低。不懂就用默认):", "hop_size:怎么算音量曲线,越小精度越大计算量越高(不是精度越大效果越好)": "hop_size:怎麼算音量曲線,越小精度越大計算量越高(不是精度越大效果越好)", "max:归一化后最大值多少": "max:歸一化後最大值多少", "max_sil_kept:切完后静音最多留多长": "max_sil_kept:切完後靜音最多留多長", @@ -70,7 +70,7 @@ "人声伴奏分离批量处理, 使用UVR5模型。": "人聲伴奏分離批量處理, 使用UVR5模型。", "人声提取激进程度": "人聲提取激進程度", "伴奏人声分离&去混响&去回声": "伴奏人聲分離&去混響&去回聲", - "使用无参考文本模式时建议使用微调的GPT,听不清参考音频说的啥(不晓得写啥)可以开,开启后无视填写的参考文本。": "使用無參考文本模式時建議使用微調的GPT,聽不清參考音頻說的是啥(不知道寫啥)可以開啟,開啟後無視填寫的參考文本。", + "使用无参考文本模式时建议使用微调的GPT,听不清参考音频说的啥(不晓得写啥)可以开。
开启后无视填写的参考文本。": "使用無參考文本模式時建議使用微調的GPT,聽不清參考音頻說的是啥(不知道寫啥)可以開啟,開啟後無視填寫的參考文本。", "保存频率save_every_epoch": "保存頻率save_every_epoch", "凑50字一切": "湊50字一切", "凑四句一切": "湊四句一切", diff --git a/tools/i18n/locale/zh_SG.json b/tools/i18n/locale/zh_SG.json index 5c90a36..e813fe0 100644 --- a/tools/i18n/locale/zh_SG.json +++ b/tools/i18n/locale/zh_SG.json @@ -51,7 +51,7 @@ "UVR5已开启": "UVR5已開啟", "UVR5进程输出信息": "UVR5進程輸出資訊", "alpha_mix:混多少比例归一化后音频进来": "alpha_mix:混多少比例歸一化後音頻進來", - "gpt采样参数(无参考文本时不要太低。不懂就用默认):": "GPT 采样参数(无参考文本时不要太低。不懂就用默认):", + "GPT采样参数(无参考文本时不要太低。不懂就用默认):": "GPT 采样参数(无参考文本时不要太低。不懂就用默认):", "hop_size:怎么算音量曲线,越小精度越大计算量越高(不是精度越大效果越好)": "hop_size:怎麼算音量曲線,越小精度越大計算量越高(不是精度越大效果越好)", "max:归一化后最大值多少": "max:歸一化後最大值多少", "max_sil_kept:切完后静音最多留多长": "max_sil_kept:切完後靜音最多留多長", @@ -70,7 +70,7 @@ "人声伴奏分离批量处理, 使用UVR5模型。": "人聲伴奏分離批量處理, 使用UVR5模型。", "人声提取激进程度": "人聲提取激進程度", "伴奏人声分离&去混响&去回声": "伴奏人聲分離&去混響&去回聲", - "使用无参考文本模式时建议使用微调的GPT,听不清参考音频说的啥(不晓得写啥)可以开,开启后无视填写的参考文本。": "使用無參考文本模式時建議使用微調的GPT,聽不清參考音頻說的啥(不曉得寫啥)可以開,開啟後無視填寫的參考文本。", + "使用无参考文本模式时建议使用微调的GPT,听不清参考音频说的啥(不晓得写啥)可以开。
开启后无视填写的参考文本。": "使用無參考文本模式時建議使用微調的GPT,聽不清參考音頻說的啥(不曉得寫啥)可以開,開啟後無視填寫的參考文本。", "保存频率save_every_epoch": "保存頻率save_every_epoch", "凑50字一切": "湊50字一切", "凑四句一切": "湊四句一切", diff --git a/tools/i18n/locale/zh_TW.json b/tools/i18n/locale/zh_TW.json index d9191e5..3323a2d 100644 --- a/tools/i18n/locale/zh_TW.json +++ b/tools/i18n/locale/zh_TW.json @@ -51,7 +51,7 @@ "UVR5已开启": "UVR5已開啟", "UVR5进程输出信息": "UVR5進程輸出資訊", "alpha_mix:混多少比例归一化后音频进来": "alpha_mix:混多少比例歸一化後音頻進來", - "gpt采样参数(无参考文本时不要太低。不懂就用默认):": "GPT 采样参数(无参考文本时不要太低。不懂就用默认):", + "GPT采样参数(无参考文本时不要太低。不懂就用默认):": "GPT 采样参数(无参考文本时不要太低。不懂就用默认):", "hop_size:怎么算音量曲线,越小精度越大计算量越高(不是精度越大效果越好)": "hop_size:怎麼算音量曲線,越小精度越大計算量越高(不是精度越大效果越好)", "max:归一化后最大值多少": "max:歸一化後最大值多少", "max_sil_kept:切完后静音最多留多长": "max_sil_kept:切完後靜音最多留多長", @@ -70,7 +70,7 @@ "人声伴奏分离批量处理, 使用UVR5模型。": "人聲伴奏分離批量處理, 使用UVR5模型。", "人声提取激进程度": "人聲提取激進程度", "伴奏人声分离&去混响&去回声": "伴奏人聲分離&去混響&去回聲", - "使用无参考文本模式时建议使用微调的GPT,听不清参考音频说的啥(不晓得写啥)可以开,开启后无视填写的参考文本。": "使用無參考文本模式時建議使用微調的GPT,聽不清參考音頻說的啥(不曉得寫啥)可以開,開啟後無視填寫的參考文本。", + "使用无参考文本模式时建议使用微调的GPT,听不清参考音频说的啥(不晓得写啥)可以开。
开启后无视填写的参考文本。": "使用無參考文本模式時建議使用微調的GPT,聽不清參考音頻說的啥(不曉得寫啥)可以開,開啟後無視填寫的參考文本。", "保存频率save_every_epoch": "保存頻率save_every_epoch", "凑50字一切": "湊50字一切", "凑四句一切": "湊四句一切", diff --git a/webui.py b/webui.py index 741b0cb..e962bec 100644 --- a/webui.py +++ b/webui.py @@ -1,6 +1,8 @@ import os,shutil,sys,pdb,re -version="v2"if sys.argv[-1]=="v2" else"v1" +version="v2"if sys.argv[0]=="v2" else"v1" +language=sys.argv[-1] if sys.argv[-1]!='v2' and sys.argv[-1]!='v1' else 'auto' os.environ["version"]=version +os.environ["language"]=language now_dir = os.getcwd() sys.path.insert(0, now_dir) import json,yaml,warnings,torch @@ -52,7 +54,10 @@ from subprocess import Popen import signal from config import python_exec,infer_device,is_half,exp_root,webui_port_main,webui_port_infer_tts,webui_port_uvr5,webui_port_subfix,is_share from tools.i18n.i18n import I18nAuto -i18n = I18nAuto() +if language != 'auto': + i18n = I18nAuto(language=language) +else: + i18n = I18nAuto() from scipy.io import wavfile from tools.my_utils import load_audio from multiprocessing import cpu_count