| |
|
|
| import gradio as gr |
| from gtts import gTTS |
|
|
| def text_to_speech(text, language): |
| language_map = { |
| "π°π· Korean": "ko", |
| "πΊπΈ English (AmE)": ("en", "us"), |
| "π¬π§ English (BrE)": ("en", "co.uk"), |
| "π«π· French": "fr", |
| "πͺπΈ Spanish": ("es", "es"), |
| "π¨π³ Chinese": "zh-CN" |
| } |
|
|
| if isinstance(language_map[language], tuple): |
| lang, tld = language_map[language] |
| tts = gTTS(text=text, lang=lang, tld=tld) |
| else: |
| lang = language_map[language] |
| tts = gTTS(text=text, lang=lang) |
|
|
| tts.save("output.mp3") |
| return "output.mp3" |
|
|
| |
| iface = gr.Interface( |
| fn=text_to_speech, |
| inputs=[ |
| gr.Textbox(lines=2, placeholder="Enter text here..."), |
| gr.Radio(["π°π· Korean", "πΊπΈ English (AmE)", "π¬π§ English (BrE)", "π«π· French", "πͺπΈ Spanish", "π¨π³ Chinese"], label="Language") |
| ], |
| outputs=gr.Audio(type="filepath"), |
| title="Text to Speech Application (Multi-languages)", |
| description="Enter text and choose a language to generate the corresponding audio." |
| ) |
|
|
| |
| iface.launch(debug=True) |
|
|