?
导读:
随着音视频通信会议越来越普及,与会各方在不同环境中遇到了越来越明显且差异的混响场景,譬如大会议室场景、玻璃会议室场景和小房间且隔音材料不佳场景等。为了保证更好的听音可懂度和舒适度,通信中的语音解混响需求愈来愈重要且紧迫。本文讲解了网易云信在语音解混响以及提升通信效果方面的一些研发进展和观点,重点研究基于自适应结合双麦信号相关性的方案,总体目标是在保真语音情况下提升解混响效果。
文|张龙 网易云信资深算法工程师
一、语音混响的相关介绍
(一)混响介绍
下图描述了语音混响产生的原因和过程,信号中混响程度取决于:
- 房间密闭形态;
- 房间大小;
- 反射材质;
- 说话人距离麦克风距离等。
文章图片
?
如下图,根据到达时间的先后,混响一般分为:直达声+早期混响+后期混响, 他们在声学理解上有不同的意义。
文章图片
?
下图展示语音混响效 果:
文章图片
?
(二)混响和解混响研究发展历程
- 最初的研究来自对房间内声音传播现象的基础研究,随后应用于音乐厅、教室等空间的声学设计,为了更好地传播声音包括音乐、人声等;
- 接下来研究了混响对于语音可懂度的影响;
- 一些研究者关注混响带来的正向收益:提升语音自然度、层次感和空间感等,包括可懂度提升。研究者通过人造混响感来提升多样体验,譬如娱乐、游戏和音乐领域;如下图,网易云信基于 Feedback Delay Network(反馈延时网络)方案提供人造混响感的能力;
文章图片
?
- 70 年代开始,语音解混响的研究主要关注混响对通话和录音的负面效果,提升可懂度和质量;
- 04~05 年之后,免提通信和视讯通话会议兴起,结合 11 年后语音助手(尤其强调远场)的发展,语音解混响的研究和应用越来越广泛。
文章图片
?
文章图片
?
二、重点算法和研究进展 结合算法实践和运算考虑,当前网易云信从传统算法开始实现语音解混响,配合降噪算法提升通信体验。
下图将语音解混响算法根据信号模型和目标进行了大致分类:
文章图片
?
文章图片
?
本文主要关注以下重点:
- 线性预测类演进算法;
- 相关性抑制类算法;
- 然后讨论后续结合深度学习的计划。
文章图片
?
文章图片
?
模型转换可得:
文章图片
?
文章图片
?
Xt^m 表示第 m 个麦克风在 t 时刻接收到的信号,Lm 表示麦克风数目;hk^m表示信源 s 到达第 m 个麦克风的冲击响应,Lh 是冲击响应长度;nt^m 表示第 m 个麦克风在 t 时刻接收到的加性噪声信号成分。
文章图片
?
文章图片
?
其中
文章图片
?
文章图片
?
表示麦克风 m 在 t 时刻前的 D 时刻及之前接收到的数据。dt^m 是前述前期反射信号,即解混响的目标信号;当然也有直接将求解源信号 s 作为目标信号的模型,但不是主流,因为前期混响一般有利于听觉和识别系统。
继续求解上述模型可得:
文章图片
?
文章图片
?
对上述模型进行时频域转换并引入 Recursive Least Squares 转换可得:
文章图片
?
文章图片
?
求解上述目标函数得到如下解:
文章图片
?
文章图片
?
上述求解可总结为如下步骤:
文章图片
?
文章图片
?
(二)相关性降噪解混响算法介绍 基于后期混响信号部分是散射场噪声的假设, 利用麦克间散射场噪声相关性估计方法计算后期混响成分大小,然后采用谱减法估计增益的方式解混响。经验表明,这一类算法在降散射场噪声方面性能更优。
信号模型:
文章图片
?
文章图片
?
计算如下中间结果:
文章图片
?
文章图片
?
最后得到如下降噪增益,施加增益至输入信号可解混响目标:
文章图片
?
(三)综合应用
- 对于通信任务,目前网易云信重点关注 AWPE 串接降噪的方案实现;同步考虑在散射场噪声强的场景结合 CDR 抑制算法提升性能;
文章图片
?
通信中上行必然包含降噪模块,解混响算法需要配合降噪实现联合调优的性能,一般通过模块和参数调试实现。
文章图片
?
- 智能语音任务,一般采用线性语音解混响作前期增强处理:
文章图片
?
文章图片
?
文章图片
?
未来趋势:
\
文章图片
?
文章图片
?
文章图片
?
三、算法实现和运算优化 关于上述第二节中算法具体实现中的关注点:
文章图片
?
文章图片
?
- 设置好 buffer 存取机制(涉及麦克数目、历史帧数、频点等),降低计算耗时;RLS 算法注意使用 Woodbury matrix identity 规则替换矩阵求逆;
文章图片
?
文章图片
?
- 如公式所示,这一类统计信息可以尝试用平滑更新机制代替;
文章图片
?
文章图片
?
- 注意部分矩阵尽量采用对角化,甚至实数化实现计算量降低;
文章图片
?
文章图片
?
-
文章图片
?可以通过表格化,频率索引减少计算量。
文章图片
?
四、结果汇报和后续展望 (一)当前结果展示 当前结合降噪我们设置解混响阶段优先语音保真;当前算法处理混响能力约 800ms~1s,最重要的调试参数是:遗忘因子和 block 数目。
文章图片
?
文章图片
?
(二)后续展望 通信领域而言:
- 遗忘因子的自适应实现方案;
- 深度学习方案实现语音解混响和降噪的融合,替代目前结合传统算法的方案。
文章图片
?
文章图片
?
未来:
文章图片
?
文章图片
?
文章图片
?
参考文献 [1] Xiang, Teng, Jing Lu, and Kai Chen. "Multi-channel adaptive dereverberation robust to abrupt change of target speaker position." The Journal of the Acoustical Society of America 145.3 (2019): EL250-EL256.
[2] Taniguchi, Toru, et al. "Generalized weighted-prediction-error dereverberation with varying source priors for reverberant speech recognition." 2019 IEEE Workshop on Applications of Signal Processing to Audio and Acoustics (WASPAA). IEEE, 2019.
[3] Tang, Xinyu, et al. "A Time-Varying Forgetting Factor-Based QRRLS Algorithm for Multichannel Speech Dereverberation." 2020 IEEE International Symposium on Signal Processing and Information Technology (ISSPIT). IEEE, 2020.
[4] Schwarz, Andreas. Dereverberation and Robust Speech Recognition Using Spatial Coherence Models. Diss. Friedrich-Alexander-Universit?t Erlangen-Nürnberg (FAU), 2019.
作者介绍 张龙,就职于网易云信音视频实验室,目前从事音频信号增强和动态增益控制等研发工作。
【实时通信服务中的语音解混响算法实践】?
推荐阅读
- java|Java 学习路线
- java底层学习|记录暑假java后端深度底层学习计划
- java|视频教程-WebSocket整合SpringBoot、SockJS、Stomp、Rabbitmq分布式消息推送-Java
- Java进阶之路|撸了几行骚代码,解放了双手
- Java进阶之路|崩溃,我带的实习生把图片直接存到了服务器上
- java|Github标星86k 的Spring Cloud学习教程+实战项目推荐!!上岸蚂蚁金服!!
- 程序员|作为一个Java程序员,西安java工资统计
- Java进阶之路|厉害,我带的实习生仅用四步就整合好SpringSecurity+JWT实现登录认证
- UUID 正在被 NanoID 取代!