This commit is contained in:
XL 2025-07-03 11:06:56 +08:00
parent e68abb236c
commit 3a86edeff9
2 changed files with 34 additions and 8 deletions

View File

@ -1,11 +1,11 @@
custom: custom:
bert_base_path: GPT_SoVITS/pretrained_models/chinese-roberta-wwm-ext-large bert_base_path: GPT_SoVITS/pretrained_models/chinese-roberta-wwm-ext-large
cnhuhbert_base_path: GPT_SoVITS/pretrained_models/chinese-hubert-base cnhuhbert_base_path: GPT_SoVITS/pretrained_models/chinese-hubert-base
device: cuda device: cpu
is_half: true is_half: false
t2s_weights_path: GPT_SoVITS/pretrained_models/gsv-v2final-pretrained/s1bert25hz-5kh-longer-epoch=12-step=369668.ckpt t2s_weights_path: GPT_weights_v2ProPlus/111-e15.ckpt
version: v2 version: v2Pro
vits_weights_path: GPT_SoVITS/pretrained_models/gsv-v2final-pretrained/s2G2333k.pth vits_weights_path: SoVITS_weights_v2ProPlus/111_e8_s136.pth
v1: v1:
bert_base_path: GPT_SoVITS/pretrained_models/chinese-roberta-wwm-ext-large bert_base_path: GPT_SoVITS/pretrained_models/chinese-roberta-wwm-ext-large
cnhuhbert_base_path: GPT_SoVITS/pretrained_models/chinese-hubert-base cnhuhbert_base_path: GPT_SoVITS/pretrained_models/chinese-hubert-base
@ -22,6 +22,22 @@ v2:
t2s_weights_path: GPT_SoVITS/pretrained_models/gsv-v2final-pretrained/s1bert25hz-5kh-longer-epoch=12-step=369668.ckpt t2s_weights_path: GPT_SoVITS/pretrained_models/gsv-v2final-pretrained/s1bert25hz-5kh-longer-epoch=12-step=369668.ckpt
version: v2 version: v2
vits_weights_path: GPT_SoVITS/pretrained_models/gsv-v2final-pretrained/s2G2333k.pth vits_weights_path: GPT_SoVITS/pretrained_models/gsv-v2final-pretrained/s2G2333k.pth
v2Pro:
bert_base_path: GPT_SoVITS/pretrained_models/chinese-roberta-wwm-ext-large
cnhuhbert_base_path: GPT_SoVITS/pretrained_models/chinese-hubert-base
device: cpu
is_half: false
t2s_weights_path: GPT_SoVITS/pretrained_models/s1v3.ckpt
version: v2Pro
vits_weights_path: GPT_SoVITS/pretrained_models/v2Pro/s2Gv2Pro.pth
v2ProPlus:
bert_base_path: GPT_SoVITS/pretrained_models/chinese-roberta-wwm-ext-large
cnhuhbert_base_path: GPT_SoVITS/pretrained_models/chinese-hubert-base
device: cpu
is_half: false
t2s_weights_path: GPT_SoVITS/pretrained_models/s1v3.ckpt
version: v2ProPlus
vits_weights_path: GPT_SoVITS/pretrained_models/v2Pro/s2Gv2ProPlus.pth
v3: v3:
bert_base_path: GPT_SoVITS/pretrained_models/chinese-roberta-wwm-ext-large bert_base_path: GPT_SoVITS/pretrained_models/chinese-roberta-wwm-ext-large
cnhuhbert_base_path: GPT_SoVITS/pretrained_models/chinese-hubert-base cnhuhbert_base_path: GPT_SoVITS/pretrained_models/chinese-hubert-base

View File

@ -18,6 +18,8 @@ import io
import traceback import traceback
import wave import wave
import torch import torch
import numpy as np
from fastapi.responses import StreamingResponse
now_dir = os.getcwd() now_dir = os.getcwd()
sys.path.append(now_dir) sys.path.append(now_dir)
@ -52,8 +54,6 @@ from TTS_infer_pack.TTS import NO_PROMPT_ERROR, TTS, TTS_Config
from tools.assets import css, js, top_html from tools.assets import css, js, top_html
from tools.i18n.i18n import I18nAuto, scan_language_list from tools.i18n.i18n import I18nAuto, scan_language_list
import numpy as np
from fastapi.responses import StreamingResponse
language = os.environ.get("language", "Auto") language = os.environ.get("language", "Auto")
language = sys.argv[-1] if sys.argv[-1] in scan_language_list() else language language = sys.argv[-1] if sys.argv[-1] in scan_language_list() else language
@ -161,6 +161,7 @@ def inference(
sample_steps, sample_steps,
super_sampling, super_sampling,
): ):
seed = -1 if keep_random else seed seed = -1 if keep_random else seed
actual_seed = seed if seed not in [-1, "", None] else random.randint(0, 2**32 - 1) actual_seed = seed if seed not in [-1, "", None] else random.randint(0, 2**32 - 1)
inputs = { inputs = {
@ -186,13 +187,20 @@ def inference(
"super_sampling": super_sampling, "super_sampling": super_sampling,
} }
logging.info( logging.info(
f"inference_button请求耗时: {inputs}" f"inference_button请求耗时: {inputs}"
) )
try: try:
start_time = time.time()
for item in tts_pipeline.run(inputs): for item in tts_pipeline.run(inputs):
yield item, actual_seed yield item, actual_seed
logging.info(
f"TTS请求耗时: {time.time() - start_time:.3f}s | 文本: {text}"
)
except NO_PROMPT_ERROR: except NO_PROMPT_ERROR:
gr.Warning(i18n("V3不支持无参考文本模式请填写参考文本")) gr.Warning(i18n("V3不支持无参考文本模式请填写参考文本"))
@ -429,6 +437,7 @@ with gr.Blocks(title="GPT-SoVITS WebUI", analytics_enabled=False, js=js, css=css
inference_button = gr.Button(i18n("合成语音"), variant="primary") inference_button = gr.Button(i18n("合成语音"), variant="primary")
stop_infer = gr.Button(i18n("终止合成"), variant="primary") stop_infer = gr.Button(i18n("终止合成"), variant="primary")
inference_button.click( inference_button.click(
inference, inference,
[ [
@ -509,6 +518,7 @@ with gr.Blocks(title="GPT-SoVITS WebUI", analytics_enabled=False, js=js, css=css
cut_text.click(to_cut, [text_inp, _how_to_cut], [text_opt]) cut_text.click(to_cut, [text_inp, _how_to_cut], [text_opt])
gr.Markdown(value=i18n("后续将支持转音素、手工修改音素、语音合成分步执行。")) gr.Markdown(value=i18n("后续将支持转音素、手工修改音素、语音合成分步执行。"))
from fastapi import FastAPI, UploadFile, File, Form from fastapi import FastAPI, UploadFile, File, Form
from fastapi.responses import FileResponse from fastapi.responses import FileResponse
import tempfile import tempfile