import gradio as gr from gtts import gTTS def gradio_generate_audio(text, lang): tts = gTTS(text=text, lang=lang) filename = 'temp_audio.mp3' tts.save(filename) return filename # Define the language options lang_options = [ "Korean (ko)", "English (en, us)", "Spanish (es)", "French (fr)", "Chinese (zh-CN)", "Japanese (ja)" ] # Mapping function to convert language selection to language code def map_lang_selection_to_code(selection): lang_code_mapping = { "Korean (ko)": "ko", "English (en, us)": "en", "Spanish (es)": "es", "French (fr)": "fr", "Chinese (zh-CN)": "zh-CN", "Japanese (ja)": "ja" } return lang_code_mapping[selection] # Create Gradio interface iface = gr.Interface( fn=lambda text, lang: gradio_generate_audio(text, map_lang_selection_to_code(lang)), inputs=[ gr.Textbox(lines=2, placeholder="Enter Text Here..."), gr.Radio(choices=lang_options, label="Language") ], outputs=gr.Audio(label="Generated Audio"), title="Text-to-Speech Converter", description="Select a language and enter text to generate speech." ) iface.launch()