袁文浩,时云龙,胡少东,娄迎曦
(山东理工大学计算机科学与技术学院,山东淄博 255000)
近年来,基于深度神经网络的语音增强方法成为语音识别领域的研究热点[1-3],相比传统统计方法明显提高了非平稳噪声条件下的语音增强性能。为提高神经网络的语音增强性能,现有研究工作主要针对训练特征和训练目标的设计以及网络结构的改进展开。根据训练特征和训练目标的设计方法,基于深度神经网络的语音增强方法可分为频域和时域两类。
频域的语音增强一般将含噪语音经过短时傅里叶变换得到的幅度谱或对数功率谱作为训练特征,而训练目标除了纯净语音的幅度谱或对数功率谱,还可以是由幅度谱计算得到的掩蔽特征。文献[4-5]采用全连接神经网络建立一个从含噪语音对数功率谱到纯净语音对数功率谱的映射关系。基于语音在时间维度上的序列性,文献[6-7]分别采用循环神经网络(Recurrent Neural Network,RNN)和长短时记忆(Long Short-Term Memory,LSTM)网络来估计含噪语音的掩蔽特征。当采用多帧的含噪语音幅度谱或对数功率谱作为训练特征时,网络输入将在时间和频率两个维度上都具有相关性。文献[8]采用一个全卷积神经网络(Fully Convolutional Network,FCN)络构来建立含噪语音幅度谱和纯净语音幅度谱之间的映射关系实现语音增强。文献[9]建立了结合卷积层、池化层和全连接层的网络结构进行语音增强。文献[10-11]在网络结构中引入门控机制和残差学习,而文献[12]基于密集连接卷积网络结构来提高网络在时间和频率两个维度上的感受野。由于卷积神经网络中的参数共享机制,因此基于卷积神经网络的语音增强方法能够大幅减少网络中需要训练的参数量。通过结合卷积神经网络和循环神经网络两种不同的网络结构,文献[13]提出一种用于语音增强的卷积循环网络(Convolutional Recurrent Network,CRN),文献[14]将两层LSTM 嵌入到一个全卷积的编码器-解码器(Convolutional Encoder-Decoder,CED)中提出另一种形式的CRN,实验结果表明CRN相比LSTM等循环神经网络进一步提高了语音增强性能。
时域的语音增强将含噪语音和纯净语音的时域波形分别作为训练特征和训练目标。文献[15]采用FCN建立一个含噪语音帧波形到纯净语音帧波形的映射关系,并指出采用全连接层的DNN 不适用于时域语音增强。文献[16]采用基于短时客观可懂度(Short-Time Objective Intelligibility,STOI)指标的损失函数代替均方误差函数进行网络训练,进一步提高了增强语音的可懂度。文献[17]将因果卷积嵌入到一个由全卷积网络构成的编码器-解码器中,构建实时的时域语音增强网络。文献[18-19]对时域语音增强中不同损失函数的性能进行评估,指出对于时域语音增强,先将时域信号转换到频域再在频域设计损失函数相比直接在时域设计损失函数具有更好的性能,并基于此提出一种新的时域语音增强网络设计框架。
在频域的语音增强中,通常使用含噪语音和纯净语音的对数功率谱作为训练特征和训练目标,对数功率谱的计算是基于信号的短时傅里叶变换,对于含噪语音特征的表达具有一定的局限性。时域语音增强直接使用含噪语音和纯净语音的波形作为训练特征和训练目标,虽然相比频域语音增强能够更好地利用含噪语音特征,但是其性能非常依赖损失函数的设计,而设计复杂的损失函数会大幅提高网络的训练难度。基于以上分析,本文提出一种基于时频域特征融合的深度神经网络语音增强方法,采用含噪语音的时域波形作为训练特征,同时利用纯净语音的频域对数功率谱作为训练目标,基于深度神经网络强大的特征计算能力来建立含噪语音时域波形和纯净语音频域对数功率谱之间的映射关系,并将含噪语音的时域特征与频域特征在网络深层结构中进行融合,最终利用语音增强实验从增强语音的质量和可懂度两方面对本文所提语音增强方法的性能进行客观评估。
在基于深度神经网络的语音增强方法中,采用回归模型训练语音增强网络。通过网络的训练学习构造一个非线性映射函数fθ来表达含噪语音帧和增强语音帧之间的回归关系,θ是网络的参数集合,并采用均方误差损失函数L(θ)进行网络训练:
其中:Xl是网络输入的训练特征;Tl是网络的训练目标;M是网络训练采用的Mini-batch 大小。根据Xl和Tl在时域和频域的不同设计方法,该模型可以作为频域和时域的语音增强模型。需要注意的是,为了减小网络训练参数的规模,并保证语音增强模型的因果性,本文中的Xl和Tl均为单帧的频域和时域特征。
对于频域的语音增强,在网络训练阶段,通常采用的训练特征和训练目标分别为含噪语音和纯净语音的对数功率谱。
在利用训练得到的网络进行语音增强时,首先根据含噪语音第l帧的对数功率谱计算增强语音第l帧的对数功率谱然后结合含噪语音第l帧的相位谱αl进行短时傅里叶逆变换(Inverse Short-Time Fourier Transform,ISTFT),得到增强语音第l帧的时域信号
对于时域的语音增强,在网络训练阶段,采用的训练特征和训练目标分别为含噪语音和纯净语音的波形。
其中:yl,n和sl,n分别是含噪语音和纯净语音波形经过分帧后得到的第l帧的第n个采样点。
在利用训练得到的网络进行语音增强时,可以直接根据含噪语音第l帧的波形计算增强语音第l帧的时域信号。
在频域的深度神经网络语音增强方法中,如式(2)所示,通常采用含噪语音的对数功率谱作为网络的输入,而对数功率谱对于含噪语音特征的表达是具有局限性的,这种局限性主要表现在两个方面。一方面,对数功率谱忽略了信号的相位信息,例如:图1(a)给出了256 点的采样频率为8 kHz 的噪声信号的波形;图1(b)给出了另外一段噪声信号的波形,该噪声段为图1(a)中噪声信号的倒序排列;图1(c)给出了上述两种噪声信号的对数功率谱。可见,虽然图1(a)和图1(b)中的噪声具有截然不同的变化趋势,但是两种噪声却具有完全相同的对数功率谱特征,这表明由于忽略了相位信息,对数功率谱不能完整表达含噪语音的特征。另一方面,式(2)中对数功率谱的特征维度K受限于短时傅里叶变换窗长的选择,而窗长的选择受海森堡不确定性原理限制,难以同时满足时间分辨率和频率分辨率的需求。在对数功率谱的计算中窗长一般是按照语音信号的短时平稳特性进行选择,因此对数功率谱能够较好地表达语音信号的短时特性。含噪语音信号是由语音信号和噪声信号叠加得到,因为噪声信号的来源不同,不同噪声信号的特性复杂多样,为了更好地提取含噪语音的短时特征,理论上在进行短时傅里叶变换时应该选用不同的窗长,所以采用相同窗长计算得到的对数功率谱并不能很好地表达含噪语音的短时特性。例如,对于采样频率为8 kHz 的信号,通常采用的窗长为256 点[4-5],但是对于图1(a)中的噪声,256 点的窗长显然不能反映该噪声随时间的快速变化趋势,这表明采用固定窗长的对数功率谱不能完整表达含噪语音中不同类型噪声的变化特性。
图1 两种噪声信号的波形与对数功率谱Fig.1 Waveform and log power spectrum of two kinds of noise signals
在时域的深度神经网络语音增强方法中,直接采用式(7)中的纯净语音波形作为训练目标,由于波形特征中的采样点具有快速变化的特性,使用式(1)中的均方误差损失函数进行网络训练,并不能得到相比频域方法更好的语音增强性能,因此时域语音增强方法需要充分考虑损失函数的设计问题,网络结构通常比较复杂且难于训练。
为充分利用含噪语音特征来提高深度神经网络的语音增强性能,且同时避免复杂损失函数的设计问题,保证网络易于训练,本文将含噪语音的频域对数功率谱和时域波形共同作为训练特征,同时采用纯净语音的频域对数功率谱作为训练目标,设计一种融合时频域特征的语音增强网络结构。因为含噪语音的时域特征与频域特征具有较大的差别,所以直接组合两种特征作为网络输入是不合适的。为在网络中深度融合含噪语音的时域和频域特征进行语音增强,本文基于时频域特征融合的语音增强网络结构包括3 个模块,分别为以含噪语音时域波形特征作为输入的时域特征计算模块、以含噪语音对数功率谱特征作为输入的频域特征计算模块和结合两个特征计算模块的输出作为输入的语音增强模块,3个模块对应的参数集合分别为θt、θf和θtf,整个网络的参数集合可以表示如下:
网络的训练目标与式(3)相同,网络的训练特征如下:
其中:与式(2)一致,是频域的对数功率谱特征,计算公式如式(11)所示。与式(6)一致,是时域的波形特征,计算公式如式(12)所示。
在利用训练得到的网络进行语音增强时,首先根据含噪语音第l帧的波形和对数功率谱计算增强语音第l帧的对数功率谱然后按照式(5)同样的计算方法得到增强语音第l帧的时域信号
本文的时频域特征融合网络基于卷积循环神经网络结构进行设计,卷积循环神经网络结合了卷积神经网络的特征提取能力和循环神经网络对于长期依赖信息的建模能力,在语音增强中表现出了良好的性能[13-14]。时频域特征融合网络中的时域特征计算模块和频域特征计算模块均为多层的卷积网络结构,两者具有类似的结构,唯一的区别是,由于时域特征和频域特征的维度不同,因此最后一个卷积层所用的卷积滤波器的大小不同,语音增强模块则由两层的LSTM 构成。时频域特征融合网络记为TFCRN,网络结构如图2 所示。如果只保留时域特征计算模块和语音增强模块,训练得到的网络可以建立含噪语音时域波形和纯净语音频域对数功率谱之间的映射关系,该网络记为T-CRN。如果只保留频域特征计算模块和语音增强模块,训练得到的网络可以建立含噪语音对数功率谱和纯净语音对数功率谱之间的映射关系,是一种频域的语音增强方法,该网络记为F-CRN。
图2 时频域特征融合网络结构Fig.2 Structure of fusion network of time-domain and frequency-domain features
训练集和测试集均基于TIMIT 语音库构造,其中训练集中的纯净语音来自TIMIT 语音库的训练集,测试集中的纯净语音来自TIMIT 语音库的测试集[20],纯净语音的采样频率均转换为8 kHz。为了合成训练集中的含噪语音,选取文献[21]中的100 个真实噪声段,将其采样频率同样转换为8 kHz,然后按照−10 dB、−5 dB、0 dB、5 dB、10 dB 这5 种信噪比与纯净语音进行合成,从所有合成得到的含噪语音中随机选取50 000段,与其相应的纯净语音一起构成训练集。为了合成测试集中的含噪语音,选取Noisex92 噪声库中Factory2、Buccaneer1、Destroyer engine 和HF channel 噪声[22],将其采样频率转换为8 kHz,按照−7 dB、0 dB、7 dB 这3 种信噪比与192 段纯净语音进行合成,选取全部2 304 段(192×3×4)含噪语音,与相应的纯净语音一起构成测试集。需要注意的是,为检验语音增强方法对不同噪声条件的泛化能力,测试集选取的4 类噪声是与训练集完全不同的未知噪声,测试集中的−7 dB 和7 dB 是不同于训练集的未知信噪比。
频域对数功率谱特征计算所用的短时傅里叶变换的帧长为32 ms(256 点),帧移为16 ms(128 点),相应的频域特征维度为129。时域波形按照语音段均标准化为−1~1,分帧的帧长同样为256 点,帧移为128 点,相应的时域特征维度为256。
为客观评价不同网络的语音增强性能,分别采用不同网络对测试集含噪语音进行语音增强,并比较不同网络增强后语音的平均语音质量和平均可懂度,其中:语音质量的评价指标为语音质量的感知评估(Perceptual Evaluation of Speech Quality,PESQ),其得分范围为−0.5~4.5,得分越高代表语音质量越好[23];语音可懂度的评价指标为STOI[20],其得分范围为0~1,得分越高代表语音可懂度越高[24]。
对F-CRN、T-CRN、TF-CRN 这3 种网络的语音增强性能进行比较,图3 给出了在不同信噪比下3 种网络对应的增强语音的平均PESQ 得分和平均STOI 得分,其中平均STOI 得分以百分比的形式进行表示。可见:在3 种网络中,TF-CRN 在两种指标的不同信噪比下都取得了最好的结果,表明TF-CRN 能够充分融合时域和频域特征,相比单纯采用频域或时域特征的网络提高了语音增强性能;在两种指标的低信噪比(−7 dB 和0 dB)条件下,T-CRN 相比F-CRN 取得了更好的结果,表明在相同的CRN 网络结构下,采用时域波形特征能够带来更好的语音增强性能。
图3 不同信噪比下F-CRN、T-CRN 和TF-CRN 的语音增强性能比较Fig.3 Comparison of speech enhancement performance of F-CRN,T-CRN and TF-CRN under different SNRs
为验证基于时频域特征融合的深度神经网络语音增强方法的有效性,将其与4 种网络进行语音增强性能的比较,对比网络包括:1)具有3 层结构的DNN[4],每个隐层的节点个数为2 048;2)采用3 层LSTM 的网络,每层的Cell 维度为512;3)文献[14]网络;4)FCN[15]。前3 个网络均为频域的语音增强,采用单帧的含噪语音和纯净语音的对数功率谱分别作为训练特征和训练目标,记为F-DNN、F-LSTM 和CED-CRN;第4 个网络为时域的语音增强,将单帧的含噪语音和纯净语音的时域波形分别作为训练特征和训练目标,记为T-FCN。
表1 给出了不同信噪比下与5 种网络相应的增强语音的平均PESQ 得分和平均STOI 得分,其中平均STOI 得分以百分比的形式进行表示。可见,在不同信噪比下,相比含噪语音,F-DNN 增强后语音的平均PESQ 得分提升非常有限,平均STOI 得分甚至出现了下降,表明当采用单一帧的含噪语音作为输入时,DNN 由于缺乏对时间依赖信息建模的能力,不能进行有效的语音增强;其他频域方法包括F-LSTM和CED-CRN 增强后语音的平均PESQ 得分和平均STOI 得分相比含噪语音均有明显提升,表明它们能够进行有效的语音增强,结合平均PESQ 得分和平均STOI 得分的结果整体来看,CED-CRN 相比F-LSTM具有更好的性能;时域方法T-FCN 增强后语音的平均PESQ 得分和平均STOI 得分相比含噪语音在绝大多数条件下都有所提升,但是提升幅度相比频域方法的F-LSTM 和CED-CRN 有明显差距,表明与这2 种频域方法相比,T-FCN 的语音增强性能较差;在5 种网络中,除了7 dB 下的平均STOI 得分,TF-CRN在其他噪声条件下的2 种指标都取得了最好的结果,表明TF-CRN 通过融合时域和频域特征,具有较好的语音增强性能。
表1 不同信噪比下5 种网络的语音增强性能比较Table 1 Comparison of speech enhancement performance of five networks under different SNRs
下面通过对比不同网络增强语音的语谱图来更加直观地比较不同网络的语音增强性能。图4(a)给出了一段信噪比为0 dB 的含有N3 噪声语音的语谱图,图4(b)~图4(h)分别给出了采用F-DNN、F-LSTM、CEDCRN、T-FCN、F-CRN、T-CRN 和TF-CRN 进行处理后增强语音的语谱图,图4(i)给出了相应的纯净语音的语谱图作为对比。通过对比增强语音和纯净语音的语谱图,可见:F-DNN 和T-FCN 增强后的语音仍然存在大量的噪声成分,表明F-DNN 和T-FCN 的语音增强性能较差;F-LSTM、CED-CRN 和F-CRN 这3 种频域语音增强方法虽然能够抑制大部分的噪声成分,但是增强后的语音中仍然存在明显可见的噪声成分;T-CRN 具有最好的噪声抑制能力,但是对于语音成分的保留能力稍逊于TF-CRN;在7 种网络中,TF-CRN 在噪声成分抑制和语音成分保留上取得了最好的折衷效果,具有最好的语音增强性能。非正式的试听实验也进一步验证了上述结论。
图4 7 种网络增强语音的语谱图比较Fig.4 Comparison of spectrograms of speech enhanced by seven networks
为说明时频域特征融合网络在结构设计上的有效性,将其与其他6 种网络进行空间复杂度的比较。表2给出了7 种网络的参数规模,可见:由于采用了全卷积网络,T-FCN 的参数量要远低于其他网络;在具有较好语音增强性能的F-LSTM、CED-CRN、F-CRN、T-CRN、TF-CRN 这5 种网络中,CED-CRN 网络结构复杂,参数量最大,F-LSTM 次之;本文提出的F-CRN、T-CRN、TF-CRN 这3 种网络参数量明显小于CED-CRN 和F-LSTM,其中TF-CRN 的参数量约为F-LSTM 的38.35%,约为CED-CRN 的21.75%,表明本文的时频域特征融合网络利用更小的网络参数规模取得更好的语音增强性能。
表2 7 种网络的参数规模比较Table 2 Comparison of parameter scale of seven networks
在基于深度神经网络的语音增强方法中,采用时域波形作为训练特征和训练目标的时域方法通常依赖损失函数的设计,而将对数功率谱作为训练特征和训练目标的频域方法则受限于短时傅里叶变换的特征表达能力,无法充分利用含噪语音的特征。为解决上述问题,本文提出一种基于时频域特征融合的深度神经网络语音增强方法。采用含噪语音的时域波形作为训练特征,利用纯净语音的对数功率谱作为训练目标,通过设计T-CRN 建立含噪语音时域波形和纯净语音对数功率谱之间的映射关系,并进一步设计能融合含噪语音的时域波形特征和频域对数功率谱特征的TF-CRN。实验结果表明,与采用对数功率谱作为训练特征的频域语音增强方法相比,T-CRN 具有更好的语音增强性能,而TF-CRN 相较对比网络明显提高了增强语音的质量和可懂度。后续将结合卷积神经网络的特征可视化技术,对特征计算过程进行深入研究,进一步优化深度神经网络结构。