CHiME-8多通道远场语音识别Baseline介绍

news2024/11/25 22:32:35

语音领域每年都有很多比赛,每个比赛都有自己的侧重点,其中CHiME系列比赛的侧重点就是多通道远场语音识别,与其他的语音识别比赛有所区别的是,CHiME提供分布式麦克风和麦克风阵列数据,这样可以选择合适的前端算法以降低识别的WER,著名的CGMM-MVDR也是在这个比赛中提出的。CHiME比赛今年已经是第8届了,今天我们一起看看下官方提供的基线系统。

自从CHiME7之后,麦克风阵列的几何结构信息就不能被用于前端语音增强,因此一些传统的方法无法使用。CHiME官方提供的baseline支持多通道、多说话人的语音输入,整体可以划分为3个部分:

  • Speaker Diarization Module

  • Multi-channel Audio Front-End Processing Module

  • ASR Module

    I、Speaker Diarization Module

    这个模块的主要工作是说话人分离,确定包含多人交替说话的语音中每个时间点是谁在说话,这里加入前端处理模块来提升说话人分离的精度。说话人分离模块主要包含以下几个算法:

    1、MIMO-WPE Dereverberation

    WPE是MIMO去混响的经典算法,这里使用block-wise的WPE算法,窗长为40s,重叠2s。整个处理过程STFT的窗口长度为64 ms,75%的overlap。使用10帧滤波器、预测延迟为3帧,迭代10次。

    2、Channel Clustering

    对经过WPE算法的音频计算幅度平方相干矩阵

    图片

    然后使用归一化最大特征裂隙的谱聚类(normalized maximum eigengap spectral clustering, NME-SC)方法对上述相干矩阵进行聚类,最后每个类别的信号取平均以减少音频输入通道数。

    3、Multi-channel VAD

    多通道VAD采用了MarbleNet的网络结构每次对20 ms的数据进行判决,使用了接近2000小时的音频进行训练,在多通道VAD的推理过程中,我们丢弃VAD概率低于50%的通道,并对其余通道VAD概率进行取最大值的操作作为最终VAD的预测结果。

I、Speaker Diarization Module

这个模块的主要工作是说话人分离,确定包含多人交替说话的语音中每个时间点是谁在说话,这里加入前端处理模块来提升说话人分离的精度。说话人分离模块主要包含以下几个算法:

1、MIMO-WPE Dereverberation

WPE是MIMO去混响的经典算法,这里使用block-wise的WPE算法,窗长为40s,重叠2s。整个处理过程STFT的窗口长度为64 ms,75%的overlap。使用10帧滤波器、预测延迟为3帧,迭代10次。

2、Channel Clustering

对经过WPE算法的音频计算幅度平方相干矩阵

图片

然后使用归一化最大特征裂隙的谱聚类(normalized maximum eigengap spectral clustering, NME-SC)方法对上述相干矩阵进行聚类,最后每个类别的信号取平均以减少音频输入通道数。

3、Multi-channel VAD

多通道VAD采用了MarbleNet的网络结构每次对20 ms的数据进行判决,使用了接近2000小时的音频进行训练,在多通道VAD的推理过程中,我们丢弃VAD概率低于50%的通道,并对其余通道VAD概率进行取最大值的操作作为最终VAD的预测结果。

4、Multi-channel Diarization Module

这个模块使用了一个多尺度的说话人分离解码器(multiscale diarization decoder, MSDD),该系统采用多尺度嵌入方法并利用 TitaNet作为说话人embedding的提取器。多尺度示意图如下,分别提取0.5s、1.5s和3s,3个不同的尺度,相同尺度下,数据重叠50%:

所有通道对应不同尺度的embedding最后concat到一起形成最终的多通道多尺度说话人的embedding

最后上述的embeddings会被送入基于attention的MSDD进行处理,说话人分离完整的pipeline如下所示:

II、Multi-channel Audio Front-End Processing Module

多通道音频前端主要目的是提取单个说话人目标的语音信号,整体流程如下所示

1、Envelope variance based channel selection

远场语音识别受到噪声和混响影响比较大,对于多个通道的场景如何选择适合声学模型识别的信号就显得比较重要,这里采用的方法是基于包络方差的方法去评估语音质量。下图是混响语音和纯净语音filter-bank的能量可以看出还是有较大的差别,因此可以通过这种方法去选择合适的通道作为语音识别的输入。

2、MIMO dereverberation

这里采用了另外一种MIMO的子带域多通道线性预测方法算法去混响。该方无需假设特定声学条件,其效果如下图所示,可以看出晚期混响明显被抑制。

3、Guided source separation

GSS采用了复角度中心高斯混合模型(complex Angular Central Gaussian Mixture Model,cACGMM),并计算其概率密度函数,然后通过EM算法进行求解,最后可以得到TF-mask。接着将GSS计算得到的Mask送入MIMO MVDR系统,结合最大后验信噪比进行通道选择得到增强后的语音。

III、ASR Module

ASR网络采用了Conformer-Transducer的网络结构 ,相关内容可以参考我们前段时间的一篇文章细数语音识别中的几个former。该网络结构参数量为0.6B,为了提升ASR的性能构建了基于BPE的N-gram语言模型。

此外baseline还引入进行超参数优化,该框架有助于根据评估系统性能的目标指标优化黑盒系统的参数,其流程如下图所示。

Ⅳ、Conclusion

总的来说,CHiME-8的系统比较复杂,为了提升远场语音识别的精度在数据送到ASR系统前进行了很多的处理,而实验结果也表明这些工作的确带来了WER的降低,pipeline中的某些环节可以在实际中进行应用。

参考文献:

[1]. https://www.chimechallenge.org/current/task1/baseline

[2]. https://arxiv.org/pdf/2310.12378.pdf

[3]. https://arxiv.org/pdf/2306.13734.pdf

[4]. https://arxiv.org/pdf/2010.13886.pdf

[5]. https://www.researchgate.net/publication/259118453_Channel_selection_measures_for_multi-microphone_speech_recognition

[6]. https://www.audiolabs-erlangen.de/media/pages/resources/aps-w23/papers/259461a00d-1663358899/sap_Yoshioka2012.pdf

[7]. https://groups.uni-paderborn.de/nt/pubs/2018/INTERSPEECH_2018_Heitkaemper_Paper.pdf

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

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

相关文章

【C++ | 语句】条件语句(if、switch)、循环语句(while、do while、for、范围for)、跳转语句、try语句块和异常处理

😁博客主页😁:🚀https://blog.csdn.net/wkd_007🚀 🤑博客内容🤑:🍭嵌入式开发、Linux、C语言、C、数据结构、音视频🍭 ⏰发布时间⏰:2024-05-02 2…

【工具类安装教程】IDEA Ui设计器JFormDesigner

1、下载插件 File->Settings->Plugins->JFormDesigner 2、注册教程 2.1注册机下载 链接:https://pan.baidu.com/s/1Rb1EMva5HIYbyBcYgCxIsw 提取码:6666 2.2找到目录 1、找到idea目录 2.3进入plugins目录 找到在JFormDesigner文件夹下lib文…

Flutter笔记:使用Flutter私有类涉及的授权协议问题

Flutter笔记 使用Flutter私有类涉及的授权协议问题 - 文章信息 - Author: 李俊才 (jcLee95) Visit me at CSDN: https://jclee95.blog.csdn.netMy WebSite:http://thispage.tech/Email: 291148484163.com. Shenzhen ChinaAddress of this article:https://blog.cs…

【51单片机LCD1602显示矩阵键盘原始键值】2023-6-1

缘由https://ask.csdn.net/questions/7955623 #include "reg52.h" sbit LCD1602_RS P3^5;//RS端数据命令选择(H/L) sbit LCD1602_RW P3^6;//RW端读写选择(H/L) sbit LCD1602_EN P3^7;//EN端使能信号上升沿25ns void PanDuan1602(/*LCD1602忙判断*/) { LCD1602…

Word文件导出为PDF

Word文件导出为PDF 方法一、使用Word自带另存为PDF功能 打开需要转换为PDF格式的Word文件,依次点击【文件】➡【另存为】➡选择文件保存类型为.PDF 使用这种方法导出的PDF可能存在Word中书签丢失的情况,在导出界面点击,选项进入详细设置 勾…

钉钉手机端调试前端H5项目流程

此流程以Vue项目为例 一、操作步骤 在根目录下 vue.config.js 文件中将 devServer.host 设置为 0.0.0.0 // vue.config.js module.exports {devServer: {host: 0.0.0.0,...},...}本地启动项目,获取 Network App running at:- Local: http://localhost:8080/ -…

C语言--贪吃蛇小游戏

目录 一、Win32API介绍 1.1Win32API 1.2控制台程序 1.3控制台屏幕上的坐标COORD 1.4GetStdHandle 1.5GetConsoleCursorInfo 1.6 CONSOLE_CURSOR_INFO 1.7 SetConsoleCursorInfo 1.8SetConsoleCursorPosition 1.9GetAsyncKeyState 二、贪吃蛇游戏设计与分析 2.1地图 …

设计模式之MVC模式

在编程江湖闯荡多年,我手中打磨过的设计模式多如繁星,但论及经典与实用, MVC(Model-View-Controller)模式 绝对是个中翘楚!它不仅是Web应用的骨架,更是软件架构的智慧结晶。今天,咱们…

『跨端框架』Flutter环境搭建

『跨端框架』Flutter环境搭建 资源网站简介跨平台高性能发展历程跨平台框架的比较成功案例 环境搭建(windows)基础环境搭建Windows下的安卓环境搭建Mac下的安卓环境配置资源镜像JDKAndroid StudioFlutter SDK问题一问题二问题三修改项目中的Flutter版本 …

解码Starknet Verifier:深入逆向工程之旅

1. 引言 Sandstorm为: 能提交独立proof给StarkWare的Ethereum Verifier,的首个开源的STARK prover。 开源代码见: https://github.com/andrewmilson/sandstorm(Rust) L2Beat 提供了以太坊上Starknet的合约架构图&…

全新TOF感知RGBD相机 | 高帧率+AI,探索3D感知新境界

海康机器人在近期的机器视觉新品发布会上推出的全新TOF感知RGBD相机,无疑是对当前机器视觉技术的一次革新。这款相机不仅融合了高帧率、轻松集成、体积小巧以及供电稳定等诸多优点,更重要的是,它将AI与3D感知技术完美结合,通过高帧率+AI算法,实现了对不同场景的快速捕捉与…

莫比乌斯变换的数学原理

一、说明 关于莫比乌斯变换,是一个代数几何变换的重要概念。也是双曲几何的重要理论,比如庞加莱盘就是建立在这个理论上,那么这个变换到底有哪些内容?本文将做出详细的解读。 二、线性变换和逆变换 在本节中,我们研…

SQL 基础 | AS 的用法介绍

SQL(Structured Query Language)是一种用于管理和操作数据库的标准编程语言。 在SQL中,AS关键字有几种不同的用法,主要用于重命名表、列或者查询结果。 以下是AS的一些常见用法: 重命名列:在SELECT语句中&a…

AI图书推荐:用ChatGPT快速创建在线课程

您是否是您领域的专家,拥有丰富的知识和技能可以分享?您是否曾想过创建一个在线课程,但被这个过程吓倒了?那么,是时候把这些担忧放在一边,迈出这一步了!有了这本指南和ChatGPT的帮助&#xff0c…

python学习笔记B-16:序列结构之字典--字典的遍历与访问

下面是字典的访问和遍历方法: d {10:"hello",20:"python",30:"world"} print(d[10],"--",d[20],"--",d[30]) print(d.get(10)) print("以上两种访问方式的区别是,d[key]若键是空值&#xff0c…

SMB 协议详解之-TreeID原理和SMB数据包分析技巧

在前面分析SMB协议数据包的过程中,这里,可以看到在SMB协议中存在很多的ID,即Unique Identifiers。那么这些ID表示什么含义?在实际分析数据包的过程中如何根据这些ID进行过滤分析?本文将介绍SMB/SMB2中的tree id ,并介绍如何通过tree id 快速的分析SMB数据包中各种命令交互…

抖音评论区精准获客自动化获客释放双手

挺好用的,评论区自动化快速获客,如果手动点引流涨,那就很耗费时间了,不是吗? 网盘自动获取 链接:https://pan.baidu.com/s/1lpzKPim76qettahxvxtjaQ?pwd0b8x 提取码:0b8x

【跟马少平老师学AI】-【神经网络是怎么实现的】(四)卷积神经网络

一句话归纳: 1)用1个小粒度的模式,逐个与图像的局部区域进行运算,运算结果反映模式与区域的匹配程度。 2)卷积神经网络与全连接神经网络的区别: 卷积神经网络的输出只与局部输入有连接。参数较少&#xff0…

【保姆级教程】用IDEA2023版本给RuoYi-Vue添加子模块

文章目录 前言添加子模块新建子模块新建子模块界面?新建子模块界面! 修改pom依赖配置RuoYiApplication添加测试接口配置接口权限测试 前言 若依前后端分离框架能够极大方便当前开发任务,并且使用的技术栈也相当丰富,但是目前只提…

优质短视频内容进阶SOP课

本课程致力于提升短视频内容创作标准化操作流程(SOP)。学员将学习视频策划、拍摄技巧、剪辑方法等,打造高质量短视频内容。通过实例分析和实践演练,学员将掌握优质内容制作的关键步骤,提升影响力和吸引力,成…