File size: 1,322 Bytes
9220224
 
 
3afc76b
9220224
3afc76b
 
9220224
3afc76b
9220224
3afc76b
 
 
 
 
9220224
3afc76b
 
 
 
 
 
 
 
9220224
 
3afc76b
 
 
 
 
 
 
 
9220224
3afc76b
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
import whisper
from TTS.api import TTS
import ffmpeg
import gradio as gr

# Função para transcrever e traduzir
def transcrever_traduzir(file):
    model = whisper.load_model("base")
    result = model.transcribe(file.name, task="translate", language="en")
    translated_text = result['text']
    return translated_text

# Função para sintetizar áudio
def sintetizar_audio(texto):
    tts = TTS(model_name="tts_models/pt/cv/vits", progress_bar=True)
    output_audio = "translated_audio.wav"
    tts.tts_to_file(text=texto, file_path=output_audio)
    return output_audio

# Função principal para processar áudio/vídeo
def processar(file):
    texto_traduzido = transcrever_traduzir(file)
    audio_gerado = sintetizar_audio(texto_traduzido)
    return texto_traduzido, audio_gerado

# Interface Gradio
with gr.Blocks() as app:
    gr.Markdown("# Tradutor de Áudio com Whisper e Coqui TTS")
    with gr.Row():
        file_input = gr.File(label="Envie seu arquivo de áudio ou vídeo")
        texto_output = gr.Textbox(label="Texto Traduzido")
        audio_output = gr.Audio(label="Áudio Gerado", type="filepath")
    submit_btn = gr.Button("Processar")
    submit_btn.click(processar, inputs=file_input, outputs=[texto_output, audio_output])

# Rodar o aplicativo
if __name__ == "__main__":
    app.launch()