语音音频(wav)声纹识别-技术实现-python

通过pyannote.audio 实现语音音频声纹识别。

安装:

python 复制代码
pip install pyannote.audio

示例音频下载地址:【免费】语音音频(WAV)声纹识别示例资源-CSDN文库

实现代码:

python 复制代码
from pyannote.audio import Model
from pyannote.audio import Inference
from scipy.spatial.distance import cdist
# 初始化模型
model = Model.from_pretrained("pyannote/wespeaker-voxceleb-resnet34-LM",cache_dir = "./ckpt/",local_files_only = False)

inference = Inference(model, window="whole")
# 获取音频的特征
embedding_1 = inference(r"audio_data\0\014.wav").reshape(1,-1) # id 为 0 的人的音频
embedding_2 = inference(r"audio_data\0\021.wav").reshape(1,-1) # id 为 0 的人的音频
embedding_3 = inference(r"audio_data\1\004.wav").reshape(1,-1) # id 为 1 的人的音频

print("embedding_1:",embedding_1.shape)

# 通过余弦相似度,比较音频特征向量间的距离,获取相似度,距离越小,特征越相近,可能为同一人说话的可能性越高。
distance_sim = cdist(embedding_1 , embedding_2 , metric="cosine")[0,0]
distance_not = cdist(embedding_1 , embedding_3 , metric="cosine")[0,0]

# 余弦距离越小越接近
print("相同人 Distance emb1 between emb2: " + str(distance_sim))
print("不同人 Distance emb1 between emb3: " + str(distance_not))

程序运行输出信息如下:

python 复制代码
相同人 Distance emb1 between emb2: 0.447950675466506
不同人 Distance emb1 between emb3: 0.7426738655303657
相关推荐
火红色祥云5 分钟前
深度学习入门:基于Python的理论与实现笔记
笔记·python·深度学习
FoldWinCard5 分钟前
Python 第五次作业
linux·windows·python
hit56实验室6 分钟前
【易经系列】《蒙卦》六五:童蒙,吉。
人工智能
AI浩7 分钟前
VISION KAN:基于Kan的无注意力视觉骨干网络
人工智能·目标检测
China_Yanhy7 分钟前
转型AI运维工程师·Day 10:拥抱“不确定性” —— 断点续训与 Spot 实例抢占
运维·人工智能·python
木昆子7 分钟前
实战A2UI:从JSON到像素——深入Lit渲染引擎
前端·人工智能
TGITCIC8 分钟前
AI Agent中的 ReAct 和 Ralph Loop对比说明
人工智能·ai大模型·ai agent·ai智能体·agent开发·大模型ai·agent设计模式
挖你家服务器电缆9 分钟前
【深度学习系列学习总结】四大框架之一:cnn
人工智能·深度学习·cnn
花酒锄作田9 分钟前
Flask - 常见应用部署方案
python·flask
菡萏如佳人9 分钟前
AI时代学习新范式—认知供应链模式(附OpenClaw四步拆解)
人工智能·学习