pkcxac / app.py
seawolf2357's picture
Upload app.py with huggingface_hub
d0b5343 verified
```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()
```