| import gradio as gr |
| from gtts import gTTS |
| import uuid |
|
|
| def text_to_speech(text, lang, speed): |
| slow = True if speed == "Slow" else False |
| filename = f"{uuid.uuid4()}.mp3" |
| tts = gTTS(text, lang=lang, slow=slow) |
| tts.save(filename) |
| return filename |
|
|
| demo = gr.Interface( |
| fn=text_to_speech, |
| inputs=[ |
| gr.Textbox(label="Enter Text"), |
| gr.Dropdown( |
| label="Language", |
| choices=[ |
| ("English", "en"), |
| ("Spanish", "es"), |
| ("French", "fr"), |
| ("German", "de"), |
| ("Italian", "it"), |
| ("Japanese", "ja"), |
| ("Korean", "ko"), |
| ("Russian", "ru"), |
| ("Chinese (Simplified)", "zh-CN"), |
| ("Portuguese", "pt"), |
| ("Hindi", "hi"), |
| ("Arabic", "ar"), |
| ("Bengali", "bn"), |
| ("Dutch", "nl"), |
| ("Greek", "el"), |
| ("Hungarian", "hu"), |
| ("Indonesian", "id"), |
| ("Polish", "pl"), |
| ("Swedish", "sv"), |
| ("Thai", "th"), |
| ("Turkish", "tr"), |
| ("Vietnamese", "vi") |
| ], |
| value="en" |
| ), |
| gr.Dropdown( |
| label="Speed", |
| choices=["Normal", "Slow"], |
| value="Normal" |
| ) |
| ], |
| outputs=gr.Audio(label="Generated Speech", type="filepath"), |
| title="Text to Speech Converter", |
| description="Type something and convert it into speech using gTTS with language and speed selection.", |
| theme="gradio/space" |
| ) |
|
|
| demo.launch(share=True) |
|
|