marioluciofjr commited on
Commit
784afc6
1 Parent(s): 0626a82

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
+ from transformers import pipeline
3
+ import torch
4
+
5
+ # Carregando o modelo Whisper para transcrição de áudio
6
+ transcriber = pipeline(
7
+ task="automatic-speech-recognition",
8
+ model="openai/whisper-small",
9
+ device=torch.device('cuda' if torch.cuda.is_available() else 'cpu')
10
+ )
11
+
12
+ # Carregando o modelo de análise de sentimentos em português
13
+ sentiment_analyzer = pipeline(
14
+ "sentiment-analysis",
15
+ model="nlptown/bert-base-multilingual-uncased-sentiment"
16
+ )
17
+
18
+ def transcribe_and_analyze(audio_file):
19
+ """
20
+ Recebe um arquivo de áudio, transcreve e analisa o sentimento.
21
+ """
22
+ # Transcrevendo o áudio
23
+ transcription = transcriber(audio_file)["text"]
24
+
25
+ # Analisando o sentimento da transcrição
26
+ sentiment = sentiment_analyzer(transcription)[0]
27
+
28
+ # Formatando a saída do sentimento
29
+ sentiment_output = f"{sentiment['label']} (confiança: {sentiment['score']:.2f})"
30
+
31
+ return transcription, sentiment_output
32
+
33
+ # Criando a interface Gradio
34
+ interface = gr.Interface(
35
+ fn=transcribe_and_analyze,
36
+ inputs=gr.Audio(source="upload", type="filepath", label="Faça upload do seu áudio"),
37
+ outputs=[
38
+ gr.Textbox(label="Transcrição do Áudio"),
39
+ gr.Textbox(label="Análise de Sentimento")
40
+ ],
41
+ title="TranscriSentimento",
42
+ description="Envie um arquivo de áudio de até 1 hora para transcrição e análise de sentimentos.",
43
+ theme="default"
44
+ )
45
+
46
+ if __name__ == "__main__":
47
+ interface.launch()