|
|
|
|
|
import gradio as gr |
|
from gtts import gTTS |
|
|
|
def text_to_speech(text, language): |
|
language_map = { |
|
"π°π· Korean": "ko", |
|
"πΊπΈ English (AmE)": ("en", "us"), |
|
"π¬π§ English (BrE)": ("en", "co.uk"), |
|
"π«π· French": "fr", |
|
"πͺπΈ Spanish": ("es", "es"), |
|
"π¨π³ Chinese": "zh-CN" |
|
} |
|
|
|
if isinstance(language_map[language], tuple): |
|
lang, tld = language_map[language] |
|
tts = gTTS(text=text, lang=lang, tld=tld) |
|
else: |
|
lang = language_map[language] |
|
tts = gTTS(text=text, lang=lang) |
|
|
|
tts.save("output.mp3") |
|
return "output.mp3" |
|
|
|
|
|
iface = gr.Interface( |
|
fn=text_to_speech, |
|
inputs=[ |
|
gr.Textbox(lines=2, placeholder="Enter text here..."), |
|
gr.Radio(["π°π· Korean", "πΊπΈ English (AmE)", "π¬π§ English (BrE)", "π«π· French", "πͺπΈ Spanish", "π¨π³ Chinese"], label="Language") |
|
], |
|
outputs=gr.Audio(type="filepath"), |
|
title="Text to Speech Application (Multi-languages)", |
|
description="Enter text and choose a language to generate the corresponding audio." |
|
) |
|
|
|
|
|
iface.launch(debug=True) |
|
|