语音音频(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
相关推荐
vibecoding775 小时前
一文搞懂企业级 API 网关选型:12 个维度、4 类企业、7 步落地
人工智能·大模型·ai编程
傻啦嘿哟5 小时前
某招聘平台爬虫:爬取招聘岗位数据,分析各城市薪资水平
开发语言·爬虫·python
2501_933670795 小时前
2026秋招量化分析岗技能栈:Python、SQL、统计建模、回测项目怎么准备
开发语言·python·sql
Rocktech_ruixun5 小时前
机器人本地跑LLM大模型对主板硬件有什么要求?瑞迅科技RK3588/3568方案选型解析
人工智能·科技·嵌入式硬件·机器人·边缘计算
2601_962077605 小时前
python Dejavu库快速识别音频指纹实例探究
python·音乐识别·dejavu库·音频指纹识别·实例探究
yxlalm5 小时前
Spring AI+RAG 01-项目背景与技术选型
java·人工智能·spring
tedcloud1235 小时前
Wand-Enhancer 怎么搭建?开源 Wand 客户端增强与远程控制工具介绍
大数据·服务器·人工智能·开源·音视频
科技苑5 小时前
如何用Python编程实现一个简单的Web爬虫?
人工智能·python
迅利科技6 小时前
新能源汽车零部件研发,SIMULIA一站式仿真解决方案如何缩短研发周期
人工智能·汽车
dayDayupbetter6 小时前
Visual C++ 2010安装与使用高手秘籍
python