| | import gradio as gr |
| |
|
| | from modules.webui import webui_config |
| | from modules.webui.webui_utils import synthesize_ssml |
| |
|
| |
|
| | def create_ssml_interface(): |
| | with gr.Row(): |
| | with gr.Column(scale=1): |
| | with gr.Group(): |
| | gr.Markdown("🎛️Parameters") |
| | |
| | batch_size_input = gr.Slider( |
| | label="Batch Size", |
| | value=4, |
| | minimum=1, |
| | maximum=webui_config.max_batch_size, |
| | step=1, |
| | ) |
| | with gr.Group(): |
| | gr.Markdown("🎛️Spliter") |
| | eos_input = gr.Textbox( |
| | label="eos", |
| | value="[uv_break]", |
| | ) |
| | spliter_thr_input = gr.Slider( |
| | label="Spliter Threshold", |
| | value=100, |
| | minimum=50, |
| | maximum=1000, |
| | step=1, |
| | ) |
| |
|
| | with gr.Group(): |
| | gr.Markdown("🎛️Adjuster") |
| | |
| | |
| |
|
| | speed_input = gr.Slider( |
| | label="Speed", |
| | value=1.0, |
| | minimum=0.5, |
| | maximum=2.0, |
| | step=0.1, |
| | ) |
| | pitch_input = gr.Slider( |
| | label="Pitch", |
| | value=0, |
| | minimum=-12, |
| | maximum=12, |
| | step=0.1, |
| | ) |
| | volume_up_input = gr.Slider( |
| | label="Volume Gain", |
| | value=0, |
| | minimum=-12, |
| | maximum=12, |
| | step=0.1, |
| | ) |
| |
|
| | enable_loudness_normalization = gr.Checkbox( |
| | value=True, |
| | label="Enable Loudness EQ", |
| | ) |
| | headroom_input = gr.Slider( |
| | label="Headroom", |
| | value=1, |
| | minimum=0, |
| | maximum=12, |
| | step=0.1, |
| | ) |
| |
|
| | with gr.Group(): |
| | gr.Markdown("💪🏼Enhance") |
| | enable_enhance = gr.Checkbox(value=True, label="Enable Enhance") |
| | enable_de_noise = gr.Checkbox(value=False, label="Enable De-noise") |
| |
|
| | with gr.Column(scale=3): |
| | with gr.Group(): |
| | gr.Markdown("📝SSML Input") |
| | gr.Markdown("SSML_TEXT_GUIDE") |
| | ssml_input = gr.Textbox( |
| | label="SSML Input", |
| | lines=10, |
| | value=webui_config.localization.DEFAULT_SSML_TEXT, |
| | placeholder="输入 SSML 或选择示例", |
| | elem_id="ssml_input", |
| | show_label=False, |
| | ) |
| | ssml_button = gr.Button("🔊Synthesize SSML", variant="primary") |
| |
|
| | with gr.Group(): |
| | gr.Markdown("🎄Examples") |
| | gr.Examples( |
| | examples=webui_config.localization.ssml_examples, |
| | inputs=[ssml_input], |
| | ) |
| |
|
| | with gr.Group(): |
| | gr.Markdown("🎨Output") |
| | ssml_output = gr.Audio(label="Generated Audio", format="mp3") |
| |
|
| | ssml_button.click( |
| | synthesize_ssml, |
| | inputs=[ |
| | ssml_input, |
| | batch_size_input, |
| | enable_enhance, |
| | enable_de_noise, |
| | eos_input, |
| | spliter_thr_input, |
| | pitch_input, |
| | speed_input, |
| | volume_up_input, |
| | enable_loudness_normalization, |
| | headroom_input, |
| | ], |
| | outputs=ssml_output, |
| | ) |
| |
|
| | return ssml_input |
| |
|