当前位置: 首页 > 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

相关文章:

  • 【JavaEE初阶】网络原理
  • 性能优化与资源管理:优化Selenium脚本的执行效率,合理管理浏览器实例和系统资源
  • CSS给一行按钮统一设置间隔
  • DarkLabel2.4版本导入MOT17数据集
  • 如何解决跨境电商税务管理难题
  • Android常用C++特性之lambda表达式
  • 2-107 基于matlab的hsv空间双边滤波去雾图像增强算法
  • Linux 简易shell编写
  • ResNet18果蔬图像识别分类
  • Git提示信息 Pulling is not possible because you have unmerged files.
  • 线段树查询区间回文+区间字母右移
  • Python NumPy 标准数据生成:高效创建与操作数组
  • SQL Server实现limit用法
  • 初识chatgpt
  • cnn机器学习时python版本不兼容报错
  • 【EOS】Cleos基础
  • 【跃迁之路】【585天】程序员高效学习方法论探索系列(实验阶段342-2018.09.13)...
  • Codepen 每日精选(2018-3-25)
  • java多线程
  • Java教程_软件开发基础
  • js对象的深浅拷贝
  • JS题目及答案整理
  • Linux编程学习笔记 | Linux IO学习[1] - 文件IO
  • MYSQL 的 IF 函数
  • MySQL的数据类型
  • spring boot下thymeleaf全局静态变量配置
  • Unix命令
  • 阿里云爬虫风险管理产品商业化,为云端流量保驾护航
  • 等保2.0 | 几维安全发布等保检测、等保加固专版 加速企业等保合规
  • 高程读书笔记 第六章 面向对象程序设计
  • 聊一聊前端的监控
  • 前端技术周刊 2018-12-10:前端自动化测试
  • 悄悄地说一个bug
  • 收藏好这篇,别再只说“数据劫持”了
  • 物联网链路协议
  • 小程序开发中的那些坑
  • 因为阿里,他们成了“杭漂”
  • 正则与JS中的正则
  • 中国人寿如何基于容器搭建金融PaaS云平台
  • 自制字幕遮挡器
  • ​secrets --- 生成管理密码的安全随机数​
  • ​浅谈 Linux 中的 core dump 分析方法
  • ###项目技术发展史
  • (2020)Java后端开发----(面试题和笔试题)
  • (Bean工厂的后处理器入门)学习Spring的第七天
  • (CVPRW,2024)可学习的提示:遥感领域小样本语义分割
  • (补充)IDEA项目结构
  • (六) ES6 新特性 —— 迭代器(iterator)
  • (三)c52学习之旅-点亮LED灯
  • (四)【Jmeter】 JMeter的界面布局与组件概述
  • .NET 通过系统影子账户实现权限维持
  • .pyc文件是什么?
  • ?
  • ??javascript里的变量问题
  • [ vulhub漏洞复现篇 ] GhostScript 沙箱绕过(任意命令执行)漏洞CVE-2019-6116