Spaces:
Runtime error
Runtime error
```python | |
import gradio as gr | |
import os | |
from gtts import gTTS | |
import tempfile | |
def text_to_speech(text, lang): | |
with tempfile.NamedTemporaryFile(delete=False, suffix=".mp3") as fp: | |
tts = gTTS(text=text, lang=lang) | |
tts.save(fp.name) | |
return fp.name | |
supported_languages = { | |
"English": "en", | |
"Korean": "ko", | |
"Japanese": "ja", | |
"Chinese": "zh-cn", | |
"Spanish": "es", | |
"French": "fr", | |
"German": "de" | |
} | |
with gr.Blocks(theme=gr.themes.Soft()) as demo: | |
with gr.Row(): | |
with gr.Column(): | |
text_input = gr.Textbox( | |
label="Input Text", | |
placeholder="Enter text to convert to speech...", | |
lines=5 | |
) | |
lang_dropdown = gr.Dropdown( | |
choices=list(supported_languages.keys()), | |
value="English", | |
label="Select Language" | |
) | |
btn = gr.Button("Convert to Speech") | |
with gr.Column(): | |
audio_output = gr.Audio(label="Generated Speech") | |
btn.click( | |
fn=lambda text, lang: text_to_speech(text, supported_languages[lang]), | |
inputs=[text_input, lang_dropdown], | |
outputs=audio_output | |
) | |
if __name__ == "__main__": | |
demo.launch() | |
``` |