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)