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()