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)}