语音音频(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
相关推荐
RD_daoyi3 分钟前
GEO时代:AI 重构下,SEO的本质与破局之路
人工智能·重构
GJGCY4 分钟前
金融AI Agent平台技术路线与落地能力对比:7家主流智能体优缺点分析
人工智能·ai·金融·数字化·智能体
直奔標竿6 分钟前
Java开发者AI转型第二十二课!Spring AI 个人知识库实战(一)——架构搭建与核心契约落地
java·人工智能·后端·spring·架构
益企联工程项目管理软件12 分钟前
2026工程管理软件推荐:7款工具助力工程项目数字化升级!
大数据·人工智能·云原生·项目管理·制造
dFObBIMmai18 分钟前
CSS如何检测页面浮动元素位置_使用审查工具与clear
jvm·数据库·python
熊猫钓鱼>_>22 分钟前
大型复杂远程AI Agent应用:从架构困局到进化突围
人工智能·ai·架构·开源·大模型·llm·agent
qq_4609784023 分钟前
实现 Svelte 中基于数组索引的 details 元素单开单关交互
jvm·数据库·python
AI前沿资讯30 分钟前
支持视频动作迁移的AI 3D平台有哪些?2026全维度测评
人工智能·3d
AwesomeCPA30 分钟前
Claude Code 实战分享(1):从“代码助手“到“AI 协调者“
人工智能
机器之心31 分钟前
VEGA-3D:释放视频生成模型中的隐式3D知识,重塑3D场景理解与具身交互
人工智能·openai