faelfernandes commited on
Commit
366387a
1 Parent(s): 39ce6bf

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +47 -0
app.py ADDED
@@ -0,0 +1,47 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import gradio as gr
2
+ import edge_tts
3
+ import asyncio
4
+ import os
5
+
6
+ # Função para gerar o áudio
7
+ async def text_to_speech(text, language):
8
+ # Mapeamento de idiomas para vozes da Azure
9
+ voices = {
10
+ "Português (Brasil)": "pt-BR-FranciscaNeural",
11
+ "Inglês": "en-US-AriaNeural",
12
+ "Espanhol": "es-ES-ElviraNeural",
13
+ "Francês": "fr-FR-DeniseNeural",
14
+ "Italiano": "it-IT-ElsaNeural"
15
+ }
16
+
17
+ voice = voices.get(language, "pt-BR-FranciscaNeural")
18
+
19
+ # Gerar um nome de arquivo único
20
+ output_file = f"output_{hash(text)}.mp3"
21
+
22
+ # Criar a comunicação com o edge-tts
23
+ communicate = edge_tts.Communicate(text, voice)
24
+
25
+ # Salvar o áudio
26
+ await communicate.save(output_file)
27
+
28
+ return output_file
29
+
30
+ # Função para processar a entrada e chamar o TTS
31
+ def process_tts(text, language):
32
+ return asyncio.run(text_to_speech(text, language))
33
+
34
+ # Configurar a interface Gradio
35
+ iface = gr.Interface(
36
+ fn=process_tts,
37
+ inputs=[
38
+ gr.Textbox(label="Texto para converter em fala"),
39
+ gr.Dropdown(["Português (Brasil)", "Inglês", "Espanhol", "Francês", "Italiano"], label="Idioma")
40
+ ],
41
+ outputs=gr.Audio(label="Áudio gerado"),
42
+ title="Conversor de Texto para Fala usando Azure TTS",
43
+ description="Converta texto em fala usando as vozes da Azure em diferentes idiomas."
44
+ )
45
+
46
+ # Iniciar a aplicação
47
+ iface.launch()