Spaces:
Runtime error
Runtime error
feat: upload
Browse files
GPT_SoVITS/inference_webui.py
CHANGED
@@ -811,7 +811,6 @@ def get_tts_wav(
|
|
811 |
sample_steps=8,
|
812 |
if_sr=False,
|
813 |
pause_second=0.3,
|
814 |
-
uploadParams=None
|
815 |
):
|
816 |
global cache
|
817 |
if ref_wav_path:
|
@@ -1056,12 +1055,63 @@ def get_tts_wav(
|
|
1056 |
audio_opt /= max_audio
|
1057 |
else:
|
1058 |
audio_opt = audio_opt.cpu().detach().numpy()
|
1059 |
-
|
1060 |
-
|
1061 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1062 |
|
1063 |
|
1064 |
def uploadAudio(opt_sr, audio_int16, uploadParams):
|
|
|
|
|
1065 |
bio = io.BytesIO()
|
1066 |
write(bio, opt_sr, audio_int16)
|
1067 |
files = {
|
@@ -1237,8 +1287,10 @@ with gr.Blocks(title="GPT-SoVITS WebUI", analytics_enabled=False, js=js, css=css
|
|
1237 |
with gr.Column():
|
1238 |
inp_ref = gr.Audio(label=i18n(
|
1239 |
"请上传3~10秒内参考音频,超过会报错!"), type="filepath", scale=13)
|
1240 |
-
uploadParams = gr.Textbox(label=i18n("
|
1241 |
-
value="", lines=
|
|
|
|
|
1242 |
with gr.Column(scale=13):
|
1243 |
ref_text_free = gr.Checkbox(
|
1244 |
label=i18n("开启无参考文本模式。不填参考文本亦相当于开启。")
|
@@ -1388,7 +1440,8 @@ with gr.Blocks(title="GPT-SoVITS WebUI", analytics_enabled=False, js=js, css=css
|
|
1388 |
sample_steps,
|
1389 |
if_sr_Checkbox,
|
1390 |
pause_second_slider,
|
1391 |
-
uploadParams
|
|
|
1392 |
],
|
1393 |
[output],
|
1394 |
)
|
|
|
811 |
sample_steps=8,
|
812 |
if_sr=False,
|
813 |
pause_second=0.3,
|
|
|
814 |
):
|
815 |
global cache
|
816 |
if ref_wav_path:
|
|
|
1055 |
audio_opt /= max_audio
|
1056 |
else:
|
1057 |
audio_opt = audio_opt.cpu().detach().numpy()
|
1058 |
+
yield opt_sr, (audio_opt * 32767).astype(np.int16)
|
1059 |
+
|
1060 |
+
|
1061 |
+
def run(
|
1062 |
+
ref_wav_path,
|
1063 |
+
prompt_text,
|
1064 |
+
prompt_language,
|
1065 |
+
text,
|
1066 |
+
text_language,
|
1067 |
+
how_to_cut=i18n("不切"),
|
1068 |
+
top_k=20,
|
1069 |
+
top_p=0.6,
|
1070 |
+
temperature=0.6,
|
1071 |
+
ref_free=False,
|
1072 |
+
speed=1,
|
1073 |
+
if_freeze=False,
|
1074 |
+
inp_refs=None,
|
1075 |
+
sample_steps=8,
|
1076 |
+
if_sr=False,
|
1077 |
+
pause_second=0.3,
|
1078 |
+
uploadParams=None,
|
1079 |
+
errCallbackUrl=None
|
1080 |
+
):
|
1081 |
+
try:
|
1082 |
+
result = get_tts_wav(
|
1083 |
+
ref_wav_path,
|
1084 |
+
prompt_text,
|
1085 |
+
prompt_language,
|
1086 |
+
text,
|
1087 |
+
text_language,
|
1088 |
+
how_to_cut,
|
1089 |
+
top_k,
|
1090 |
+
top_p,
|
1091 |
+
temperature,
|
1092 |
+
ref_free,
|
1093 |
+
speed,
|
1094 |
+
if_freeze,
|
1095 |
+
inp_refs,
|
1096 |
+
sample_steps,
|
1097 |
+
if_sr,
|
1098 |
+
pause_second,
|
1099 |
+
)
|
1100 |
+
opt_sr, audio_data = next(result)
|
1101 |
+
uploadAudio(opt_sr, audio_data, uploadParams)
|
1102 |
+
return result
|
1103 |
+
except Exception as e:
|
1104 |
+
errCallback(errCallbackUrl, e)
|
1105 |
+
yield 0, None
|
1106 |
+
|
1107 |
+
|
1108 |
+
def errCallback(errCallbackUrl, e):
|
1109 |
+
requests.post(errCallbackUrl, data={"error": str(e)})
|
1110 |
|
1111 |
|
1112 |
def uploadAudio(opt_sr, audio_int16, uploadParams):
|
1113 |
+
if not uploadParams:
|
1114 |
+
return
|
1115 |
bio = io.BytesIO()
|
1116 |
write(bio, opt_sr, audio_int16)
|
1117 |
files = {
|
|
|
1287 |
with gr.Column():
|
1288 |
inp_ref = gr.Audio(label=i18n(
|
1289 |
"请上传3~10秒内参考音频,超过会报错!"), type="filepath", scale=13)
|
1290 |
+
uploadParams = gr.Textbox(label=i18n("成功结果上传参数"),
|
1291 |
+
value="", lines=1, max_lines=1)
|
1292 |
+
errCallbackUrl = gr.Textbox(label=i18n("失败回调地址"),
|
1293 |
+
value="", lines=1, max_lines=1)
|
1294 |
with gr.Column(scale=13):
|
1295 |
ref_text_free = gr.Checkbox(
|
1296 |
label=i18n("开启无参考文本模式。不填参考文本亦相当于开启。")
|
|
|
1440 |
sample_steps,
|
1441 |
if_sr_Checkbox,
|
1442 |
pause_second_slider,
|
1443 |
+
uploadParams,
|
1444 |
+
errCallbackUrl
|
1445 |
],
|
1446 |
[output],
|
1447 |
)
|