style(webui): 训练样本下拉整合进参考信息板块(参考音频的文本上方)

将操作的入口和输出结果聚合在同一区域:
- 删除独立的「训练样本选择」板块
- 「训练样本音频」下拉移入「*请上传并填写参考信息」板块顶部
  (位于参考音频/参考文本上方), 入口与输出结果聚合

新结构:
  模型切换: [模型名|刷新] / [GPT|SoVITS|刷新路径]
  *请上传并填写参考信息:
    [训练样本音频(满宽, 选中即自动引用)]   <- 入口
    [参考音频 | 参考音频的文本+情绪/括注]   <- 输出

板块从3个精简为2个(组件58), 事件绑定不变。
端到端验证: 选模型->样本+权重; 切样本->参考音频+文本+情绪自动填入。
This commit is contained in:
XucroYuri 2026-07-07 13:16:53 +08:00
parent 1c5849fd96
commit 757994c4ba

View File

@ -1473,17 +1473,15 @@ with gr.Blocks(title="GPT-SoVITS WebUI", analytics_enabled=False, js=js, css=css
)
refresh_button = gr.Button(i18n("刷新模型路径"), variant="primary", scale=14)
refresh_button.click(fn=change_choices, inputs=[], outputs=[SoVITS_dropdown, GPT_dropdown])
# ===== 训练样本选择(选中即自动引用为参考音频) =====
with gr.Group():
gr.Markdown(html_center(i18n("训练样本选择"), "h3"))
gr.Markdown(html_center(i18n("*请上传并填写参考信息"), "h3"))
# 训练样本下拉: 入口与输出聚合 — 选中即自动引用为参考音频+文本+情绪
ref_sample_dropdown = gr.Dropdown(
label=i18n("训练样本音频(选中即自动引用为参考音频)"),
choices=[],
value="",
interactive=True,
)
with gr.Group():
gr.Markdown(html_center(i18n("*请上传并填写参考信息"), "h3"))
with gr.Row():
inp_ref = gr.Audio(label=i18n("请上传参考音频推荐3~10秒"), type="filepath", scale=13)
with gr.Column(scale=13):