import gradio as gr from transformers import pipeline import torch # Carregando o modelo Whisper para transcrição de áudio transcriber = pipeline( task="automatic-speech-recognition", model="openai/whisper-small", device=torch.device('cuda' if torch.cuda.is_available() else 'cpu') ) # Carregando o modelo de análise de sentimentos em português sentiment_analyzer = pipeline( "sentiment-analysis", model="nlptown/bert-base-multilingual-uncased-sentiment" ) def transcribe_and_analyze(audio_file): """ Recebe um arquivo de áudio, transcreve e analisa o sentimento. """ # Transcrevendo o áudio transcription = transcriber(audio_file)["text"] # Analisando o sentimento da transcrição sentiment = sentiment_analyzer(transcription)[0] # Formatando a saída do sentimento sentiment_output = f"{sentiment['label']} (confiança: {sentiment['score']:.2f})" return transcription, sentiment_output # Criando a interface Gradio interface = gr.Interface( fn=transcribe_and_analyze, inputs=gr.Audio(type="filepath", label="Faça upload do seu áudio"), # Removed source argument outputs=[ gr.Textbox(label="Transcrição do Áudio"), gr.Textbox(label="Análise de Sentimento") ], title="Transcrição e Análise de Sentimentos de Áudio", description="Envie um arquivo de áudio de até 1 hora para transcrição e análise de sentimentos.", theme="default" ) if __name__ == "__main__": interface.launch()