INTERSPEECH 2022论文解读|全双工通话中的个性化声学回声消除

简介: INTERSPEECH 是由国际语音通讯协会 (International Speech Communication Association, ISCA) 创办的语音信号处理领域顶级旗舰国际会议。历届 INTERSPEECH 会议都备受全球各地语音语言领域人士的广泛关注。本文介绍一种全双工通话中的个性化回声消除方法。该论文已被 INTERSPEECH 2022 接收。

回声消除(acoustic echo cancelation, AEC)是一项典型的语音信号处理任务。经典信号处理中的声学回声消除定义为:利用参考信号将麦克风信号中的回声消除。

随着基于神经网络(neural network, NN)在 AEC 的应用越来越多,研究者们开始考虑同时使用一个网络进行噪声抑制和回声消除,用线性滤波级联神经网络后滤波同时对噪声和回声进行抑制,从 cancellation 变为 residual suppression。也有一些文献使用 separation的思路,即从麦克风信号中分离出目标近端语音。除此之外,也有研究对降噪和回消这两个任务做解偶的探索。

当前的 NN-AEC 相关思路多为考虑对回声、噪声的抑制,当近端存在多个说话人的时候,无法抑制近端干扰说话人的语音。为此,类似于个性化语音增强,利用说话人区分作为辅助信息是否会对 AEC 任务本身带来收益是值得探索的问题。

论文题目:Personalized Acoustic Echo Cancellation for Full-duplex Communications作者:张是民,王子腾,琚雨恺,付艺辉,纳跃跃,付强,谢磊论文地址:https://arxiv.org/abs/2205.15195Demo地址:https://echocatzh.github.io/GTCNN

研究背景

实时语音通信(real-time communication, RTC)中,噪声、回声以及干扰说话人声可能同时存在。鲁棒的语音前端处理要能够保证对噪声和回声做最大程度的抑制,同时减少目标语音的失真。神经网络(NN)模型替代经典信号单通道降噪算法已经成为了一种公认的趋势。

我们知道,人脑能够处理多人说话,使得注意力集中在目标声源。不过在很多实际 RTC 场景(比如家居/办公场所)中,当前方案无法保护背景说话人的隐私,即目标说话人和背景(干扰)说话人的语音同时被传输。因此,抑制背景说话人语音也是必不可少的。

抑制干扰说话人通常需要一些额外的辅助信息来指导,其中一种方式是利用目标说话人的注册语音作为辅助信息,无需空间信息,通过说话人信息特征对目标人声做提取,对其他干扰声做抑制。针对目标说话人的个性化增强(personalized speech enhancement, PSE)成为一个研究热点。

我们之前探索了线性滤波级联NN后滤波做残余抑制的方案,近年来 NN-AEC 模型也已有较为成熟的研究方案,但是 NN-AEC 模型考虑了对回声、噪声的抑制,即没有辅助信息帮助,从而会保留所有近端说话人的语音。

本文旨在探索在全双工通信(双向同时通信,即通信的双方可以同时发送和接收信息的信息交互方式)中利用说话人信息进行个性化 AEC(Personalized AEC,PAEC)的可行性。我们结合门控卷积和 TCN,引入使用说话人特征作为辅助信息的 GTCNN。首先验证了在无辅助信息前提下,GTCNN 性能上优于当前 SOTA 的 NN-AEC 模型。进一步采用说话人嵌入作为辅助信息,以指导 personalized GTCNN 提取目标说话人的语音。PAEC 的思想源自 PSE,但区别于 PSE 的一个点是,RTC 中同时存在上行数据和下行数据,我们有可能获得对讲双端的注册语音,但是这两种注册语音在 AEC 任务上的具体收益需要对比验证。



方案介绍

针对全双工通话中存在的上述复杂声学场景,我们提出的个性化回声消除系统如图1所示,其中除了 RTC 场景中存在的上行以及下行数据,还存在近端说话人和远端说话人的注册语音,通过注册语音作为辅助信息来指导网络进行目标说话人的增强,抑制回声、干扰人声、噪声。

图1 全双工通话中的个性化回声消除

网络结构和对辅助注册语音的利用如图2所示。Speaker encoder 可以是任意一个提取说话人信息的网络,这里我们用到的是 fast ResNet。考虑到用户可能没有注册语音,或者只有远端用户注册语音,我们也对比 unconditional NN-AEC 模型,即没有使用辅助信息的情况。

此外还有只使用远端注册作为辅助信息、使用双端注册作为辅助信息的情况。其中,主模块还是基于 CRN 的变体,Encoder/Decoder 由门限卷积组成,主要用于高维特征提取。RNN 模块由 TCN 变体组成,主要用于结合辅助信息,实现个性化的时序建模目标说话人语音。

关于模型的细节以及思路进一步说明如下。除了用复数卷积来增加网络建模能力(2层卷积,4倍运算),也有一些研究使用门限卷积达到类似的作用(2层卷积,2倍运算)。本文的 Encoder 及 Decoder 全采用门限卷积,并且对实虚部分别用不同 Decoder 建模,Encoder 则是共享参数。

经典的 CRN 结构除了 Encoder-Decoder 以外,对 Encoder 提取的高维特征还需要做序列建模,因为语音本身是一种序列输入。早期有 RNN、DP-RNN、TCN。因为要做到个性化,为此需要结合说话人 embedding 的信息。

我们考虑到 TCN 本身的输入特征以及输出特征操作更为灵活,更适合结合 embedding 去使用,为此在这里使用了堆叠的 S-GTCN。每层 S-GTCN 通过不同 dilation(1,2,4,9)的4层 GTCN 组成,历史帧可以利用34帧。这种结构能够在参数量小于类 RNN 结构的前提下,取得更好的效果。

图2 基于GTCNN的PAEC模型结构图



实验与结论

语音数据集使用 LibriSpeech,目标说话人、背景说话人和远端说话人采用不同的 spk-id,随机模拟0-512ms的延时,噪声使用 DNS-Challenge[10] 的噪声,最终根据不同的信干比、信回比、信噪比生成 D1、D2 和 D3 三种情况。

其中,D1 没有背景说话人,D3 中的 SNR 均值要比 D2 高10dB,其余因素保持一致。D1 是为了验证辅助信息对于 AEC 任务本身是否有帮助。D2 与 D3 是验证了对于单一网络,简单的覆盖较复杂的声学场景(低信噪比、低信回比、低信干比)并不能获得好结果。DTLN[11] 使用开源的 pretrained 模型。

GTCNN 的 Loss 使用复数 mse,即实虚部同时建模。实验结果如表1所示。

表1 个性化/非个性化AEC的客观指标

主要实验结论总结如下。

  • 在不考虑干扰说话人时,使用对讲双端的注册语音作为辅助信息,可以提高回声消除性能。
  • 近端注册语音的帮助要比远端注册语音更大,所以“知道谁在讲”比“知道讲给谁”更有利。
  • 双端注册语音都用,指标不如只用近端注册语音,但是相比于不用辅助信息,指标有所提升。
  • 相比于利用参考信号抑制回声,目前利用有限维度的说话人 embedding 抑制干扰人声还不是很有效。
  • 如果考虑比较挑战的声学场景如信干比、信回比、信噪比都覆盖到-5dB,整体效果不会很好。



样例展示

这里给出一条同时存在背景说话声、噪声、回声的样例,其中信干比 SIR=15dB,信噪比 SNR=10dB,信回比 SER=5dB。通过样例可以看到,DTLN 无法消除样例最后片段的背景说话人,当然类似的 unconditional NN-AEC 都无法消除背景说话人,而 personalized GTCNN 可以较好的抑制背景说话人。

  • Microphone

mic音频:00:0000:10

  • DTLN

dtln音频:00:0000:10

  • pGTCNN

pgtcnn音频:00:0000:10


Future work

在未来的工作中,我们将探索更有效的说话人信息提取模型与 NN-AEC 模型的结合策略,以及更有效的利用说话人信息去提高全双工通话中的回声消除性能。

References:
[1] S. Zhang, Z. Wang, Y. Ju, Y. Fu, Y. Na, Q. Fu, L. Xie, Personalized Acoustic Echo Cancellation for Full-duplex Communications, will appear at INTERSPEECH 2022 https://arxiv.org/abs/2205.15195

[2] S. Zhang, Y. Kong, S. Lv, Y. Hu, L. Xie, F-T-LSTM based Complex Network for Joint Acoustic Echo Cancellation and Speech Enhancement, INTERSPEECH 2021 https://arxiv.org/abs/2106.07577[3] S. Zhang, Z. Wang, J. Sun, Y. Fu, B. Tian, Q. Fu, L. Xie, Multi-Task Deep Residual Echo Suppression with Echo-aware Loss, ICASSP 2022 https://arxiv.org/abs/2202.06850

[4] Z. Wang, Y. Na, Z. Liu, B. Tian, and Q. Fu, “Weighted recursive least square filter and neural network based residual echo suppression for the aec-challenge,” in ICASSP. IEEE, 2021, pp. 141–145.

[5] Z. Wang, Y. Na, B. Tian, and Q. Fu, “NN3A: Neural Network supported Acoustic Echo Cancellation, Noise Suppression and Automatic Gain Control for Real-Time Communications”, ICASSP 2022[6] H. Zhang and D. Wang, “Deep learning for acoustic echo cancellation in noisy and double-talk scenarios,” INTERSPEECH, pp. 3239–3243, 2018[7] Y. Fu, J. Wu, Y. Hu, M. Xing, and L. Xie, “DESNet: A multichannel network for simultaneous speech dereverberation, enhancement and separation,” in SLT. IEEE, 2021, pp. 857–86[8] R. Cutler, A. Saabas, T. Parnamaa, M. Purin, H. Gamper, S. Braun, K. Sorensen, and R. Aichner, “ICASSP 2022 acoustic echo cancellation challenge,” in ICASSP. IEEE, 2022.[9] M. Elminshawi, W. Mack, S. Chakrabarty, and E. A. Habets, “New insights on target speaker extraction,” arXiv preprint arXiv:2202.00733, 2022[10] https://github.com/microsoft/DNS-Challenge[11] https://github.com/breizhn/DTLN-aec

目录
打赏
0
0
0
0
1041
分享
相关文章
TiDB保证数据一致性的策略与优势
【2月更文挑战第28天】TiDB作为一款分布式数据库,通过其独特的策略和优势,确保在分布式环境下数据的一致性。本章将详细探讨TiDB保证数据一致性的核心策略,包括其采用的分布式一致性协议、数据复制机制以及容错处理等方面,并阐述这些策略所带来的优势。通过理解TiDB的数据一致性保证机制,读者将能更深入地认识其作为分布式数据库的价值。
Opus从入门到精通(二):编解码器使用
opus_encoder_get_size()返回编码器状态要求的大小。注意,这段代码的未来版本可能改变大小,所以没有assuptions应该对它做出。编码器状态在内存中总是连续,复制它只要一个浅拷贝就足够了。使用opus_encoder_ctl()接口可以改变一些编码器的参数设置。所有这些参数都已有缺省值,所以只在必要的情况下改变它们。
1679 0
python的webrtc库实现语音端点检测
python的webrtc库实现语音端点检测 文章源码在 https://github.com/wangshub/python-vad 引言 语音端点检测最早应用于电话传输和检测系统当中,用于通信信道的时间分配,提高传输线路的利用效率.
3226 0
ONNX 优化技巧:加速模型推理
【8月更文第27天】ONNX (Open Neural Network Exchange) 是一个开放格式,用于表示机器学习模型,使模型能够在多种框架之间进行转换。ONNX Runtime (ORT) 是一个高效的推理引擎,旨在加速模型的部署。本文将介绍如何使用 ONNX Runtime 和相关工具来优化模型的推理速度和资源消耗。
4820 4
数据集的版权问题如何处理?
【7月更文挑战第10天】数据集的版权问题如何处理?
503 1
内存系列学习(六):ARM处理器存储访问一致性问题
内存系列学习(六):ARM处理器存储访问一致性问题
988 0
社招一年半面经分享(含阿里美团头条京东滴滴)
重点放在专业技能和项目经验两块1.你的简历就是你给面试官提供的考点,简历上的东西必须自己Hold住,万一自己写的东西被问住了,会很尴尬,给面试官留下的印象也不好,所以就是会啥写啥2.技术栈最好不要写精通,你敢写面试官就敢问,被问倒了很尴尬的,写熟悉,了解就行怎么投简历我这里强烈建议找人内推,这样简历通过的概率大些,如果找不到,可以试试脉脉,我就是从脉脉投的简历,把状态改成寻找机会就行,会有很多人找你的推荐一个简历制作模版,我一直用的,https://www.polebrief.com/index算法这个该刷还是得刷,别偷懒,我个人感觉刷完下面几个已经够了,大家可以根据自己的基础情况选择剑指Of
ICASSP 2022论文分享-回声消除:基于多任务学习的残余回声抑制及回声感知代价函数
近期,达摩院语音实验室语音算法工程师参加ICASSP2022 回声消除国际评测项目(AEC Challenge),提出了一种自适应滤波+神经网络后滤波的多任务学习框架。本文就此方案进行简要分享。
1427 0
ICASSP 2022论文分享-回声消除:基于多任务学习的残余回声抑制及回声感知代价函数
达摩院开源工业级说话人识别模型CAM++
近日,达摩院正式向公众开源工业级说话人识别通用模型CAM++,兼顾准确率和计算效率,训练labels类别达20万,每类含20~200条梅尔频谱特征。当前该模型已上线Modelscope魔搭社区,后续将陆续开源针对各场景优化的工业级模型。
1730 0
目录
目录
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等