1.本发明属于语音增强的领域,主要针对全频带语音的噪声抑制问题。
背景技术:2.根据语音的采样率,一般将语音分为窄带语音(8khz)、宽带语音(16khz)、超宽带语音(32khz)和全频带语音(48khz)。在日常的语音采集活动中往往存在背景噪声的干扰,它们可能来自于洗衣机、空调机、汽车鸣笛或施工工地等,这些干扰可能会造成语音的失真,既影响了语音的清晰度、可懂度,也会对后续的语音处理任务,如自动语音识别等,产生消极的影响。在最近几年,基于深度神经网络的噪声抑制模型不断地被提出,并在处理效果上取得了越来越优异的表现。目前大多数的神经网络模型主要用于处理宽带语音,这是因为宽带语音已经基本包含了人类语音中的主要能量和重要的谐波信息,它已经较好地保留了说话人的音色和完整语音信息。而随着人们对语音质量要求的进一步提升,全频带语音处理任务也愈加受到关注,全频带语音相比于宽带语音保留了更多的语音高频信息,这些频段虽然不含有关键的语音内容成分,但增强了语音的金属感,使得语音听起来更为清晰通透,对于具有高保真要求的视听和通讯场景也是十分重要的。然而处理宽带语音的神经网络模型往往并不能直接用于处理全频带语音,这存在几方面的原因,首先在保持相同频谱分辨率的条件下,全频带语音的频谱维数是宽带语音频谱的三倍,若直接将频谱作为模型输入,模型计算量也会增至原来三倍,这对于有实时处理要求的模型显然是不可接受的;其次,全频带语音频谱的高低频段能量、结构特征以及信噪比具有显著差异,低频段(5khz以下)包含了大部分语音能量和语音谐波结构,信噪比相对较高,而高频段(5khz-24khz)主要为气声和清辅音成分,含有语音能量较少,因此该频段信噪比一般较低,且此时高频段对应维数大约是低频段的四倍,模型在并行处理两个频段时容易将注意力集中于高频段,而对包含主要语音成分的低频段的处理效果会有下降。针对这些存在的问题,最近研究者们也都分别提出了不同的解决方案,推动着全频带语音增强模型的发展。
3.rnnoise(valin j m.a hybrid dsp/deep learning approach to real-time full-band speech enhancement[c]//2018ieee 20th international workshop on multimedia signal processing(mmsp).ieee,2018)和percepnet(valin j m,isik u,phansalkar n,et al.a perceptually-motivated approach for low-complexity,real-time enhancement of fullband speech[j].interspeech,pp.2482
–
2486,2020)都提出了使用频谱包络滤波的方式进行全频带语音增强,他们使用等效矩形带宽滤波器组将全频带语音幅度谱维数压缩至22维和34维,将其作为神经网络输入并输出对应频谱包络增益系数。这样的处理方法大大降低了模型的计算复杂度,对模型的实时运算十分有益,但压缩导致的频谱分辨率的损失会不可避免地造成噪声的残留,甚至产生明显的人为噪声。
[0004]
针对超宽带的语音增强模型s-dccrn(lv s,y fu,xing m,et al.s-dccrn:super wide band dccrn with learnable complex feature for speech enhancement[j].2021,arxiv:2111.0838)提出了子带处理的方法,由于语音的低频和高频成分特征差异明
显,可以先将语音频谱进行拆分,分别使用两个子带模块去处理低频段频谱和高频段频谱,最后再使用全局模块对两个处理后的频段进行整合,避免由频谱衔接的不连续产生人为噪声。该模型注意到了高低频段的差异性并进行分块化处理,在处理结果上也显著优于rnnoise和percepnet,但模型最后仍须引入一个模块对分块处理的结果进行平滑整合,这额外增加了模型的计算量。
[0005]
此外,最近多阶段递进式的模型处理框架在deepnoisesuppressionchallenge竞赛中取得了突出结果(li,a.,liu,w.,luo,x.,yu,g.,zheng,c.,li,x.a simultaneous denoising and dereverberation framework with target decoupling[j].interspeech,pp.2801-2805,2021),该方法将噪声抑制分解为幅度谱估计和复数谱恢复两个阶段,引导网络首先估计纯净语音的短时傅里叶幅度谱,将信号整体信噪比提升,再由复数谱恢复网络对残留的噪声成分进行更彻底地抑制。
技术实现要素:[0006]
考虑到上述模型的优势和存在的缺陷,本发明将频谱压缩、分块化处理以及子带衔接的处理思想相结合,针对性地设计了频谱压缩曲线,并将其作为一个可训练模块融入深度神经网络中,既引导了网络学习的方向,又让网络在参数训练的过程中自适应地调整压缩系数,以达到最优的频谱恢复效果。受到多阶段递进增强结构的启发,本发明也将方法分为幅度谱增强和复数谱恢复两个部分,幅度谱增强过程整体提升语音的信噪比,紧接着的复数谱恢复过程能更为细致地恢复纯净语音。
[0007]
本发明采用的技术方案为:
[0008]
基于频谱压缩和神经网络的多阶段全频带语音增强方法,包括以下步骤:
[0009]
步骤1,设计全频带语音频谱压缩曲线,根据所述压缩曲线计算压缩模块参数;
[0010]
步骤2,使用清晰语音数据集、噪声数据集以及房间冲激响应数据集合成模拟含噪混响语音;
[0011]
步骤3,对所述模拟含噪混响语音的数据和其对应的纯净混响语音数据分别做短时傅里叶变换得到两者的短时傅里叶谱;
[0012]
步骤4,构建mha-dpcrn模型,该模型由幅度谱增强网络mhan和复数谱增强网络dpcrn级联组成;使用步骤1得到的压缩模块参数初始化mha-dpcrn的频谱压缩模块;使用步骤3得到的短时傅里叶谱训练所述mha-dpcrn模型权重;
[0013]
步骤5,对待增强的含噪混响语音信号做短时傅里叶变换得到短时傅里叶谱;
[0014]
步骤6,将步骤5获得的短时傅里叶谱输入步骤4完成训练的mha-dpcrn模型,输出增强语音的短时傅里叶谱;
[0015]
步骤7,对增强语音的短时傅里叶谱进行逆短时傅里叶变换得到增强语音的时域信号。
[0016]
进一步地,所述步骤1中,频谱压缩曲线保持0khz-5khz频带内各频点不变,对5khz-24khz频带内频点进行对数形式的平滑压缩,设原频带和压缩后频带分别为f和f
cmp
,具体转换公式如下:
[0017][0018]
进一步地,所述步骤4中,幅度谱增强网络mhan用于估计实数掩膜作用于含噪混响语音的短时傅里叶幅度谱提高语音信噪比,与之级联的复数谱增强网络dpcrn直接估计混响纯净语音的短时傅里叶复数谱达到更彻底的噪声抑制效果;在训练过程中,首先单独训练幅度谱增强网络mhan,再将收敛的幅度谱增强网络mhan与复数谱增强网络dpcrn级联后联合训练。
[0019]
进一步地,所述步骤4中,复数谱增强网络dpcrn的编码器前加入实现频谱压缩的线性层,该线性层与幅度谱增强网络mhan的首个线性层都使用设计好的压缩模块参数进行初始化;所述线性层对高频频段,即5khz以上进行映射的参数设置为可训练,对低频频段,即5khz以下进行映射的参数设置为不可训练。
[0020]
与等效矩形带宽滤波器组压缩方法相比,本发明提高了压缩后频谱的分辨率,特别是在低频段保证频谱分辨率不变,目的是为了准确恢复低频段的谐波成分,保证语音主要信息不丢失;与分子带的处理方式相比,本发明通过压缩曲线的连续性保证低频段和高频段的衔接是平滑的,不会产生人为噪声,不必额外增加整合模块;最后,由压缩曲线得到的压缩映射矩阵是模型可训练参数的一部分,它会随着训练的进行收敛至最优的压缩参数。本发明提出的频谱压缩方法大大降低了神经网络在处理全频带语音频谱时的计算复杂度,同时语音的中低频段获得了更好的噪声抑制和音质提升效果,双阶段递进式增强的网络结构在低信噪比情况下也具有更强的噪声抑制能力。
附图说明
[0021]
图1是本发明在训练阶段和增强阶段的方法处理流程图。
[0022]
图2是全频段压缩函数的函数图像。
[0023]
图3是压缩变换矩阵实现频谱压缩的示意图,其中右上方为压缩矩阵,右下方为压缩前语音的短时傅里叶幅度谱,左上方为压缩后的短时傅里叶幅度谱。
[0024]
图4(a)为mha-dpcrn模型整体框架,mhan指多端头注意力机制网络,dpcrn指的是双通道卷积循环神经网络,x指的是输入含噪混响语音的短时傅里叶谱,指的是估计的纯净语音幅度谱掩膜,指经mhan增强后的短时傅里叶谱,指经dpcrn增强后的短时傅里叶谱。
[0025]
图4(b)为mhan网络具体结构,scb指的是频谱压缩模块,iscb指的是逆频谱压缩模块,maskedmulti-head self-attention指因果的多端头自注意力机制模块,add&norm指的是相加和归一化运算,feed-forward指线性层,b指虚线内模块重复个数。
[0026]
图4(c)为dpcrn网络具体结构,encoder指编码器,dprnn指的是双通道循环神经网络,real part decoder指复数谱实部解码器,imaginary part decoder指复数谱虚部解码器,skip connection指跳跃式传递运算,couple指将实虚部整合为复数谱。
[0027]
图5为本发明实施例中dpcrn编码器的结构示意图。
[0028]
图6为本发明实施例中dpcrn双通道循环神经网络的结构示意图。
[0029]
图7为本发明实施例中dpcrn实部(虚部)解码器的结构示意图。
具体实施方式
[0030]
本实施例提供一种基于频谱压缩和神经网络的多阶段全频带语音增强方法,如图1所示,包括以下步骤:
[0031]
步骤1,设计全频带语音频谱压缩曲线,根据曲线计算压缩模块参数;
[0032]
步骤2,使用清晰语音数据集、噪声数据集以及房间冲激响应数据集合成模拟含噪混响语音;
[0033]
步骤3,对模拟含噪混响语音数据和对应的纯净混响语音数据分别做短时傅里叶变换得到两者的短时傅里叶谱;
[0034]
步骤4,构建mha-dpcrn模型,该模型由幅度谱增强网络mhan和复数谱增强网络dpcrn级联组成;使用步骤1得到的压缩模块参数初始化mhan和dpcrn的scb模块;使用步骤3得到的短时傅里叶谱训练所述mha-dpcrn模型权重;
[0035]
步骤5,对待增强的含噪混响语音信号做短时傅里叶变换得到短时傅里叶谱;
[0036]
步骤6,将步骤5获得的短时傅里叶谱输入步骤4完成训练的mha-dpcrn模型,输出增强语音的短时傅里叶谱;
[0037]
步骤7,对增强语音的短时傅里叶谱进行逆短时傅里叶变换得到增强语音的时域信号。
[0038]
1、频谱压缩曲线和相应压缩变换矩阵的设计
[0039]
与梅尔谱全频段对数压缩不同,考虑到在语音增强任务中需要对语音的短时傅里叶谱进行恢复,本发明为了避免对包含主要语音信息的低频段(5khz以下)的压缩损失,对低频段不进行压缩变换,即压缩后频带f
cmp
和原频带f的关系为:
[0040]fcmp
=f,0≤f≤5khz(1)
[0041]
而由于高频段(5khz以上)包含的语音能量成分较少,却占有较多的频带维数,本发明使用对数压缩的方式将高频段对应频带维数降低至低频段频带维数水平,使得模型不会因过度关注高频带特征而影响对低频带的处理性能。同时,本发明考虑到高频带与低频带之间需要平滑的衔接以避免产生人为噪声,在设计对数压缩函数时保证了衔接频点连续可导,关系式如下
[0042][0043]
综上,得到的全频段压缩函数如下:
[0044][0045]
对应的函数图像如图2。
[0046]
于是根据变换函数,使用和梅尔变换矩阵类似的方法设计三角滤波器组(h.m.fayek,speechprocessingformachinelearning:filterbanks,mel-frequencycepstralcoefficients(mfccs)andwhat'sin-between,2016,doi:https://haythamfayek.com/2016/04/21/speech-processing-for-machine-learning.html),便可计算得到本发明中的频谱压缩变换矩阵。图3展示了该压缩变换矩阵如何实现频谱的压缩,其中右上方为压缩矩阵,右下方为压缩前语音的短时傅里叶幅度谱,左上方为压缩后的短时傅里叶幅度谱。
[0047]
2、mha-dpcrn模型及其训练策略
[0048]
mha-dpcrn模型主要由多端头自注意力机制网络mhan(nicolson a,paliwal k k.masked multi-head self-attention for causal speech enhancement[j].speech communication,2020,125(3):80-96.)和双通道卷积循环网络dpcrn(le x,chen h,chen k,et al.dpcrn:dual-path convolution recurrent network for single channel speech enhancement[j].proc.interspeech,2021,2811-2815.)两部分构成。如图4(a),本发明利用其构成双阶段递进式模型处理框架,首先由mhan估计纯净语音的幅度谱掩膜,与含噪信号幅度谱作用后生成较高信噪比的语音短时傅里叶谱,再将该语音短时傅里叶谱作为dpcrn的输入,恢复更为清晰、高质量的语音。本发明另一个创新点在于,将压缩变换矩阵融入网络结构形成端到端系统,即图中的scb(spectrum compression block)线性层,这些线性层参数由本发明所设计的压缩变换矩阵参数初始化,且初始化后的参数并不是完全固定不变的,而是随着网络训练的进行不断更新,直至网络收敛至理想结果,此时网络便能根据期望的压缩模式学习到最优的压缩参数。另外,由于本发明对语音短时傅里叶谱进行了压缩变换,在高频段存在频谱信息的丢失,因此本发明也增添了逆压缩变换矩阵iscb(inversespectrumcompressionblock),用于将丢失的信息进行恢复,这里iscb的参数不需要特定初始化,由网络自行学习得到。
[0049]
mha-dpcrn模型的输入为含噪混响信号的短时傅里叶谱,记为x,其中n为时域总帧数,k为频率总点数,表示复数域。在输入模型后,首先由mhan(记为)估计出幅度谱掩膜则得到的第一阶段噪声抑制信号短时傅里叶谱为:
[0050][0051][0052]
|x|表示取幅度谱,
⊙
表示元素层面相乘。随后再经过第二阶段dpcrn(记为)进行处理,得到的语音增强信号为:
[0053][0054]
设真实的纯净语音信号短时傅里叶谱为s,根据损失函数,计算增强后的信号与纯净语音信号之间的误差,再将误差梯度反向传递,更新模型参数。这里值得注意的是,本发明首先对mhan进行单独训练,设损失函数
[0055][0056]
随后,预训练好的mhan模型与dpcrn模型再基于损失函数进行联合训练
[0057][0058]
1)模型参数设置
[0059]
在模型训练过程中,所有音频数据的采样率为48khz,短时傅里叶变换的窗长为25ms,帧与帧之间的覆盖率为50%,于是傅里叶变换得到的全频带频谱维数为601。本发明将压缩变换后的维数设置为256,其中前125维对应非压缩的低频段信息,后131维对应压缩后的高频段信息,将压缩变换矩阵中映射低频段的参数固定,而将映射高频段的参数设置为可训练。为实现批量运算以提高计算效率,本实施例固定每一段输入语音的时长为8s。在
实际处理中,常常把短时傅里叶谱x的实部信息和虚部信息分为两个不同的通道,分别记为xr和xi,故实际输入的短时傅里叶谱为尺寸(n,k,2)的实数张量,也同时用n,k,c表示时域帧、频率点、特征通道维度。
[0060]
在mhan部分,本发明将其中mhan块个数b设为5,端头数设为8,如图4(b)。
[0061]
在dpcrn编码器(encoder)部分,本实施例使用5个二维卷积层(conv2d),其特征通道数(filters)、卷积核尺寸(kernel-size)、步长(stride)分别为{16,32,48,64,80},{(2,5),(2,3),(2,3),(2,3),(2,1)},{(1,2),(1,1),(1,1),(1,1),(1,1)},每个conv2d后都紧接着归一化层(batch normalization)和prelu激活函数。encoder具体框架如图5。
[0062]
编码器将输入短时傅里叶谱的特征提取到了更多的通道,同时降低了特征的分辨率。随后编码器的输出作为dprnn的输入,假设此时的张量尺寸为(n
′
,k
′
,c
′
)。在intra-chunk部分,rnn使用1个双向长短期记忆网络(bidirectional long short-term memory,blstm)建立起每一帧频率点之间的联系,隐藏单元数(units)设为80,随后紧接1个单元数为128的线性层和1个即时归一化(instantnormalization)层,输出的结果再与输入相加,得到intra-chunk的最终输出。为了在inter-chunk中建立时域帧之间的联系,需要用转置层(transpose)层对intra-chunk输出张量的维度进行变换(n,k,c)
→
(k,n,c)。在inter-chunk中,rnn使用1个长短期记忆网络(long short-term memory,lstm)建立起时域帧信息之间的联系,units为80,随后紧接1个单元数为128的全连接层和1个即时归一化(instantnormalization)层,输出的结果再与输入相加,得到inter-chunk的最终输出,具体框架如图6。
[0063]
解码器(decoder)使用5个逆卷积层(convtrans2d),其特征通道数、卷积核尺寸、步长分别为{64,48,32,16,1},{(2,1),(2,3),(2,3),(2,3),(2,5)},{(1,1),(1,1),(1,1),(1,1),(1,2)},每个convtrans2d后都紧接着归一化层(batch normalization)和prelu激活函数。dprnn或逆卷积层的输出在输入下一层逆卷积层之前,都与对应卷积层的输出(convoutput)通过通道维度拼接(concatenation)结构相连接,具体框架如图7。
[0064]
2)损失函数和训练策略
[0065]
本发明采用的损失函数为压缩的最小均方误差(mse)函数,假设一个短时傅里叶变换时频点为则定义压缩后的时频点为其中θy表示复数的相位角,β表示压缩系数,为压缩符号。则其实部和虚部可进一步写为
[0066][0067][0068][0069]
于是分别根据实部虚部和幅度定义损失函数
[0070][0071][0072]
上述训练过程的损失函数便可表示为
[0073]
[0074][0075]
这里的二阶范数和无穷范数本质上都是计算mse,这是利用了其凸函数特性,更利于反向传播中的求导运算,以收敛至损失函数的极小值点。在训练过程中,使用adam优化器,而学习率的更新采用热身(warmup)策略
[0076][0077]
其中α为学习率,指代训练步数,ψ为热身步数,这样的学习率更新方式使学习率在训练开始时先从零缓慢上升,避免初始学习率过大导致参数发散,而当误差处于下降趋势时,学习率再逐渐减小使模型收敛。训练的batchsize设为12,最大训练周期为150epochs。
[0078]
3、数据集与评价指标
[0079]
本实施例使用dns4(deep noise suppression 4)语音和噪声数据集用于模型训练,其中含有约70000个音频(总时长约600小时),本实施例使用其中90%为训练集(training set),10%为检验集(validation set),产生混响所需的房间冲激响应(room impulse response,rir)来自于openslr26和openslr28,将清晰语音随机地与rir进行卷积并与噪声相加得到含噪混响信号,信噪比在[-5db,15db]范围内随机选取。
[0080]
为了评价模型的泛化能力,使用模拟数据集和真实数据集对的增强效果进行测试。模拟数据集选择vctk/demand的824条测试数据,而真实数据集选择dns4中盲数据集(blind set)的735条数据,该数据集的语音采集环境更加复杂,增加了语音增强的难度。对于模拟数据集,采用的客观评价指标为pesq、stoi、csig(语音质量水平)、cbak(噪声抑制水平)、covl(整体质量水平),指标数值越大,代表增强效果更好,为了进一步对比处理结果的优劣,将结果与以往的全频带sota模型在该数据集上的处理结果进行对比,其中包括rn noise、percep net、dccrn、dccrn+、deep filter net、s-dccrn。对于真实数据集,给出基于p.835主观评价标准得到的sig(语音质量水平)、bak(噪声抑制水平)、ovrl(整体质量水平)评分,进行对比的模型为nsnet2。
[0081]
4、实验结果
[0082]
模拟数据集和真实数据集的测试结果见表1和表2,可见无论是在模拟数据集还是在真实数据集上,本发明取得了最为优越的处理结果,既更好地保留了语音信息,又显著抑制了环境噪声。
[0083]
表1模拟数据测试结果
[0084][0085]
表2真实数据测试结果
[0086]
技术特征:1.基于频谱压缩和神经网络的多阶段全频带语音增强方法,其特征在于,该方法包括以下步骤:步骤1,设计全频带语音频谱压缩曲线,根据所述压缩曲线计算压缩模块参数;步骤2,使用清晰语音数据集、噪声数据集以及房间冲激响应数据集合成模拟含噪混响语音;步骤3,对所述模拟含噪混响语音的数据和其对应的纯净混响语音数据分别做短时傅里叶变换得到两者的短时傅里叶谱;步骤4,构建mha-dpcrn模型,该模型由幅度谱增强网络mhan和复数谱增强网络dpcrn级联组成;使用步骤1得到的压缩模块参数初始化mha-dpcrn的频谱压缩模块;使用步骤3得到的短时傅里叶谱训练所述mha-dpcrn模型权重;步骤5,对待增强的含噪混响语音信号做短时傅里叶变换得到短时傅里叶谱;步骤6,将步骤5获得的短时傅里叶谱输入步骤4完成训练的mha-dpcrn模型,输出增强语音的短时傅里叶谱;步骤7,对增强语音的短时傅里叶谱进行逆短时傅里叶变换得到增强语音的时域信号。2.根据权利要求1所述的基于频谱压缩和神经网络的多阶段全频带语音增强方法,其特征在于,所述步骤1中,频谱压缩曲线保持0khz-5khz频带内各频点不变,对5khz-24khz频带内频点进行对数形式的平滑压缩,设原频带和压缩后频带分别为f和f
cmp
,具体转换公式如下:3.根据权利要求1所述的基于频谱压缩和神经网络的多阶段全频带语音增强方法,其特征在于,所述步骤4中,幅度谱增强网络mhan用于估计实数掩膜作用于含噪混响语音的短时傅里叶幅度谱提高语音信噪比,与之级联的复数谱增强网络dpcrn直接估计混响纯净语音的短时傅里叶复数谱达到更彻底的噪声抑制效果;在训练过程中,首先单独训练幅度谱增强网络mhan,再将收敛的幅度谱增强网络mhan与复数谱增强网络dpcrn级联后联合训练。4.根据权利要求1所述的基于频谱压缩和神经网络的多阶段全频带语音增强方法,其特征在于,所述步骤4中,复数谱增强网络dpcrn的编码器前加入实现频谱压缩的线性层,该线性层与幅度谱增强网络mhan的首个线性层都使用设计好的压缩模块参数进行初始化;所述线性层对高频频段,即5khz以上进行映射的参数设置为可训练,对低频频段,即5khz以下进行映射的参数设置为不可训练。
技术总结本发明公开了一种基于频谱压缩和神经网络的多阶段全频带语音增强方法。其步骤为:设计全频带语音频谱压缩曲线,使用设计的参数初始化MHA-DPCRN的频谱压缩模块;合成模拟含噪混响语音;对模拟含噪混响语音和对应的带混响纯净语音分别做短时傅里叶变换得到两者的短时傅里叶谱;使用短时傅里叶谱训练MHA-DPCRN模型权重;(5)对待增强的含噪混响语音做短时傅里叶变换得到短时傅里叶谱;将含噪混响语音的短时傅里叶谱输入完成训练的模型,得到增强语音的短时傅里叶谱,并进行逆短时傅里叶变换得到增强语音的时域信号。本发明的方法能够在复杂噪声场景下对全频带语音进行较为彻底的噪声抑制,同时保留较好的语音音质。同时保留较好的语音音质。同时保留较好的语音音质。
技术研发人员:侯仲舒 胡沁雯 卢晶 朱长宝 朱天一 刘松
受保护的技术使用者:北京地平线信息技术有限公司
技术研发日:2022.06.17
技术公布日:2022/11/1