《TEA-PSE: TENCENT-ETHEREAL-AUDIO-LAB PERSONALIZED SPEECH ENHANCEMENTSYSTEM FOR ICASSP 2022 DNS CHALLENGE》
摘要:
本文介绍了腾讯以太音频实验室-西北工业大学个性化语音增强(TEAPSE)系统,该系统提交给ICASSP 2022深度噪声抑制(DNS)挑战赛的轨道2。我们的系统特别结合了双阶段网络,这是一个卓越的实时语音增强框架和ECAPA-TDNN扬声器嵌入网络,实现了最先进的扬声器验证性能。双阶段网络旨在将原始语音增强问题解耦为多个更容易的子问题。具体来说,在阶段1中,只估计目标语音的幅值,并将其与噪声相位相结合,得到粗糙的复频谱估计。为了便于形式化估计,在阶段2中,辅助网络作为后处理模块,进一步抑制残差噪声和干扰语音,有效修改相位信息。利用非对称损失函数对过度抑制进行惩罚,保留了更多的目标语音,有利于提高语音识别性能和主观听觉。我们的系统在挑战的盲测集上达到了3.97的整体音频质量(OVRL) MOS和0.69的单词精度(WAcc),比DNS基线高出0.57 OVRL,在轨道2中排名第一。前言:
个性化语音增强(PSE)也称为说话人提取,其目的是通过目标说话人的注册语音从复杂的多说话人噪声和混响观测信号中提取目标说话人的语音。当系统被期望对特定的目标说话者做出反应时,PSE是非常有用的。可广泛应用于实时通信(RTC)、说话人拨号、语音自动识别等领域。 最新的ICASSP 2022 DNS挑战[1]旨在促进全频段实时语音增强任务。除了对感知语音质量的要求外,DNS还将单词精度(wacc)作为后端ASR应用的重要评价指标。针对实时全频带语音通信,挑战有两个方向——非个性化DNS(轨道1)和个性化DNS(轨道2)。本文主要关注轨道2。与非实时PSE方法不同[2,3,4,5,6,7],实时PSE方法需要具体考虑模型大小、推理时间和有限的未来信息的要求。近年来,人们提出了许多实时PSE方法,如voicefilter -lite[8]、pDCCRN[9]、personalpercepnet[10]等,都取得了优异的性能。然而,实际应用的环境是复杂多变的。该算法不仅需要处理噪声和混响,还必须考虑干扰扬声器。尽管有了说话人信息的帮助,但单个实时PSE模型的抑制噪声和干扰的能力仍然有限。最近,多阶段方法在语音增强方面取得了巨大成功[11,12]。在多阶段方法中,每个阶段模型只关注单个任务,通常由一个显式损失函数指导。经过前一阶段模型的预处理后,后一阶段模型的增强输入会更加清晰简单,在自己的任务上分配的计算能力也会更加准确。 在[11]中,第一级网络的目的是估计带噪声相位的幅值,第二级网络的目的是估计第一级输出的残差实部和虚部。在spex++中[13],首先将第一级网络的输出发送到扬声器编码器网络,得到另一个新的扬声器嵌入,然后将增强的语音和两个扬声器嵌入馈送到第二级网络,进一步抑制残余噪声和干扰语音。 受多阶段方法成功的启发,本文研究了多阶段方法在个性化语音增强任务中的可行性。具体来说,在我们的方法中,第一阶段的目的是粗略估计目标语音的幅度,第二阶段的目的是进一步抑制残余噪声和干扰语音,并修改目标语音的相位信息。我们还探讨了功率压缩(PC)对PSE任务的影响。此外,考虑到挑战中的ASR评估指标,我们的TEA-PSE提交系统特别采用了非对称损失[9],以减轻过度抑制可能导致更多语音识别错误的影响。我们的TEA-PSE提交系统最终在ICASSP 2022 DNS挑战赛的盲测集上实现了4.19 SIG、4.55 BAK、3.97 OVRL和0.69 W Acc,在track 2中名列第一。所提出的TEA-PSE系统:
我们提出的TEA-PSE系统主要由两个模块组成:Speaker Encoder和语音增强模块。具体而言,我们采用ECAPA-TDNN网络[15]作为说话人编码器,并研究了一种双阶段网络用于语音增强。我们首先训练扬声器编码器。经过良好的训练后,说话人编码器网络将被冻结并用于提取说话人嵌入,以供语音增强网络执行PSE任务。2.1. Speaker Encoder: ECAPA-TDNN
在PSE系统中,扬声器嵌入用于识别观测信号中的目标扬声器,以将目标语音与所有干扰声音和噪声区分开来。在TEA-PSE系统中,我们以ECAPATDNN作为我们的扬声器编码器网络。ECAPA-TDNN被称为最先进的扬声器嵌入网络之一,这要归功于1D Res2Net[16]的杰出设计,其中包含squeeze-excitation模块[17]。在我们的ECAPA-TDNN中,我们在卷积帧层中采用2048个通道,在通道和上下文相关的统计池化层中采用256个维度。在SEblock中瓶颈的维度被设置为128。最后得到了256-dim的扬声器嵌入。关于ECAPA-TDNN的更多细节可以在[15]中找到。2.2. Speech Enhancement: Dual-stage Network
受到多级网络在语音增强方面的成功[11,12]的启发,我们在时频域采用双级网络进行PSE任务。在多阶段网络中,为了降低学习复杂度,提高模型的收敛速度,每个阶段只关注一个任务。此外,后一阶段的输入被前一阶段预先加强,这有利于明确每个阶段的学习目标。 如图1(b)所示,在阶段1中,我们将观测信号的幅值作为输入,将目标幅值作为训练目标。该阶段的目的是对非自然噪声成分和干扰语音进行粗抑制。在第1级产生增强幅度后,将其与噪声相位耦合并转换成实谱和虚谱作为第2级的输入。我们还采用观测到的噪声复频谱作为stage 2的输入,进一步去除剩余的噪声和干扰语音,并固定目标语音的相位信息。在阶段2的输入和输出之间应用残余连接,以避免梯度消失。简而言之,流程如下: 其中A为时域信号的频谱,E为提取的speaker embedding。下标r和i分别表示复数谱的实部和虚部。Yp为压缩后的光谱,p为压缩系数。S1和S2分别表示第1阶段和第2阶段的增强复数谱。定义第1级、第2级和扬声器编码器的映射函数为F1、F2、Fspk,参数集分别为Φ1、Φ2、Φspk。 阶段1和阶段2采用与[11,18]相似的网络拓扑,其中包括门控卷积编码器、解码器和堆叠时间卷积模块(称为tcm)[18]。特别是,阶段1网络只有一个解码器来估计幅度,而阶段2网络有两个解码器分别估计实部和虚部。对于说话人嵌入融合到增强网络中,我们只按照[5]将图1(a)中每个TCM组的第一个TCM处的隐藏特征和说话人嵌入沿通道轴进行拼接。它可以有效地将说话人信息与隐藏特征逐步结合起来。2.2.1. 损失函数
对于网络的目标函数,我们首先采用尺度不变信噪比(SI-SNR)[19]损失,这是一个时域损失函数: 其中,s∈R1×T和s∈R1×T分别表示估计的和原始的干净源,并且∥s∥2 =⟨s, s⟩表示信号功率。 语音过抑制是神经网络去噪中普遍存在的问题[20]。为了解决语音过度抑制问题,这里我们在损失函数的幅度部分使用非对称损失[9],目的是惩罚随意移除目标说话者声音的T-F bins。 下面的策略应用于训练两阶段网络。 首先,我们只训练具有混合损失的阶段1网络: 然后加载阶段1的预训练模型,冻结参数,优化阶段2网络,方法为: 其中L1和L2分别表示阶段1和阶段2的损失函数,p为谱压缩因子,设为0.5,算子θ计算一个复数的参数,在[21]中使用。实验设计
3.1. Dataset
DNS挑战已经向参与者发布了48kHz训练和开发集。该训练集包括大约750小时的干净语音和181小时的噪音剪辑。具体来说,干净的语音数据集包括六种语言,即英语、法语、德语、意大利语、俄语和西班牙语。英语部分由读音和唱腔组成,而其他语言只有读音。这些语音数据总共来自3230位说话者。噪声数据主要来自Audioset[22]、Freesound和DEMAND[23]。 如第2节所述,我们提出的TEA-PSE系统包括两个模块:扬声器编码器和语音增强。这两个模块的训练数据不一样。对于说话人编码器,我们使用了VoxCeleb2[24]的开发集,其中有超过一百万的话语,来自5,994个不同的说话人。为了训练语音增强网络,我们使用了675小时的干净语音数据,以及144小时的噪声数据,都是从DNS数据集中提取的。对于开发集,从DNS数据集中选择75小时的干净语音数据,从DNS数据集中选择20小时的噪声数据。我们还基于图像方法生成了100,000个单通道房间脉冲响应(RIRs)。rrs的RT60取值范围为0.1s ~ 0.6s。房间大小为3 × 3 × 3 m3 ~ 8 × 8 × 4 m3。声源与传声器之间的距离为0.3m ~ 6.0m。训练集和开发集分别包含85,000和10,000个rir。应该提到的是,训练集和开发集之间没有重叠。 所提出的TEA-PSE系统的测试数据可分为三部分。仿真集的目的是测量该模型在离集扬声器上的性能。我们使用KING-ASR-215数据集作为源语音,将来自DNS噪声集的17小时数据作为源噪声,再加上5,000个rir,生成2,000个noisyclean对作为模拟集,包含200个扬声器。对于每个去噪对,增加一个SIR范围为[- 5,20]dB的随机干扰扬声器,增加一个信噪比范围为[- 5,20]dB的随机噪声。第二部分是挑战赛主办方提供的官方开发套件。它有1443个片段,都是用台式机和笔记本电脑收集的。第三部分是挑战赛组织者提供的官方盲测集,由859个片段组成,这些片段是通过台式机/笔记本电脑和移动设备收集的。3.2. Training setup for the speaker encoder network
在ECAPA-TDNN说话人编码器网络的训练过程中,我们采用了以下数据增强策略: • Waveform dropout : 一些原始波形的随机块被替换为零。 • SpecAug : 对输入频谱进行时间和频率掩蔽[25]。 • Additive noise : 将来自MUSAN[26]的三种噪声添加到V oxCeleb 2的原始语音中。 • Reverberation : 混响与V oxCeleb 2中的原始语音相混淆,rir来自[27]。 • Speed perturbation : 速度摄动(0.9,1.1),不改变螺距。 • Additive noise & reverberation : 加性噪声和混响是同时添加的。 提取一组窗口大小为25ms、窗移为10ms的80-dim FBank特征作为输入。在训练过程中,批大小设置为256。使用triangular2策略,模型训练的学习率在1e-8和1e-3之间变化[28]。训练中的优化者是Adam。AAM-softmax的超参数尺度和余量分别设置为30和0.3。为了防止过度拟合,我们对模型中的所有权重应用了2e-4的权重衰减。3.3. 语音增强网络的训练设置
我们的训练数据以48kHz采样率实时生成,并在每批中分割为4s块,SNR范围为[- 5,20]dB, SIR范围为[- 5,20]dB。具体而言,我们采用以下策略来增加数据: • 混响 : 为了模拟远场场景,随机选择50%的干净语音数据与RIRs进行卷积。 • 下采样和上采样 : 我们选择20%的训练数据随机下采样到[12,44]kHz,然后上采样到48kHz。 • 不同的干扰场景 : 在添加干扰扬声器时,20%的训练数据只包含一个干扰扬声器,30%的训练数据包含一个干扰扬声器和一种噪声,30%的训练数据只包含一种噪声,其余20%的训练数据包含两 种噪声。 我们使用20ms帧长和10ms帧移,并结合汉宁窗口进行前端处理。STFT点的个数为1024,得到513-dim的频谱特征。Adam对模型进行了优化。这两个阶段是独立训练的。首先对第一阶段模型进行训练,然后将其冻结,作为第二阶段模型的预训练模型。初始学习率为0.001,如果连续两个epoch的验证损失不再减少,则学习率将减半。批量大小设置为20。与[11]类似,对于两个阶段网络,编码器和解码器中卷积层的核大小和步幅沿频率和时间轴分别为(3,2)和(2,1)。所有卷积层的通道数保持为80。每个网络有6个编码器和解码器。在tcm中,1x1-Conv后的压缩特征大小设置为80。TCMs总数为4个,核大小为3,膨胀率为{1、2、5、9}。近年来,功率压缩频谱在语音增强任务中被证明是有效的[12,14]。因此,在输入到网络之前,我们进行了频谱量级的压缩。具体来说,压缩参数β设置为0.5。实验结果及分析
4.1. 仿真数据集上的性能比较
我们进行了烧蚀实验来证明每个提出模块的有效性,包括a)单级,b)单级PC, c)单级PC和Asym, d)双级, e)双级PC, f)双级PC和Asym。我们还将所提出的模型与Voicefilter[3]、pDCCRN[9]和GateCRN[29]进行了比较。我们使用上述相同的数据实现和训练这些模型。Voicefilter和GateCRN在实域,只对幅值进行建模,而pDCCRN是DCCRN的个性化版本[30],工作在复域,同时对幅值和相位进行建模。所有实域模型都用L1进行优化,所有复杂域模型都用L2进行优化。对于开发集和盲测集,DNS基线的结果由组织者提供。 根据表1的结果,可以得出以下结论: 仿真集上的性能比较。“PESQWB”表示16kHz音频文件的PESQ。“嘈杂”表示没有语音增强的嘈杂语音。“single -stage”表示单一的第一阶段模型。“Dual-stage”表示双级网络。“PC”表示功率压缩。“asymm”表示非对称损失。 表2 DNSMOS P .835在官方开发集上的性能比较。DNS挑战使用DNSMOS P .835来测量语音质量(SIG)、背景噪声质量(BAK)和整体音频质量(OVRL)。- 首先,我们的PC和Asym双级网络在所有指标上都超过了其他比较方法。
- 功率压缩采用功率压缩时,性能略有提高。
- 对于单级模型,不对称Loss将使PESQ-WB、STOI、ESTOI和SI-SNR分别下降0.055、0.36%、0.49%和0.326。然而,对于双级模型,如果使用非对称损失,PESQ-WB、STOI、ESTOI和SI-SNR分别获得0.071、0.69%、0.89%和0.014的改进。可能的原因是为了保留更多的语音而提出的非对称损失可能会导致噪声抑制能力的轻微下降。因此,单级模型的非对称损失性能略有下降。然而,双级处理后的语音失真比单级处理后的语音失真更严重,非对称损失有助于双级模型提高语音质量,这可以从表2中的System 6-11中得到证实。