语音音频(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
相关推荐
eBaoGao几秒前
AI 对劳动就业市场的结构性冲击:基于美国劳工统计局 2026 数据的 3 大行业深度分析
人工智能
正在走向自律3 分钟前
AI Agent:从概念到实践,下一代人工智能的核心形态
人工智能·ai agent·智能体
kishu_iOS&AI3 分钟前
机器学习 —— 线性回归(2)
人工智能·python·算法·机器学习·线性回归
ywfwyht3 分钟前
NeMo RL 安装指南及问题总结
人工智能·机器学习
网上邻居YY4 分钟前
深度学习DL 之 安装PyTorch·GPU版、CUDA(本人Anaconda、Python、PyCharm已提前安装好)
pytorch·经验分享·python·深度学习·pycharm·学习方法
天上的光5 分钟前
机器学习——决策树
人工智能·决策树·机器学习
AI体验君5 分钟前
2026年AI数据大屏实用指南,简化数据可视化制作
人工智能·信息可视化
AI、少年郎6 分钟前
如何用个人电脑快速训练自己的语言模型?MiniMind 全流程实战指南
人工智能·python·神经网络·ai·自然语言处理·大模型·模型训练微调
NULL指向我6 分钟前
信号处理学习笔记6:ADC采样线性处理实测拟合
人工智能·算法·机器学习
mhkxbq6 分钟前
昆仑G5580、G5680 V2、G2280及泰山鲲鹏200,AI大数据优选服务器
大数据·服务器·人工智能