当前位置: 首页 > news >正文

语音音频(wav)声纹识别-技术实现-python

通过pyannote.audio 实现语音音频声纹识别。

安装:

pip install pyannote.audio

示例音频下载地址:【免费】语音音频(WAV)声纹识别示例资源-CSDN文库

实现代码:

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))

程序运行输出信息如下:

相同人 Distance emb1 between emb2: 0.447950675466506
不同人 Distance emb1 between emb3: 0.7426738655303657


http://www.mrgr.cn/news/35898.html

相关文章:

  • 1、软件测试的基础概念(1)
  • 如何使用 Bittly 为串口设备快速创建上位机
  • MATLAB在无线通信系统故障诊断中的应用
  • if语句的艺术:如何写出Pythonic的条件判断
  • Python自动化测试中替代Seleium库的解决方案
  • GESP等级考试C++二级-do...while语句
  • 《AI设计类工具系列之一——FigJam AI》
  • 并联电容器组的投退原则
  • 【nrm】 Node.js 包管理器
  • Pandas重命名列的各种方法
  • 【MySQL】在MySQL中STR_TO_DATE()以及其他用于日期和时间的转换
  • 什么是DDOS攻击?
  • IPD如何解决产品开发的典型问题
  • kubernetes K8S 挂载分布式存储 ceph
  • 效率工具推荐 | 高效管理客服中心知识库
  • 攻防世界--->robots
  • Spring MVC概述以及代码演示
  • C语言初识(二)
  • 怎么更换自己的ip地址?多种方法可实现
  • GLM-4-9B 是智谱 AI 推出的预训练模型 GLM-4 系列中的开源版本