import gradio as gr from modules.webui.webui_utils import ( synthesize_ssml, ) from modules.webui import webui_config from modules.webui.examples import ssml_examples, default_ssml def create_ssml_interface(): with gr.Row(): with gr.Column(scale=3): with gr.Group(): gr.Markdown("📝SSML Input") gr.Markdown(f"- 最长{webui_config.ssml_max:,}字符,超过会被截断") gr.Markdown("- 尽量保证使用相同的 seed") gr.Markdown( "- 关于SSML可以看这个 [文档](https://github.com/lenML/ChatTTS-Forge/blob/main/docs/SSML.md)" ) ssml_input = gr.Textbox( label="SSML Input", lines=10, value=default_ssml, placeholder="输入 SSML 或选择示例", elem_id="ssml_input", show_label=False, ) ssml_button = gr.Button("🔊Synthesize SSML", variant="primary") with gr.Column(scale=1): with gr.Group(): # 参数 gr.Markdown("🎛️Parameters") # batch size 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("🎄Examples") gr.Examples( examples=ssml_examples, inputs=[ssml_input], ) ssml_output = gr.Audio(label="Generated Audio", format="mp3") ssml_button.click( synthesize_ssml, inputs=[ssml_input, batch_size_input], outputs=ssml_output, ) return ssml_input