Update app.py
Browse files
app.py
CHANGED
@@ -2,27 +2,41 @@ import gradio as gr
|
|
2 |
import edge_tts
|
3 |
import asyncio
|
4 |
|
5 |
-
|
6 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7 |
result = await communicate.save("output.mp3")
|
8 |
return "output.mp3"
|
9 |
|
10 |
-
def tts_sync(text):
|
11 |
loop = asyncio.new_event_loop()
|
12 |
asyncio.set_event_loop(loop)
|
13 |
-
return loop.run_until_complete(tts(text))
|
14 |
|
15 |
with gr.Blocks() as demo:
|
16 |
-
gr.Markdown("## Text-to-Speech with Edge TTS")
|
17 |
|
18 |
with gr.Row():
|
19 |
with gr.Column():
|
20 |
text_input = gr.Textbox(label="Enter Text", placeholder="Type something here...")
|
|
|
21 |
submit_button = gr.Button("Convert to Speech")
|
22 |
|
23 |
with gr.Column():
|
24 |
audio_output = gr.Audio(label="Output Audio")
|
25 |
|
26 |
-
submit_button.click(fn=tts_sync, inputs=text_input, outputs=audio_output)
|
27 |
|
28 |
demo.launch()
|
|
|
2 |
import edge_tts
|
3 |
import asyncio
|
4 |
|
5 |
+
# Dictionary to map language names to their corresponding Edge TTS voices
|
6 |
+
LANGUAGE_VOICES = {
|
7 |
+
"English (US)": "en-US-JennyNeural",
|
8 |
+
"English (UK)": "en-GB-RyanNeural",
|
9 |
+
"Spanish (Spain)": "es-ES-ElviraNeural",
|
10 |
+
"Spanish (Mexico)": "es-MX-DaliaNeural",
|
11 |
+
"French (France)": "fr-FR-DeniseNeural",
|
12 |
+
"German (Germany)": "de-DE-KatjaNeural",
|
13 |
+
"Indonesian (Indonesia)": "id-ID-ArdiNeural",
|
14 |
+
# Add more languages and their corresponding voices here
|
15 |
+
}
|
16 |
+
|
17 |
+
async def tts(text, language):
|
18 |
+
voice = LANGUAGE_VOICES.get(language, "en-US-JennyNeural")
|
19 |
+
communicate = edge_tts.Communicate(text, voice)
|
20 |
result = await communicate.save("output.mp3")
|
21 |
return "output.mp3"
|
22 |
|
23 |
+
def tts_sync(text, language):
|
24 |
loop = asyncio.new_event_loop()
|
25 |
asyncio.set_event_loop(loop)
|
26 |
+
return loop.run_until_complete(tts(text, language))
|
27 |
|
28 |
with gr.Blocks() as demo:
|
29 |
+
gr.Markdown("## Multilingual Text-to-Speech with Edge TTS")
|
30 |
|
31 |
with gr.Row():
|
32 |
with gr.Column():
|
33 |
text_input = gr.Textbox(label="Enter Text", placeholder="Type something here...")
|
34 |
+
language_input = gr.Dropdown(list(LANGUAGE_VOICES.keys()), label="Select Language")
|
35 |
submit_button = gr.Button("Convert to Speech")
|
36 |
|
37 |
with gr.Column():
|
38 |
audio_output = gr.Audio(label="Output Audio")
|
39 |
|
40 |
+
submit_button.click(fn=tts_sync, inputs=[text_input, language_input], outputs=audio_output)
|
41 |
|
42 |
demo.launch()
|