MennatullahHany commited on
Commit
a26d3eb
·
verified ·
1 Parent(s): 49778ec

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +37 -0
app.py ADDED
@@ -0,0 +1,37 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import gradio as gr
2
+ import torch
3
+ import librosa
4
+ from transformers import AutoModelForAudioClassification, Wav2Vec2FeatureExtractor
5
+
6
+ model_id = "abedir/emotion-detector"
7
+
8
+ processor = Wav2Vec2FeatureExtractor.from_pretrained(model_id)
9
+ model = AutoModelForAudioClassification.from_pretrained(model_id)
10
+
11
+ label_map = {
12
+ 0: "Angry/Fearful",
13
+ 1: "Happy/Laugh",
14
+ 2: "Neutral/Calm",
15
+ 3: "Sad/Cry",
16
+ 4: "Surprised/Amazed"
17
+ }
18
+
19
+ def predict(audio):
20
+ audio, sr = librosa.load(audio, sr=16000)
21
+ inputs = processor(audio, sampling_rate=16000, return_tensors="pt")
22
+
23
+ with torch.no_grad():
24
+ logits = model(**inputs).logits
25
+ probs = torch.softmax(logits, dim=1)[0]
26
+
27
+ pred = torch.argmax(probs).item()
28
+ return label_map[pred], float(probs[pred])
29
+
30
+ iface = gr.Interface(
31
+ fn=predict,
32
+ inputs=gr.Audio(type="filepath"),
33
+ outputs=["text", "number"],
34
+ title="Emotion Detector 🎤"
35
+ )
36
+
37
+ iface.launch()