回声消除(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