Abraham E. Tavarez
voice detertor tool
fe506fe
raw
history blame
857 Bytes
from resemblyzer import VoiceEncoder, preprocess_wav
import numpy as np
import os
encoder = VoiceEncoder()
def verify_voices(audio_path1, audio_path2, threshold=0.75):
"""
Compares two audio files and returns whether they belong to the same speaker.
"""
try:
audio1 = preprocess_wav(audio_path1)
audio2 = preprocess_wav(audio_path2)
embedding1 = encoder.embed_utterance(audio1)
embedding2 = encoder.embed_utterance(audio2)
similarity = np.dot(embedding1, embedding2) / (
np.linalg.norm(embedding1) * np.linalg.norm(embedding2)
)
match = similarity > threshold
return {
"match": match,
"similarity": round(float(similarity), 4),
"threshold": threshold,
}
except Exception as e:
return {"error": str(e)}