multitts / app 언어선택형
englissi's picture
Rename app.py to app 언어선택형
42859d3 verified
raw
history blame
1.43 kB
import gradio as gr
from gtts import gTTS
# Step 1: Define a function to convert text to speech in multiple languages
def multilingual_tts(prompt, language):
# Map user-friendly language names to gTTS language codes
lang_code = {
"Korean": "ko",
"English": "en",
"Russian": "ru",
"Bulgarian": "bg"
}
if language not in lang_code:
return "Unsupported language", None
# Convert the input text to speech
tts = gTTS(prompt, lang=lang_code[language])
audio_file = f"output_{lang_code[language]}.mp3"
tts.save(audio_file)
return f"Text read in {language}", audio_file
# Step 2: Create Gradio interface
with gr.Blocks() as demo:
gr.Markdown("## Multilingual Text-to-Speech (TTS)")
with gr.Row():
input_prompt = gr.Textbox(label="Enter your text:")
language_selector = gr.Dropdown(
choices=["Korean", "English", "Russian", "Bulgarian"],
label="Select Language",
value="English"
)
output_text = gr.Textbox(label="Status")
output_audio = gr.Audio(label="Generated Speech", type="filepath")
generate_button = gr.Button("Generate Speech")
generate_button.click(
multilingual_tts,
inputs=[input_prompt, language_selector],
outputs=[output_text, output_audio]
)
# Run the app
if __name__ == "__main__":
demo.launch()