Update app.py
Browse files
app.py
CHANGED
@@ -151,30 +151,30 @@ class SpeakerVerification:
|
|
151 |
def create_gradio_interface():
|
152 |
speaker_verifier = SpeakerVerification()
|
153 |
|
154 |
-
def process_audio(audio1, audio2):
|
155 |
-
|
156 |
-
|
157 |
-
|
158 |
-
|
159 |
-
|
160 |
-
|
161 |
-
|
162 |
-
|
163 |
-
|
164 |
-
|
165 |
-
|
166 |
-
|
167 |
-
|
168 |
-
|
169 |
-
|
170 |
-
|
171 |
-
|
172 |
-
|
|
|
|
|
173 |
|
174 |
-
|
175 |
-
|
176 |
-
except Exception as e:
|
177 |
-
return f"Error processing audio: {str(e)}", None
|
178 |
|
179 |
interface = gr.Interface(
|
180 |
fn=process_audio,
|
|
|
151 |
def create_gradio_interface():
|
152 |
speaker_verifier = SpeakerVerification()
|
153 |
|
154 |
+
def process_audio(audio1, audio2):
|
155 |
+
try:
|
156 |
+
if audio1 is None or audio2 is None:
|
157 |
+
return "Error: Please provide both audio samples", None
|
158 |
+
|
159 |
+
probability, decision, score, confidence_metrics = speaker_verifier.verify_speaker(audio1, audio2)
|
160 |
+
emb1 = speaker_verifier.get_embeddings(audio1)
|
161 |
+
emb2 = speaker_verifier.get_embeddings(audio2)
|
162 |
+
|
163 |
+
embeddings_plot = speaker_verifier.plot_embeddings_comparison(emb1, emb2)
|
164 |
+
|
165 |
+
result_text = (
|
166 |
+
f"Cosine similarity (threshold=0.25): {score:.3f}\n"
|
167 |
+
f"Decision: {decision}\n"
|
168 |
+
f"Certainty Score: {confidence_metrics['certainty_score']:.2f}\n"
|
169 |
+
f"Threshold Distance: {confidence_metrics['threshold_distance']:.3f}\n"
|
170 |
+
f"Decision Strength: {confidence_metrics['decision_strength']}\n"
|
171 |
+
f"Confidence Level: {confidence_metrics['confidence_level']}"
|
172 |
+
)
|
173 |
+
|
174 |
+
return result_text, embeddings_plot
|
175 |
|
176 |
+
except Exception as e:
|
177 |
+
return f"Error processing audio: {str(e)}", None
|
|
|
|
|
178 |
|
179 |
interface = gr.Interface(
|
180 |
fn=process_audio,
|