语音音频(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
相关推荐
AI日报派送佬几秒前
2026年10月9日AI行业日报|谷歌推出企业级Gemini通用智能体、Claude双功能重磅更新、AI视频创作成本低至0.09元/秒
人工智能·openai·claude·ai视频·anthropic·ai日报·workbuddy
昨夜见军贴0616几秒前
热学类计量校准机构降本方案,IACheck AI 报告文档审核 Agent 自动校验温度质控数据
人工智能
孙启超2 分钟前
【AI工程师精讲】04:思维链:CoT 为什么有效,以及它什么时候在骗你
人工智能·ai·大模型
Dfreedom.11 分钟前
PCA与SVM在光谱定性分析中的实践与应用
人工智能·机器学习·支持向量机·svm·化学计量学·光谱数据分析
在所不辞兄12 分钟前
刚性问题误差容限设置技巧
深度学习·神经网络·算法·机器学习
数智工坊14 分钟前
视觉SLAM第10讲|后端优化(下):位姿图优化、滑动窗口与图优化工程实践
人工智能·深度学习·线性代数·矩阵
外收内放18 分钟前
Python基础语法练习题(59-原始版本与优化版本)
开发语言·python
ASS-ASH21 分钟前
从力学与机械原理角度深度剖析:尊界V800刹车踏板支架断裂事件的技术逻辑
人工智能·python·数据可视化·机械工程·汽车安全·物理仿真·制动系统
xhy_070722 分钟前
AI 读了 .env,密钥会原样发给大模型吗?WES Code 的密钥打码(附实测)
人工智能·python·数据挖掘·flask·ai编程·wes code
吴佳浩26 分钟前
单卡5090跑125B 大模型:从安装、验证到基准测试的完整操作教程
人工智能