Spaces:
Runtime error
Runtime error
Update app.py
Browse files
app.py
CHANGED
@@ -1113,64 +1113,6 @@ with gr.Blocks(title="RVC WebUI") as app:
|
|
1113 |
outputs=[spk_item, protect0, protect1, file_index2, file_index4],
|
1114 |
api_name="infer_change_voice",
|
1115 |
)
|
1116 |
-
with gr.TabItem(i18n("伴奏人声分离&去混响&去回声")):
|
1117 |
-
with gr.Group():
|
1118 |
-
gr.Markdown(
|
1119 |
-
value=i18n(
|
1120 |
-
"人声伴奏分离批量处理, 使用UVR5模型。 <br>合格的文件夹路径格式举例: E:\\codes\\py39\\vits_vc_gpu\\白鹭霜华测试样例(去文件管理器地址栏拷就行了)。 <br>模型分为三类: <br>1、保留人声:不带和声的音频选这个,对主人声保留比HP5更好。内置HP2和HP3两个模型,HP3可能轻微漏伴奏但对主人声保留比HP2稍微好一丁点; <br>2、仅保留主人声:带和声的音频选这个,对主人声可能有削弱。内置HP5一个模型; <br> 3、去混响、去延迟模型(by FoxJoy):<br> (1)MDX-Net(onnx_dereverb):对于双通道混响是最好的选择,不能去除单通道混响;<br> (234)DeEcho:去除延迟效果。Aggressive比Normal去除得更彻底,DeReverb额外去除混响,可去除单声道混响,但是对高频重的板式混响去不干净。<br>去混响/去延迟,附:<br>1、DeEcho-DeReverb模型的耗时是另外2个DeEcho模型的接近2倍;<br>2、MDX-Net-Dereverb模型挺慢的;<br>3、个人推荐的最干净的配置是先MDX-Net再DeEcho-Aggressive。"
|
1121 |
-
)
|
1122 |
-
)
|
1123 |
-
with gr.Row():
|
1124 |
-
with gr.Column():
|
1125 |
-
dir_wav_input = gr.Textbox(
|
1126 |
-
label=i18n("输入待处理音频文件夹路径"),
|
1127 |
-
placeholder="C:\\Users\\Desktop\\todo-songs",
|
1128 |
-
)
|
1129 |
-
wav_inputs = gr.File(
|
1130 |
-
file_count="multiple",
|
1131 |
-
label=i18n("也可批量输入音频文件, 二选一, 优先读文件夹"),
|
1132 |
-
)
|
1133 |
-
with gr.Column():
|
1134 |
-
model_choose = gr.Dropdown(
|
1135 |
-
label=i18n("模型"), choices=uvr5_names
|
1136 |
-
)
|
1137 |
-
agg = gr.Slider(
|
1138 |
-
minimum=0,
|
1139 |
-
maximum=20,
|
1140 |
-
step=1,
|
1141 |
-
label="人声提取激进程度",
|
1142 |
-
value=10,
|
1143 |
-
interactive=True,
|
1144 |
-
visible=False, # 先不开放调整
|
1145 |
-
)
|
1146 |
-
opt_vocal_root = gr.Textbox(
|
1147 |
-
label=i18n("指定输出主人声文件夹"), value="opt"
|
1148 |
-
)
|
1149 |
-
opt_ins_root = gr.Textbox(
|
1150 |
-
label=i18n("指定输出非主人声文件夹"), value="opt"
|
1151 |
-
)
|
1152 |
-
format0 = gr.Radio(
|
1153 |
-
label=i18n("导出文件格式"),
|
1154 |
-
choices=["wav", "flac", "mp3", "m4a"],
|
1155 |
-
value="flac",
|
1156 |
-
interactive=True,
|
1157 |
-
)
|
1158 |
-
but2 = gr.Button(i18n("转换"), variant="primary")
|
1159 |
-
vc_output4 = gr.Textbox(label=i18n("输出信息"))
|
1160 |
-
but2.click(
|
1161 |
-
uvr,
|
1162 |
-
[
|
1163 |
-
model_choose,
|
1164 |
-
dir_wav_input,
|
1165 |
-
opt_vocal_root,
|
1166 |
-
wav_inputs,
|
1167 |
-
opt_ins_root,
|
1168 |
-
agg,
|
1169 |
-
format0,
|
1170 |
-
],
|
1171 |
-
[vc_output4],
|
1172 |
-
api_name="uvr_convert",
|
1173 |
-
)
|
1174 |
with gr.TabItem(i18n("训练")):
|
1175 |
gr.Markdown(
|
1176 |
value=i18n(
|
@@ -1225,8 +1167,7 @@ with gr.Blocks(title="RVC WebUI") as app:
|
|
1225 |
value=0,
|
1226 |
interactive=True,
|
1227 |
)
|
1228 |
-
|
1229 |
-
info1 = gr.Textbox(label=i18n("输出信息"), value="")
|
1230 |
but1.click(
|
1231 |
preprocess_dataset,
|
1232 |
[trainset_dir4, exp_dir1, sr2, np7],
|
@@ -1269,8 +1210,7 @@ with gr.Blocks(title="RVC WebUI") as app:
|
|
1269 |
interactive=True,
|
1270 |
visible=F0GPUVisible,
|
1271 |
)
|
1272 |
-
|
1273 |
-
info2 = gr.Textbox(label=i18n("输出信息"), value="", max_lines=8)
|
1274 |
f0method8.change(
|
1275 |
fn=change_f0_method,
|
1276 |
inputs=[f0method8],
|
@@ -1372,6 +1312,10 @@ with gr.Blocks(title="RVC WebUI") as app:
|
|
1372 |
value=gpus,
|
1373 |
interactive=True,
|
1374 |
)
|
|
|
|
|
|
|
|
|
1375 |
but3 = gr.Button(i18n("训练模型"), variant="primary")
|
1376 |
but4 = gr.Button(i18n("训练特征索引"), variant="primary")
|
1377 |
but5 = gr.Button(i18n("一键训练"), variant="primary")
|
|
|
1113 |
outputs=[spk_item, protect0, protect1, file_index2, file_index4],
|
1114 |
api_name="infer_change_voice",
|
1115 |
)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1116 |
with gr.TabItem(i18n("训练")):
|
1117 |
gr.Markdown(
|
1118 |
value=i18n(
|
|
|
1167 |
value=0,
|
1168 |
interactive=True,
|
1169 |
)
|
1170 |
+
|
|
|
1171 |
but1.click(
|
1172 |
preprocess_dataset,
|
1173 |
[trainset_dir4, exp_dir1, sr2, np7],
|
|
|
1210 |
interactive=True,
|
1211 |
visible=F0GPUVisible,
|
1212 |
)
|
1213 |
+
|
|
|
1214 |
f0method8.change(
|
1215 |
fn=change_f0_method,
|
1216 |
inputs=[f0method8],
|
|
|
1312 |
value=gpus,
|
1313 |
interactive=True,
|
1314 |
)
|
1315 |
+
but1 = gr.Button(i18n("处理数据"), variant="primary")
|
1316 |
+
info1 = gr.Textbox(label=i18n("输出信息"), value="")
|
1317 |
+
but2 = gr.Button(i18n("特征提取"), variant="primary")
|
1318 |
+
info2 = gr.Textbox(label=i18n("输出信息"), value="", max_lines=8)
|
1319 |
but3 = gr.Button(i18n("训练模型"), variant="primary")
|
1320 |
but4 = gr.Button(i18n("训练特征索引"), variant="primary")
|
1321 |
but5 = gr.Button(i18n("一键训练"), variant="primary")
|