cngsm commited on
Commit
3afc76b
·
verified ·
1 Parent(s): 1ce2420

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +28 -34
app.py CHANGED
@@ -1,44 +1,38 @@
1
- import gradio as gr
2
  import whisper
3
  from TTS.api import TTS
4
  import ffmpeg
 
5
 
6
- # Função principal
7
- def process_audio(file):
8
- # Salvar o arquivo carregado
9
- input_file = "input_audio_or_video.mp4"
10
- with open(input_file, "wb") as f:
11
- f.write(file.read())
12
-
13
- # Carregar modelo Whisper
14
  model = whisper.load_model("base")
15
-
16
- # Transcrição e tradução
17
- result = model.transcribe(input_file, task="translate", language="pt")
18
  translated_text = result['text']
19
-
20
- # Salvar texto traduzido
21
- with open("translated_text.txt", "w") as f:
22
- f.write(translated_text)
23
-
24
- # Gerar áudio traduzido com Coqui TTS
25
- tts = TTS(model_name="tts_models/pt-cv-vits", progress_bar=False)
26
  output_audio = "translated_audio.wav"
27
- tts.tts_to_file(text=translated_text, file_path=output_audio)
28
-
29
- return translated_text, output_audio
 
 
 
 
 
30
 
31
  # Interface Gradio
32
- iface = gr.Interface(
33
- fn=process_audio,
34
- inputs=gr.Audio(source="upload", type="file"),
35
- outputs=[
36
- gr.Textbox(label="Texto traduzido"),
37
- gr.Audio(label="Áudio traduzido")
38
- ],
39
- title="Traduzir Áudio/Vídeo com Whisper e Coqui TTS",
40
- description="Carregue um arquivo de áudio ou vídeo para transcrição e tradução para português, com geração de áudio traduzido."
41
- )
42
 
43
- # Iniciar a interface
44
- iface.launch()
 
 
 
1
  import whisper
2
  from TTS.api import TTS
3
  import ffmpeg
4
+ import gradio as gr
5
 
6
+ # Função para transcrever e traduzir
7
+ def transcrever_traduzir(file):
 
 
 
 
 
 
8
  model = whisper.load_model("base")
9
+ result = model.transcribe(file.name, task="translate", language="en")
 
 
10
  translated_text = result['text']
11
+ return translated_text
12
+
13
+ # Função para sintetizar áudio
14
+ def sintetizar_audio(texto):
15
+ tts = TTS(model_name="tts_models/pt/cv/vits", progress_bar=True)
 
 
16
  output_audio = "translated_audio.wav"
17
+ tts.tts_to_file(text=texto, file_path=output_audio)
18
+ return output_audio
19
+
20
+ # Função principal para processar áudio/vídeo
21
+ def processar(file):
22
+ texto_traduzido = transcrever_traduzir(file)
23
+ audio_gerado = sintetizar_audio(texto_traduzido)
24
+ return texto_traduzido, audio_gerado
25
 
26
  # Interface Gradio
27
+ with gr.Blocks() as app:
28
+ gr.Markdown("# Tradutor de Áudio com Whisper e Coqui TTS")
29
+ with gr.Row():
30
+ file_input = gr.File(label="Envie seu arquivo de áudio ou vídeo")
31
+ texto_output = gr.Textbox(label="Texto Traduzido")
32
+ audio_output = gr.Audio(label="Áudio Gerado", type="filepath")
33
+ submit_btn = gr.Button("Processar")
34
+ submit_btn.click(processar, inputs=file_input, outputs=[texto_output, audio_output])
 
 
35
 
36
+ # Rodar o aplicativo
37
+ if __name__ == "__main__":
38
+ app.launch()