chidojawbreaker commited on
Commit
d4f9e6d
1 Parent(s): 466b688

Upload app.py

Browse files
Files changed (1) hide show
  1. app.py +55 -0
app.py ADDED
@@ -0,0 +1,55 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import gradio as gr
2
+ import numpy as np
3
+ import joblib
4
+ import librosa
5
+ from sklearn.preprocessing import StandardScaler
6
+
7
+ model = joblib.load('UTI.pkl')
8
+
9
+ def predictor(audio_filename):
10
+ y, sr = librosa.load(audio_filename, mono=True, duration=5)
11
+
12
+ chroma_stft = np.mean(librosa.feature.chroma_stft(y=y, sr=sr))
13
+ rmse = np.mean(librosa.feature.rms(y=y))
14
+ spec_cent = np.mean(librosa.feature.spectral_centroid(y=y, sr=sr))
15
+ spec_bw = np.mean(librosa.feature.spectral_bandwidth(y=y, sr=sr))
16
+ rolloff = np.mean(librosa.feature.spectral_rolloff(y=y, sr=sr))
17
+ zcr = np.mean(librosa.feature.zero_crossing_rate(y))
18
+ mfcc = librosa.feature.mfcc(y=y, sr=sr)
19
+ v = []
20
+ for e in mfcc:
21
+ v.append(np.mean(e))
22
+ mfcc1 = v[0]
23
+ mfcc2 = v[1]
24
+ mfcc3 = v[2]
25
+ mfcc4 = v[3]
26
+ mfcc5 = v[4]
27
+ mfcc6 = v[5]
28
+ mfcc7 = v[6]
29
+ mfcc8 = v[7]
30
+ mfcc9 = v[8]
31
+ mfcc10 = v[9]
32
+ mfcc11 = v[10]
33
+ mfcc12 = v[11]
34
+ mfcc13 = v[12]
35
+ mfcc14 = v[13]
36
+ mfcc15 = v[14]
37
+ mfcc16 = v[15]
38
+ mfcc17 = v[16]
39
+ mfcc18 = v[17]
40
+ mfcc19 = v[18]
41
+ mfcc20 = v[19]
42
+
43
+ features = np.array([[chroma_stft,rmse,spec_cent,spec_bw,rolloff,zcr,mfcc1,mfcc2,mfcc3,mfcc4,mfcc5,mfcc6,mfcc7,mfcc8,mfcc9,mfcc10,mfcc11,mfcc12,mfcc13,mfcc14,mfcc15,mfcc16,mfcc17,mfcc18,mfcc19,mfcc20]])
44
+
45
+ prediction = model.predict(StandardScaler().fit_transform(features))
46
+
47
+ if prediction[0] == 0:
48
+ result = 'Normal'
49
+ else:
50
+ result = 'Infected'
51
+ return result
52
+
53
+ outputs = gr.outputs.Textbox()
54
+ app = gr.Interface(fn=predictor, inputs='text', outputs=outputs,description="UTI Prediction Model")
55
+ app.launch()