```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() ```