Spaces:
Sleeping
Sleeping
marioluciofjr
commited on
Commit
•
784afc6
1
Parent(s):
0626a82
Create app.py
Browse files
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()
|