开源工具 | ASV-Subtools更新:runtime模块重磅发布

news2025/4/16 3:04:51

ASV-Subtools更新

- runtime模块重磅发布 -

ASV-Subtools是厦门大学智能语音实验室(XMUSPEECH)于2020年6月推出的一套高效、易于扩展的声纹识别开源工具,该工具是基于KaldiPytorch开发的,充分结合了Kaldi 在语音信号和后端处理的高效性以及PyTorch 开发和训练神经网络的便捷灵活性

ASV-Subtools 自开源以来,就以卓越的性能和灵活便捷的框架受到国内外重点科研院所和研发人员的青睐,先后在东方语种、CNSRC等竞赛中提供基线系统,并且在VoxCeleb数据集上取得了SOTA的结果

CNSRC脚本和此次更新得到厦门天聪智能软件有限公司(TalentedSoft)的协助。

01 更新介绍

PyTorch 是一个 Python 优先的深度学习框架,能够在强大的 GPU 加速基础上实现张量和动态神经网络。然而,在工业生产环境下,纯Python形式调用无法适应不同的系统环境,并存在性能过低的问题,难以达到低延迟和严格部署的要求,C++往往是更通用的选择。而为了让训练出来的声纹模型可以快速地部署并满足实时率的要求,我们为ASV-Subtools设计增加了Runtime模块

【 Runtime模块工程结构图 】

Runtime模块工程分为四个部分。

首先,frontend模块负责前端处理语音信号与特征提取功能。

其次,extractor模块涉及embedding的提取,是整个模块的核心部分,主要负责读取模型及模型推理。

然后,processor模块为后续打分模块,提取的x-vector通过score模块打分并与阈值对比进而判断是否为正例。

最后,utils模块为一些通用工具,比如日志,配置文件读取等。

【 Runtime模块调用流程示意图 】

在这个流程中,原始语音首先经过frontend模块,语音转化成数字信号后,在计算声学特征之前转化为tensor形式的数据类型,随后利用Kaldifeat计算声学特征。extractor模块首先读取之前准备好的模型并进行初始化,接收声学特征后进行embedding提取。此外,在此模块中也集成了常用的均值归一化(CMN)以及基于能量的语音活动检测(VAD)功能。最后,将提取的x-vector存储后进入后处理(processor)模块,后处理模块实现了余弦近似度打分,得到阈值后对样例进行判断。

现在开源的代码已经封装好了整个Runtime的工程,并提供Cmake一键构建项目,即生成可执行文件。

02 Conformer Xvector

【 Conformer xvector 网络结构图 】

Conformer是一种混合架构,它将注意力机制与卷积相结合,即通过Self-attention学习全局交互,而CNN捕获局部信息。这种的卷积与自注意机制的混合设计可以很好地对长短信息建模,而且通常认为自注意力机制的网络模型容量大于卷积网络,因此更适合对大规模数据进行建模。

实验结果表明,Conformer基本上能达到ECAPA的效果。此外,ASV下的通用方法诸如Large-Margin finetune、AS-Norm在Conformer xvector中同样适用。实验数据为VoxCeleb2的开发集,ECAPA选择1024 Channel配置,而Conformer为与经典ASR-Conformer配置。6L-256D-4H-4Sub代表6层4头256维,下采样4,其参数量与ECAPA相当,此时效果与ECAPA相当。而两倍下采样配置保留更多声学信息,效果超过了ECAPA,代价是更多的计算量。

此外,我们在Runtime下单线程测试了主流模型实时率(RTF)。4倍下采样Conformer相比同参数ECAPA架构RTF下降约64.7%,由于自注意力机制的二次复杂性,2倍下采样的RTF约是4倍下采样的3倍。从部署方面看,Conformer主要由线性层构成,而Pytorch中动态量化支持线性层与RNN结构,相比CNN结构更易实现,实际模型大小及RTF可进一步降低。 

更多细节可查看论文

03 其他更新

新增Subtools使用文档,文档内容包括了基本的声纹理论知识和ASV-Subtools的环境配置流程以及基础实验步骤。

大家可以根据文档很快上手

ASV-Subtools~ (点击下方链接下载文件)

https://github.com/Snowdar/asv-subtools/tree/master/d‍oc

新增large-Margin finetune策略脚本。

1.GitHub

https://github.com/Snowdar/asv-subtools

欢迎各位读者关注、点星、提意见~

2.参考文献

如果工具对你有用的话,请添加如下引用

Fuchuan Tong, Miao Zhao, Jianfeng Zhou, Hao Lu, Zheng Li, Lin Li, Qingyang Hong, “ASV-Subtools: Open Source Toolkit for Automatic Speaker Verification”, ICASSP 2021.

https://ieeexplore.ieee.org/document/9414676/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/43913.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Fe3+-多巴胺修饰Pluronic的多功能性水凝胶/多巴胺修饰聚丙烯微孔膜表面的研究

下面整理了Fe3-多巴胺修饰Pluronic的多功能性水凝胶/多巴胺修饰聚丙烯微孔膜表面,和小编一起来看! Fe3-多巴胺修饰Pluronic多功能性水凝胶 利用对硝基苯基氯酸甲酯作为聚合物Pluronic F127端羟基活化剂,与盐酸多巴胺直接反应制备末端多巴胺修饰的Pluron…

【web课程设计网页规划与设计】基于HTML+CSS+JavaScript火车票网上预订系统网站(4个页面)

🎉精彩专栏推荐 💭文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业: 【📚毕设项目精品实战案例 (10…

Part4_场景_第52章 场景描述第53章 柏林I:BVG场景第54章 柏林II:CEMDAP-Matsim-Cadyts方案

第52章 场景概述 本书的最后一部分总结了MATSIM场景,如图52.1中的地图所示,并在http://matsim.org/scolutions中列出。 尽管存在基于免费和公共数据的真实场景,如圣地亚哥或科特布斯场景(第84或66章),但由于数据隐私问题,许多场景是不公开的。 然而,了解适用于情景创建…

【STM32备忘录】二、FSMC做LCD控制器,使用stm32cube配置示例

文章目录1. FSMC框图2. 配置示例(1) cube配置(2) 代码参考*疑问1. FSMC框图 如果屏幕接口8位数据宽度访问,地址线FSMC_A[25:0], 一共26位,一个块22667108864Byte64MB,如果屏幕接口16位数据宽度访问,地址线FSMC_A[25:0], 一共26位&…

远程访问数据库,快解析助力疫情防控远程办公

当前,国内疫情形势不容乐观,企业的经营发展再一次面临巨大挑战。虽然“远程办公”早已不是新鲜词,但依然有大量企业没有做好随时切换到远程办公的准备。如遇疫情风险,企业运营很容易陷入瘫痪。 企业一般在内网部署服务器、视频监…

【Java并发入门】01 并发编程Bug的源头

一、根本原因 「CPU、内存、磁盘之间的速度差异」 为了能同时执行多个任务,CPU 发展出时间片轮转、多核等CPU 要从内存中读数据太慢了,所以给自己设置了缓存CPU 读磁盘更慢了,所以可以让该线程阻塞 二、直接原因 缓存导致的可见性问题 C…

函数 function

一、创建函数方法 1.基本语法 函数是引用数据类型 1.1有函数名称的叫具名函数 function 函数名称&#xff08;&#xff09;{ }&#xff1b; 调用函数&#xff1a; 函数名&#xff08;&#xff09;&#xff1b; <script>function fnl( ){var a 2;var b 5…

教你快速搭建微服务环境

目录 一、项目搭建 1.父项目搭建 2.子项目的搭建 二、项目展示 一、项目搭建 1.父项目搭建 步骤&#xff1a; 1 选择maven项目作为父项目&#xff0c;修改为1.8之后直接点击next 2 定义父项目的名称&#xff0c;修改Artifct Coordinates ---> GroupId 然后点击finsh就可…

现代营销杂志现代营销杂志社现代营销编辑部2022年第11期目录

财务金融《现代营销》投稿&#xff1a;cnqikantg126.com 我国中小企业货币资金管理分析 安宁; 1-3 企业财务管理转型路径探讨 秦春; 4-6 互联网背景下电商企业税务风险研究 何秋梅; 7-9 目标成本管理在企业经济管理中的应用分析 艾蕾梅; 10-12 关于我国发展…

CentOS7.9集群部署(配置hosts、集群免密、时间同步)

在上一篇我们介绍了如何在windows下安装虚拟机&#xff0c;在虚拟机上安装CentOS7.9&#xff0c;并且在系统安装完成后配置了固定ip和系统时间。 在食用本篇之前&#xff0c;如果上述操作没有做过&#xff0c;可以先移步 windows安装VMware虚拟机(附带CentOS7部署) 但是在分布式…

文献阅读总结(3)Neural Graph Collaborative Filtering

1、Introduction 左图u1&#xff0c;右图从左图的u1开始展开 图反应的信息&#xff1a; 1、从路径u1->i2->u2,可以反映出u1和u2的相似性&#xff1b; 2、u1和i4之间有两条路径&#xff0c;而u1和i5之间只有一条路径&#xff0c;可以反应u1对i4的兴趣比u1对i5的兴趣更高…

[附源码]Python计算机毕业设计Django-Steam游戏平台系统论文

项目运行 环境配置&#xff1a; Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术&#xff1a; django python Vue 等等组成&#xff0c;B/S模式 pychram管理等等。 环境需要 1.运行环境&#xff1a;最好是python3.7.7&#xff0c;…

【web网页设计期末课程大作业】基于HTML+CSS+JavaScript仿山东传媒职业学院网站

&#x1f389;精彩专栏推荐 &#x1f4ad;文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业&#xff1a; 【&#x1f4da;毕设项目精品实战案例 (10…

梯度下降原理+梯度消失和爆炸

梯度下降算法&#xff08;Gradient Descent)的原理和实现步骤 - 知乎 (zhihu.com) 梯度&#xff08;gradient&#xff09;到底是个什么东西&#xff1f;物理意义和数学意义分别是什么&#xff1f; - 知乎 (zhihu.com) 目的&#xff1a;最小化损失函数&#xff0c;一个优化的思…

流媒体传输 - RTSP 协议报文分析

在流媒体传输 - RTSP 协议中&#xff0c;我们分析 RTSP 协议交互的整个流程&#xff0c;在本篇文章中&#xff0c;我们对交互中携带的报文进行详细分析。 Request Request Request-Line ; Section 6.1*( general-header ; Section 5…

Qemu-KVM 网络性能优化实践

背景 在做优化之前&#xff0c;腾讯云上使用的母机单队列&#xff0c;性能只有14w pps。 已有的多队列版本&#xff0c;在20w pps左右&#xff0c;不是很理想。 主要问题性能 1 . 单队列成为性能瓶颈 物理主机环境&#xff0c;使用多队列已经有多年。 而在公有云上&#…

深度学习常见损失函数总结+Pytroch实现

文章目录一、引言二、损失函数1.均方差损失&#xff08;Mean Squared Error Loss&#xff09;2.平均绝对误差损失&#xff08;Mean Absolute Error Loss&#xff09;3.交叉熵&#xff08;Cross Entropy Loss&#xff09;&#xff08;1&#xff09;信息论中的熵a.熵b.相对熵&…

苹果系统(MacOS)无法下载Android SDK或下载缓慢解决办法

SDK管理器一般会在安装完Android Studio 的时候就弹出来.如果当时给关闭了或者是后续想找的话,Command, 或者通过菜单打开偏好设置以后 即可找到Android SDK的设置.与Jetbrains家族的产品方式一致.也可以直接在首屏页面上点More Actions 会出来SDK Manager 然后点击EDIT 找到缺…

DVWA靶场通关实战

DVWABrute Force&#xff08;暴力破解&#xff09;LowMediumHighImpossibleCommand Injection&#xff08;命令行注入&#xff09;LowMediumHighImpossibleCSRF&#xff08;跨站请求伪造&#xff09;LowMediumHighImpossible截至2022.11.24&#xff0c;DVWA共有十四个模块&…

TPS7A3301RGWR稳压器 AK4493EQ音频DAC,电路原理图

TPS7A33系列线性稳压器是负电压(–36V)&#xff0c;超低噪声&#xff08;16μVRMS&#xff0c;72dBPSRR&#xff09;线性稳压器&#xff0c;能够为最高1A负载供电。TPS7A33系列产品装有一个补偿金属氧化物半导体(CMOS)逻辑电平兼容使能引脚(EN)&#xff0c;此引脚允许可由用户定…