Hev832 commited on
Commit
0812a04
·
verified ·
1 Parent(s): 4f9c71b

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +20 -6
app.py CHANGED
@@ -2,27 +2,41 @@ import gradio as gr
2
  import edge_tts
3
  import asyncio
4
 
5
- async def tts(text):
6
- communicate = edge_tts.Communicate(text, 'en-US-JennyNeural')
 
 
 
 
 
 
 
 
 
 
 
 
 
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()