From 63869183f826c2109071fa81df9adf818942f296 Mon Sep 17 00:00:00 2001 From: Wenliang Zhao Date: Tue, 27 Feb 2024 13:31:15 +0800 Subject: [PATCH] automatically update example text for different languages --- melo/app.py | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/melo/app.py b/melo/app.py index 2fe949b..6911978 100644 --- a/melo/app.py +++ b/melo/app.py @@ -18,6 +18,18 @@ models = { 'KR': TTS(language='KR', device=device), } speaker_ids = models['EN'].hps.data.spk2id + +default_text_dict = { + 'EN': 'The field of text-to-speech has seen rapid development recently.', + 'ES': 'El campo de la conversión de texto a voz ha experimentado un rápido desarrollo recientemente.', + 'FR': 'Le domaine de la synthèse vocale a connu un développement rapide récemment', + 'ZH': 'text-to-speech 领域近年来发展迅速', + 'JP': 'テキスト読み上げの分野は最近急速な発展を遂げています', + 'KR': '최근 텍스트 음성 변환 분야가 급속도로 발전하고 있습니다.', +} +def update_default_text_fn(language): + return default_text_dict[language] + def synthesize(speaker, text, speed, language, progress=gr.Progress()): bio = io.BytesIO() models[language].tts_to_file(text, models[language].hps.data.spk2id[speaker], bio, speed=speed, pbar=progress.tqdm, format='wav') @@ -31,7 +43,8 @@ with gr.Blocks() as demo: language = gr.Radio(['EN', 'ES', 'FR', 'ZH', 'JP', 'KR'], label='Language', value='EN') language.input(load_speakers, inputs=language, outputs=speaker) speed = gr.Slider(label='Speed', minimum=0.1, maximum=10.0, value=1.0, interactive=True, step=0.1) - text = gr.Textbox(label="Text to speak", value='The field of text to speech has seen rapid development recently') + text = gr.Textbox(label="Text to speak", value=default_text_dict['EN']) + language.change(update_default_text_fn, [language], [text]) btn = gr.Button('Synthesize', variant='primary') aud = gr.Audio(interactive=False) btn.click(synthesize, inputs=[speaker, text, speed, language], outputs=[aud]) @@ -44,4 +57,4 @@ def main(share, host, port): demo.queue(api_open=False, default_concurrency_limit=10).launch(show_api=False, share=share, server_name=host, server_port=port) if __name__ == "__main__": - main() \ No newline at end of file + main()