【AEC回声消除论文(4)】Acoustic Echo Cancellation With The Dual-signal Transformation Lstm Network

Acoustic Echo Cancellation With The Dual-signal Transformation Lstm Network

双信号变换LSTM网络声学回声消除

摘要

本文将双信号变换LSTM网络(DTLN)应用于实时声学回声消除(AEC)任务。DTLN结合了短时傅里叶变换和堆叠网络方法中的学习特征表示,实现了时频和时域的鲁棒信息处理,其中还包括相位信息。该模型仅对真实和合成回声场景进行60小时的训练。训练设置包括多语种语音、数据增强、附加噪声和混响,以创建一个模型,该模型应该能很好地推广到各种各样的现实条件。DTLN方法在干净和有噪声的回声条件下实现了最先进的性能,可以有效地减少声学回声和附加噪声。该方法在平均意见评分(MOS)方面优于AEC-Challenge基线0.30。

1. 介绍

在音频/视频通话中,如果扬声器的声音由近端扬声器播放,并由近端麦克风接收,则会产生回声。听到自己声音的回声可能会非常烦人,这是语音研究中一个重要话题,尤其是在远程场景的可靠通信解决方案日益重要的情况下。消除回声的标准方法是通过自适应滤波器(如归一化最小均方(NLMS)[1])估计从扬声器到麦克风的脉冲响应,并用估计的脉冲响应对远端信号进行滤波。这个估计信号从近端话筒信号中减去。这种方法在只有远端信号且麦克风没有近端语音时效果最佳。在远端和近端同时讲话的情况下,也称为双讲的情况下,滤波器不会正确地更新或直接发散[2]。在这种情况下,通常使用双讲检测器来暂停更新。

最近,深度学习和神经网络已经应用于声学回声消除,并取得了令人信服的结果[3,4,5,6]。几种方法在混合系统中结合了神经网络和自适应滤波器[4,5,6]。从深度学习的角度来看,AEC任务可以看作是一个语音或音频源分离问题[3]。语音分离领域近年来发展迅速[7,8,9]。然而,目前的说话人分离模型往往侧重于序列处理,而不是因果实时处理。由于高延迟是不可取的,并且会增加语音通信的工作量,因此需要能够以帧为基础进行实时处理的系统。循环神经网络(RNN)如门控循环单元(GRU)[10]或长短期记忆(LSTM)[11]网络通常用于具有实时能力的模型。由于LSTMs和gru的单元结构具有门和状态,因此可以根据语音信号的需要在帧的基础上对时间序列进行建模。RNN已经在[3,4,5]中应用于AEC问题。Interspeech 2020[12]的深度噪声抑制挑战表明,各种架构都可以应用于实时信号增强[13,14,15]。为了将AEC作为一个类似的主题,提出了AEC挑战[16],其目的是提供一套通用的训练数据和基于国际电联P.808框架[17]的客观评估方式,以比较各种AEC方法。

本文采用双信号变换LSTM网络[15]实现实时回声抵消(DTLN-aec)。原始的DTLN模型在实时场景[15]的降噪、混响和真实场景测试中被证明是有用的和鲁棒的。它将短时傅里叶变换(STFT)与基于一维卷积层的学习特征表示相结合,采用一种堆叠网络方法。该模型基于时频(TF)域和学习特征域的比率掩膜掩蔽。由于这种设计选择,它可以利用来自STFT幅度以及学习到的特征表示的信息。由于尚不清楚这种方法是否有益于AEC,我们将该模型应用于此背景下,目的是构建一个直接的基于RNN的端到端AEC系统,该系统可以轻松地集成到常用的信号处理链中。对于这种新的应用,通过将远端信号作为附加信息馈送到每个模型块来扩展原始模型。这个扩展类似于[3]中所追求的过程,重要的区别是我们使用了因果LSTM而不是因果BLSTM。最近出版的论文表明,选择良好的训练设置和数据增强[18,19]对于实现高语音质量的语音增强至关重要。因此,本研究追求的第二个目标是通过广泛的数据增强来增加AEC的鲁棒性,以涵盖混响和多语种语音。

2. 方法

2.1. 问题建模

对于声学回声消除系统,通常有两个输入信号,麦克风信号y(n)和远端麦克风信号x(n)。近端麦克风信号可以描述为如下信号的组合:
在这里插入图片描述
其中s(n)为近端语音信号,v(n)为可能的近端噪声信号,d(n)对应回声信号,回声信号是远端话筒信号x(n)与传输路径h(n)的脉冲响应的卷积。传输路径是由音频设备的缓冲产生的系统延迟、扬声器与放大器结合的特性以及近端扬声器与近端麦克风之间的传递函数的组合。回声场景如图1所示。
在这里插入图片描述

所期望的信号是近端语音信号s(n),而除了近端信号之外的所有其他信号部分都应被删除。本任务为音频源分离任务。如果只有远端信号和噪声信号存在,所期望的信号应该是静音的。

2.2. 适用于AEC的DTLN模型

在2020年icassp 挑战赛[12]的背景下,双信号转换LSTM网络(DTLN)[15]被开发出来以降低噪声语音混合声音中的噪声。DTLN方法适用于AEC任务(DTLN-aec1)。模型体系结构如图2所示,并在下面进行描述。
在这里插入图片描述

该网络由两个分离核组成。每个分离核有两个LSTM层和一个全连接层,具有sigmoid激活来预测掩码。
第一分离核由近端和远端传声器信号的级联归一化对数功率谱作为输入。通过即时层归一化(iLN)对每个麦克风信号进行单独归一化,以考虑电平变化。即时层归一化类似于标准层归一化[20],其中每个帧单独归一化,但没有随着时间的推移积累统计信息。这个概念在[21]中作为通道层归一化引入。第一个核心预测一个时频掩模,该掩模应用于近端麦克风信号的非归一化幅度STFT。利用原始近端麦克风信号的相位,用逆FFT将估计的幅度转换回时域。

第二个核心使用由1D-Conv层创建的学习特征表示。这种方法受到[9,22]的启发。该核心由先前预测信号的归一化特征表示和远端麦克风信号的归一化特征表示组成。对于将两个信号转换到时域,应用相同的权重,但iLN的归一化是单独执行的,以实现每个表示的单独缩放和偏移。
将第二个核的预测掩码与第一个核输出的非归一化特征表示相乘。这种估计的特征表示形式通过1D-Conv层转换回时域。对于连续时间信号的重构,采用了重叠相加的方法。

对于回声消除任务,选择帧长为32 ms,帧移为8 ms。FFT的大小是512,学习到的特征表示的大小也是512。由于从语音中去除语音和噪声是相当具有挑战性的,与[15]中相当小的模型相比,每层选择512个LSTM单元。这导致当前模型共有103m个参数。此外,对每层128和256个单元的模型进行训练,以探索模型性能如何随尺寸缩放。

2.3. 数据集和数据集准备

通过挑战提供了两个训练数据集,一个是合成数据,一个是真实记录,均为16 kHz采样频率。
合成数据集来源于为[12]创建的数据集。该数据集包含10,000个示例,包含单讲、双讲、近端噪声、远端噪声和各种非线性失真情况,其中每个示例包含远端语音、回声信号、近端语音和近端麦克风信号。前500个示例包含来自演讲者的数据,这些数据不包含在任何其他测试数据集中。该数据集将用于仪器评估,并被称为“双讲测试集”。要了解更多细节,请参阅描述AEC-Challenge[16]的论文。对于训练,只使用远端信号和回声信号,并将其切割成4秒的块。
真实的数据集由不同的真实环境组成,其中有人类扬声器和不同设备捕获的信号。关于该数据的详细信息在[16]中提供。和以前一样,只有远端信号和回声信号在这个数据集的4秒块中使用。对于P. 808框架的评估,挑战组织者提供了一个盲测试集。盲测试集由大约800个记录组成,分为干净和有噪声的子集。

选取[23]采集的多语种数据中的干净语音作为近端信号。该数据集包含法语、德语、意大利语、汉语、英语、俄语和西班牙语语音。[23]中描述了原始数据的各种来源。德国的数据由于质量差而被排除在外。语音信号被分割成样本,持续时间为4 s。均方根(RMS)小于或等于零的样本将被丢弃。RMS小于零可能是由于舍入错误造成的。作为一种额外的排除噪声信号的机制,在[15]中提出的语音增强模型对每个文件进行处理,通过从噪声信号中减去估计的语音信号来估计一个语音信号和一个噪声信号。信噪比小于5db时,语音文件将被丢弃。最后,从每种语言中提取20小时,创建一个120小时的多语言语音数据集。

为了覆盖回声场景中方差较大的噪声类型,我们使用了[23]提供的噪声语料库。与之前一样,噪声文件被切割成4个s样本,RMS小于或等于零的样本被丢弃。此外,还添加了MUSAN语料库[24]中的器乐音乐(同样是在4秒分割之后)。这将导致大约140小时的噪音。

最后,使用[25]收集的脉冲响应(IR)数据集,构建反映不同混响量影响的真实回声场景。数据集包含各种来源的真实脉冲响应,如[26,27,28]和基于镜像声源方法[29]的模拟脉冲响应。对于每个脉冲响应,直接路径的起点被识别并设置为[19]中提出的位置0。

2.4. 训练和数据增强

所有训练样本都是在训练过程中在线创建的,不使用近端语音、远端语音、噪声和IRs的固定组合。总共使用60小时的回声场景,48小时用于训练,剩余12小时用于训练验证。在训练中,使用了挑战组织者提供的所有远端和回声信号(大约32小时的数据)。为了创建额外的回声数据,从先前创建的多语种数据集中使用了28小时的语音。每个语音文件与一个随机选择的IR进行卷积,每个IR除以第一个样本的绝对值。在下一步中,除第一个样本外的所有样本都乘以从-25到0之间的均匀分布中随机获得的增益,以增加IRs。这个过程同样受到[19]的启发。

在50%的情况下,噪声样本中添加了一个随机从均值为5 dB,标准差为10 dB的正态分布中提取的信噪比,以考虑有噪声的远端信号。为了创建回声信号,先前创建的远端信号被10到100毫秒之间的随机值延迟,以模拟处理和传输延迟。延迟信号由一个随机的较低截止频率在100 ~ 400hz和较高截止频率在6000 ~ 7500hz的带通信号滤波。这一步引入了额外的方差,并对设备内扬声器通常较差的声传输特性进行了建模,特别是在低频区域。回声信号最后与近端信号进行相同的IR卷积。由于原始挑战数据集已经涵盖了这方面,因此不包括额外的非线性。

对于近端信号,使用来自多语种数据集的60小时。每个语音文件由随机选择的IR进行卷积,如合成远端信号所述,IR是随机缩放的。将[18]提出的随机谱整形用于语音信号的降噪,提高鲁棒性,模拟各种传输效应。

在70%的情况下,噪声被添加到近端语音,信噪比取自均值为5,标准差为10的正态分布,以将焦点转移到更具挑战性的噪声近端条件。随机谱整形也单独应用于噪声信号。

在5%的情况下,随机持续时间的近端语音段被丢弃,以解释仅远端场景。在90%的情况下,回声信号被添加到近端语音中,其语音回声比取自均值为0 dB,标准差为10 dB的正态分布。对回声信号和远端语音信号进行随机谱整形。如果不应用回声,远端信号被设置为零或低水平噪声,范围在-70和-120 dB RMS之间,并具有随机的频谱整形。用作模型输入的所有信号都服从于从相对于剪切点的-25到0 dB的均匀分布中选择的随机增益。

选择[30]中提出的时域信噪比损失作为代价函数。信噪比损失是尺度相关的,这是理想的实时应用和隐式集成相位信息,因为它是在时域计算。该模型使用Adam优化器[31]训练100个epoch,初始学习率为2e-4(512个LSTM单元),5e-4(256个单元)和1e-3(128个单元)。学习率每两个周期乘以0.98。应用值为3的梯度范数裁剪。批大小设置为16,样本长度设置为4s。在连续的LSTM层之间,引入25%的dropout以减少过拟合。每个epoch都使用验证集对模型进行评估。使用验证集上性能最好的模型进行测试。

2.5. 基线系统

挑战组织者还提供了一个基于[32]的基线。基线由两个GRU层和一个具有sigmoid激活的全连接网络组成,用于预测时频掩码。该模型采用麦克风的短时对数功率谱和loopback信号的级联作为输入,并预测了一种用于麦克风信号STFT幅度的频谱抑制掩模。利用麦克风信号的相位,用逆STFT将预测的幅度谱转换回时域。由于基线模型在挑战中无法访问,与使用时频掩蔽的连续LSTM层模型相比,我们训练了一个额外的基线系统来量化堆叠网络的性能。该模型有四个连续的LSTM层,每个层有512个单元,然后是一个具有sigmoid激活的全连接层,用于预测TF-mask。模型的输入等于DTLN-aec模型的第一个分离核。掩模与近端麦克风信号的非规整幅度相乘,并转换回时域。这样的配置结果是一个具有8.5M参数的模型。该模型使用与DTLN-aec模型相同的设置进行训练。

2.6. 客观评价与主观评价

用于评估AEC系统的广泛使用的PESQ[33]和ERLE[34]通常与主观评价[16]没有很好的相关性。然而,客观的测量可以表明模型是否按预期执行。由于用于仪器评估的数据集仅包含双讲场景,并且由于AEC问题被视为源分离问题,因此SI-SDR[35]被用于评估分离性能。此外,PESQ还用于表示语音质量。这些措施用于比较附加基线和不同大小的DTLN-aec模型在双通话测试集上。

为了更好地了解AEC的真实表现,挑战赛组织者在亚马逊平台上基于国际电联P .808众包框架[17]进行了一项研究。总共评估了四种场景:单讲近端(P .808),单讲远端(P .831[36]),双讲回声(P .831)和双讲其他干扰(P .831)。有关评价过程的详细信息,请参见[16]。

3.结果

客观评价结果和主观评价结果分别见表1和表2。
在这里插入图片描述
在这里插入图片描述

客观结果:在所有条件下,所有模型都比未处理的条件有所改善。DTLN-aec的改进最大,为512个单元,DTLN-aec的改进最小,为128个单元。256和512单元的模型优于基线。在所有模型的所有噪声条件下,相对于未处理条件的PESQ和SI-SDR的改善是相对稳定的。在所有条件下,512单元模型的平均SI-SDR改善为14.24 dB,平均PESQ改善为0.78 MOS。

主观结果:在所有条件下,除了干净的单讲近端条件外,DTLN-aec模型优于AECChallenge基线。对于干净子集和噪声子集,MOS的平均改善分别为0.34和0.26。

执行时间的结果:为了符合AECChallenge的规则,一个音频帧的执行时间必须小于帧移,在我们的例子中是8毫秒。使用DTLN-aec的TensorFlow lite模型在两个cpu上测量执行时间,每层有512个LSTM单元。我们测量的执行时间为3.06毫秒(使用双核I5-3320M在2.6 GHz CPU上)和0.97毫秒(使用I5-6600K四核CPU在3.5 GHz上),两者都符合aec挑战规则。

4. 讨论

在比较不同尺寸的模型时,DTLN-aec模型在参数数量方面似乎缩放得很好:128个单元的小模型在噪声条件下已经达到了很好的改善,256个单元的模型在参数不到一半的情况下优于基线。这也显示了使用堆叠模型与使用四个连续LSTM层的模型相比的优势。对于AEC任务,使用具有更高建模能力的模型可能是一个优势,因为它不仅是将语音与噪声分离,而且是将语音与语音分离,这可能是一个更具挑战性的任务——特别是当语音具有相似的特征时。对于针对特定硬件定制的应用程序,可以根据计算资源和功耗等约束条件来选择模型的大小。

包括四层基线在内的所有模型都比未处理的双讲测试集信号表现出不断的改进。这表明训练设置能够表示四种测试双谈话条件的方差。在盲试验集上的结果也支持了同样的结论。该模型显示,在包含回声信号或/和噪声的所有条件下,aec挑战基线均有所改善。训练集只包含英语语音样本,因此我们的研究没有评估对多种语言的泛化,这需要在未来的研究中解决。在干净ST-NE条件下的结果仅表明基线和DTLN-aec模型对无噪声和回声的干净近端语音有相似的影响,对最优信号的不利影响非常有限。然而,当收听处理后的信号时,在某些情况下仍然可以听到一些残留的噪声。在DTLN-aec模型的未来改进中,可以添加额外的降噪来进一步提高语音质量。为了减少仅在远端条件下的残余噪声,可以添加语音活动检测来检测近端语音,并在没有近端语音的情况下对信号进行门控。

5. 结论

研究表明,双信号变换LSTM网络(DTLN-aec)可以成功应用于实时声学回声消除。DTLN-aec在AEC-Challenge的盲测试集和合成双话测试集上表现出了最先进的性能,在AEC-Challenge中排名前五。该模型通过对公开数据的大量数据增强进行训练,从而为现实世界的应用提供了可重复和鲁棒的模型。

参考文献(略)

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值