语音音频(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
相关推荐
CountingStars61916 分钟前
目标检测常用评估指标(metrics)
人工智能·目标检测·目标跟踪
tangjunjun-owen24 分钟前
第四节:GLM-4v-9b模型的tokenizer源码解读
人工智能·glm-4v-9b·多模态大模型教程
冰蓝蓝28 分钟前
深度学习中的注意力机制:解锁智能模型的新视角
人工智能·深度学习
橙子小哥的代码世界36 分钟前
【计算机视觉基础CV-图像分类】01- 从历史源头到深度时代:一文读懂计算机视觉的进化脉络、核心任务与产业蓝图
人工智能·计算机视觉
黄公子学安全1 小时前
Java的基础概念(一)
java·开发语言·python
新加坡内哥谈技术1 小时前
苏黎世联邦理工学院与加州大学伯克利分校推出MaxInfoRL:平衡内在与外在探索的全新强化学习框架
大数据·人工智能·语言模型
程序员一诺1 小时前
【Python使用】嘿马python高级进阶全体系教程第10篇:静态Web服务器-返回固定页面数据,1. 开发自己的静态Web服务器【附代码文档】
后端·python
小木_.2 小时前
【Python 图片下载器】一款专门为爬虫制作的图片下载器,多线程下载,速度快,支持续传/图片缩放/图片压缩/图片转换
爬虫·python·学习·分享·批量下载·图片下载器
fanstuck2 小时前
Prompt提示工程上手指南(七)Prompt编写实战-基于智能客服问答系统下的Prompt编写
人工智能·数据挖掘·openai
lovelin+v175030409662 小时前
安全性升级:API接口在零信任架构下的安全防护策略
大数据·数据库·人工智能·爬虫·数据分析