随着语音技术的不断发展,大量相关产品已进入日常生活中,例如:降噪耳机、语音翻译机、语音会议系统等。为了使语音算法能更好地进行工作,作为前端处理的噪声抑制一直是被重点研究的问题[1]。目前方法主要有一个麦克风的单通道方法和多个麦克风的阵列方法。常用的单通道语音增强方法多在时频域,基于短时谱的估计,包括谱减法、维纳滤波法、基于统计模型的方法等[1]。单通道方法的缺点是会引入音乐噪声而造成语音的失真,及对非平稳的噪声缺乏很好的抑制能力[2]。基于麦克风阵列的多通道方法使用多个麦克风,可利用空域信息,比单通道方法能更有效性地抑制噪声。从而受到学者们更多的关注[3]。
波束形成器是麦克风阵列的核心部分,常用的包含有固定波束形成器、超指向波束形成器、自适应波束形成器[3]。其中最广泛使用的是基于最小方差无失真响应(Minimum Variance Distortionless Response, MVDR)算法和基于广义旁瓣消除(Generalized Sidelobe Canceler, GSC)算法的自适应波束形成器。在MVDR算法中,由于涉及协方差矩阵求逆的计算量相比较大,所以GSC方法具有更好的实现性。GSC算法[4]中,一般分为三部分:(1)是固定波束形成器,称为上支路,其作用是使期望信号全部通过;(2)阻塞矩阵(Blocking Matrix,BM),称为下支路,作用是阻塞上支路的期望信号,并让参考噪声通过;(3)多通道自适应噪声消除器(Adaptive Noise Canceller, ANC),其作用为尽可能消除参考噪声信号。因为波束形成器之后的语音中仍然包含残留噪声或非平稳干扰噪声,所以在其之后通常串接一个单通道后置滤波器,以进一步去除非平稳噪声和残留噪声。常用的麦克风阵列语音增强算法使用GSC算法和维纳滤波算法[1]或最优改进对数谱幅度估计算法(Optimally Modified Log-spectral Amplitude, OMLSA)[5]作为后置滤波器相结合的方法。然而传统的GSC算法不能高效地去除干扰噪声,传统的后置滤波算法对于低信噪比下的非平稳噪声没有很好的鲁棒性。针对此问题,在线性麦克风阵列中,本文提出一种基于信号功率谱密度比值的波束形成及后处理算法,以更高效地进行噪声消除。首先,计算GSC算法中固定波束形成器输出信号的功率谱密度和麦克风阵列中第一个麦克风拾取观测信号的功率谱密度,通过二者得到信号功率谱密度比值(Signal-Power-Ratio, SPR)。然后,结合提出的判决方案去调控ANC中的归一化最小均方(Normalized Least Mean Square, NLMS)算法中的步长因子进行噪声消除。最后,针对GSC算法输出的语音,使用深度神经网络(Deep Neural Networks, DNN) 和OMLSA算法结合的方法进一步地消除残留回声干扰,最后得到增强后的语音。本文的其余内容安排如下:第2节介绍基于麦克风阵列语音增强的原理。第3节详细地介绍所提算法。第4节进行仿真实验和分析。第5节为算法的验证和结论。
设在房间内有一含有M个麦克风的阵列,每个麦克风的序号表示为m,m=1,2,…,M。第m个麦克风接收到的观测信号为zm(t)[4]:
(1)
式(1)中包含三个分量:第一分量是期望信号s(t)和第m个阵元与期望信号的房间冲击响应am(t)的卷积,第二分量是稳态干扰信号第三分量是非稳态噪声干扰信号按照相关分类标准,噪声可以分为稳态噪声和非稳态噪声,因此,故将第二分量和第三分量合并在一起称为干扰噪声nm(t),因此式(1) 可简写为式(2):
zm(t)=am(t)*s(t)+nm(t)
(2)
由于房间冲激响应(Room Impulse Response, RIR)的存在,对式(2)进行短时Fourier变换(STFT),得:
Z(k,)=A(k)S(k,)+N(k,)
(3)
其中,
Z(k,)=[Z1(k,),Z2(k,)…ZM(k,)]
(4)
A(k,)=[A1(k,),A2(k,)…AM(k,)]
(5)
N(k,)=[N1(k,),N2(k,)…NM(k,)]
(6)
Z(k,),A(k),N(k,)分别是zm(t),am(t),nm(t)的STFT之后的结果,表示时间帧,k表示频率。在通常的混响环境下,A(k)可简单地通过以下延迟衰减模型来描述[1]:
A(k)=(1,e-jw2τ2cos θ2,e-jw3τ3cos θ3…e-jwkτmcos θm)
(7)
其中,τm为第m个麦克风与参考麦克风m=1之间的到达时间延迟,ωk为频点k的角频率。通常A(k)被称为麦克风阵列的导向矢量[1]。定义通过固定波束形成器之后的语音为YFBF(k,),通过阻塞矩阵的语音信号为参考噪声U(k,),
U(k,)=ΓH(k)Z(k,)
(8)
其中,Γ(k)称为阻塞矩阵。定义通过自适应噪声消除器的语音记为YANC(k,),
YANC(k,)=GH(k,)ΓH(k)Z(k,)
(9)
其中,G(k,)为滤波器系数。这样,经过GSC算法后增强语音信号可表示为:
Y(k,)=YFBF(k,)-YANC(k,)
(10)
可将通过麦克风阵列得到的增强信号送入后置滤波器中进一步消除残留噪声以获取更高质量的语音增强信号。
提出的算法整体框架如图1所示。算法整体的结构包含四个部分:(1)基于信号功率谱密度广义旁瓣消除的麦克风阵列算法(GSC-SPR)。通过使用信号功率谱的比值(Signal-Power-Ratio, SPR)和两个判决方法,以更高效地去除带噪语音中的干扰噪声及减少对语音的损伤;(2)因为多目标函数融合方法比一个目标函数方法具有高效性,使用深度神经网络的方法训练出一个多目标函数条件下的掩蔽值;(3)基于第二部分求出的掩蔽值提出了判决方案并更新噪声平滑因子;(4)后置滤波器,用提出方法去更新噪声平滑因子,进一步准确估计噪声功率谱密度,从而更好地处理单通道中的带噪语音,去除一些非平稳噪声及通过波束形成之后语音中含有的残留噪声。
为了验证算法的有效性,使用线性麦克风阵列拾取观测信号进行噪声消除。基于GSC算法框架,包含三部分处理:固定波束形成器、阻塞矩阵、第多通道自适应噪声消除器。首先,使用4个麦克风组成的线性阵列。由于麦克风的数目大于2个,所以在固定波束形成器的选择上,使用超指向波束形成器。常用的,固定波束形成器包括延时求和(Delay-and-sum, DSB)波束形成器和超指向(Superdirective)波束形成器[6],文献[6]中指出,当麦克风的数目超过2个时,随着频率的增加,延迟求和波束形成器的指向性旁瓣会变宽,间接地影响了延时求和波束形成器的指向性能。此外,超指向波束形成器可以保证在混响情况下获取更高的白噪声增益。因此本文所提出算法使用超指向波束形成器。线性麦克风阵列框图如图2所示。
图1 提出的语音增强算法整体框架
Fig.1 The overall framework of the proposed speech enhancement algorithm
图2 线性麦克风阵列模型
Fig.2 Linear microphone array model
导向矢量模型由公式(7)表示,噪声的协方差矩阵可以由sin c函数来模拟扩散场噪声求得。协方差矩阵如下所示:
(11)
其中,dij表示相邻两个麦克风之间的距离,c表示空气中的声音传播速度,θ表示期望信号的入射角度。已知协方差矩阵和导向矢量,因此超指向波束形成器的滤波器系数可以由下式求得:
(12)
其中,运算符号(·)H表示矩阵的共轭转置。目标语音通过超指向波束形成器后生成上支路的语音增强信号,可表示为:
YFBF(k,)=H(ω)Z(k,)
(13)
第二部分为阻塞矩阵,可使用传统的延迟模型(Delay-only),得到如下的结构:
(14)
由式(8),可知阻塞矩阵作用是把期望信号尽可能地全部阻塞,方便第三部分中的自适应噪声消除器更高效的消除噪声。在第三部分中,常用的NLMS定义自适应算法用来求解滤波器的系数,如下式所示:
G(k,+1)=
(15)
Pest(k,)=αpPest(k,-1)+(1-αp)|U(k,)|2
(16)
其中,μg表示步长因子,*表示矩阵的取共轭操作,Pest(k,)表示参考噪声的功率,αp是遗忘因子。|·|2为平方操作,在计算噪声功率时,式(15)表明当噪声存在时,用自适应算法去估计噪声功率;噪声不存在的时候,不进行估计。但是该算法中的步长因子是固定的实验经验值,而固定值的使用缺乏对不同语音处理的普适性,这是因为语音可以为类型不同且掺杂着不同类型的噪声。
综合以上问题,这里提出了一种利用功率谱密度比值的广义旁瓣消除方法。通过对功率谱密度比值的运用,设计一种调节步长的多通道自适应噪声消除器。首先,对超指向波束形成器的输出语音求功率谱密度且进行平滑操作。由于超指向波束形成器在低频时的指向能力降低,所以在此取高频段进行处理,故取频点在(32,256)的范围进行平滑及求取功率谱密度。第一步是对频点范围内超指向波束形成器的输出语音进行如下的功率谱密度平滑,
Pf_o1(k,)=αsPf_o1(k,)+(1-αs)|YFBF(k,)|2
(17)
其中,αs是一个平滑因子。第二步是进行所有帧数内的功率求解,使用Pf_o(k,)表示:
(18)
用同样的规则,求解麦克风阵列第一个麦克风观测信号的功率谱密度。首先,在频点范围内平滑可得到:
Ps_f1(k,)=αsPs_f1(k,)+(1-αs)|S1(k,)|2
(19)
其中,S1(k,)表示第一个麦克风拾取的观测信号,其所有帧数内的功率计算可表示为:
(20)
结合式(18)和式(20),求得SPR为:
(21)
其中,ρ是为保证做除法运算时分母不为零的很小的数。综上,结合SPR,得以下两个软判决方法:
(22)
其中,αthr为一个阈值。
(23)
其中,υhigh,υlow是两个阈值,δ0是调节因子。通过第一个软判决可得出一个自适应步长。当SPR大于阈值时,步长是一个很小的数,此时,不更新噪声功率谱;其他情况下,进行带噪语音中噪声功率谱的估计。其优点在于可以在带噪语音中针对集中的噪声部分进行噪声估计,而没有干扰噪声的时候不进行估计。从而体现了噪声估计的高效性。在第二个软判决中,用两个阈值和SPR的结合,可更好地保护语音的中频部分,避免产生过多的语音失真,同时其与自适应步长协同作用进而进一步地消除噪声。最后,可得到一个变步长的NLMS方法,其滤波器参数估计如下:
G(k,+1)=
(24)
通过波束形成器之后的语音中仍含有未消除的残留噪声,可采用后置滤波进一步去除。文献[5]指出,OMLSA方法消除噪声的效果很好。然而,当语音为低信噪比且噪声为非平稳噪声的情况时,效果不够理想,且使用DNN端到端语音增强的方式对语音数据量有很强的依赖性。针对此问题,本文进一步提出用DNN和OMLSA结合的方法(DNN-OMLSA)。
在文献[7]中,理想软掩蔽(Ideal Ratio Mask, IRM)被使用在计算听觉场景分析(Computational Auditory Scene Analysis, CASA)中[8],其作用是提高语音增强的能力。IRM 的定义为:
(25)
其中,S(t, f)、N(t, f)分别代表纯净语音和噪声的功率谱。DNN网络的隐藏层为3层,输入为提取的梅尔倒谱特征,输出量是IRM。使用DNN方法训练IRM的网络模型如下所示:
图3 深度神经网络框图
Fig.3 The framework of deep neural network
文献[9]中提出最小均方误差估计准则(Minimum Mean Squared Error, MMSE),使用两个MMSE准则的方法处理纯净语音和噪声,获得一个双输出的目标函数[9],
(26)
其中,α是权重因子,是估计的对数功率谱(Log-power Spectral, LPS)特征,是参考的纯净语音的和分别为估计的理想软掩蔽值和对应的纯净语音的理想掩蔽值。受文献[10]的启发,使用联合多目标函数学习方法去求解IRM(如图1中所示),求得多目标函数下的IRM值:
(27)
其中,为估计的纯净语音的IRM特征,为混合信号的IRM特征,其中xLPS(t, f)为噪声的对数功率谱估计[10]。深度神经网络训练出来的IRM与OMLSA算法结合可用于设计后置滤波器。
在后置滤波器中,使用最小值控制递归平均(Minima Controlled Recursive Averaging, MCRA)算法对噪声进行估计。在文献[5]中,语音进行二元假设,对噪声功率谱计算可得:
(28)
其中,
(29)
p′(k,)是先验语音存在概率(Speech Presence Probability, SPP)。IRM的实质为语音存在概率,对于求得的IRM,重写为:
(30)
p′(k,)=pomlsa(k,)
(31)
接下来对pomlsa(k,)和pdnn(k,)分别进行频域上与时域上的平滑,得到相对应的结果。首先,对pomlsa(k,)的平滑结果分别为:
(32)
pomlsa_sm_mcra(k,)=αfpomlsa_sm_mcra(k,-1)+
(1-αf)pomlsa_sm(k,)
(33)
使用同样的准则,对DNN的SPP做同样的平滑,得到:
(34)
pdnn_sm(k,)=αfpdnn_sm(k,-1)+
(1-αf)pdnn_sm_bins(k,)
(35)
其中,αf是平滑因子。可推导出比值:
(36)
进而得出一个软判决为:
(37)
使用式(30)、式(31)、式(37)可推出:
pdnn_fix(k,)=(1-a2)pdnn(k,)+a2pomlsa(k,)
(38)
所以,推导出SPP为:
pfinal(k,)=min(pdnn_fix(k,),pomlsa(k,))
(39)
这里取最小值的作用是对频率比较低的噪声进行更好地消除。新的估计噪声功率平滑因子由下式可得:
(40)
将式(40)代入式(28),可得到噪声估计新方法。相比于传统的MCRA估计方法,其结合了IRM的方法,因此可以解决非平稳噪声和低信噪比的问题。此外,用软判决可弥补MCRA的不足。当干扰语音是非平稳噪声时,优先使用DNN的信息去消除噪声;当噪声是平稳噪声时,使用MCRA的信息去消除干扰噪声。结合的方法可以弥补各个单独方法的不足,因此更具有鲁棒性。
本文的算法验证使用4麦线性阵列实录数据,由此证明了算法的有效性。进而,为了验证本文所提算法的性能,使用了TIMIT语音数据给予仿真验证。本节中所提出的算法仿真结果使用MATLAB环境实现。使用TIMIT数据库训练IRM,纯净语音来自WSJ0 SI- 84数据库,噪声库为NOISEX-92。测试数据随机在TIMIT中选取。测试噪声选取为未参与训练的平稳Machine 噪声和非平稳 Babble噪声。阵列数据也来源于TIMIT,采样率为16 kHz,环境的混响时间为0.3 s。线性4麦的麦克风阵列相邻阵元的距离为3.5 cm,目标声源位于麦克风的90°方向,干扰声源分别位于麦克风的45°和120°方向。信噪比的值分别为-5 dB,0 dB,5 dB,10 dB。提出的算法使用的STFT,其帧长为512个采样点,其帧移为50%。本文采用的为传统GSC算法和文献[11]中提出GSC-STEPS算法为基线方法。为能客观评估算法性能,本文采用感知语音质量(Perceptual Evaluation of Speech Quality, PESQ)、频域分段信噪比(Frequency Segment SNR, FsegSNR)指标及语谱图的形式分别对传统的GSC算法、基线方法(GSC-STEPS)[11]、本文所提算法(GSC-SPR)、GSC-SPR加传统后置滤波算法(Proposed-OMLSA)、提出的算法与提出的后置滤波算法(Proposed+DNN-OMLSA进行综合比较,比较算法的有效性。其中PESQ与FsegSNR的值为30条测试语音平均值。
PESQ是一种评估听感质量的客观指标。听感质量随着PESQ值的提高而提高。图4中,(a)、(b)为Babble噪声,(c)、(d)为在Machine噪声下,干扰声源位于麦克风的45°和120°,各算法在各信噪比条件下的平均PESQ结果。图中可知,本文所提算法在低信噪比(-5 dB)条件,相比传统的方法PESQ值有明显提高,随着信噪比不断提升(0 dB、5 dB、10 dB),在后置滤波部分中,在高信噪比(10 dB)的情况下,PESQ值又得到提升。在两种噪声的干扰下,Babble噪声情况下PESQ的提高数值没有在Machine噪声情况下提升得高,说明在非平稳噪声的情况下,算法能力已经有了一定程度的体现,仍需要进一步地提高。
图4 不同算法下的PESQ均值对比结果
Fig.4 Comparison of PESQ mean values under different algorithms
频域分段信噪比一种测试增强语音中含有噪声能量多少的客观指标。FsegSNR值越大,可间接地体现噪声消除能力越好。 图5中,(a)、(b)为在Babble噪声,(c)、(d)为在Machine噪声下,干扰声源位于麦克风的45°和120°,各算法在各信噪比条件下的平均FsegSNR结果。总体来说,提出的算法相于其他的对比算法有很好的噪声抑制能力。在低信噪比(-5 dB)条件下,FsegSNR提升有限,说明在噪声消除之后有语音失真的现象出现。在后置滤波部分中,在Babble噪声下,本文所提算法相比传统的后处理方法,FsegSNR值提升较大,说明所提算法在背景噪声为非平稳时有明显的改善效果。
图5 不同算法下的FsegSNR均值对比结果
Fig.5 Comparison of Fseg SNR mean values under different algorithms
在图6中,通过频谱图能清楚地区分语音,和噪声干扰,以及观察到噪声消除的程度。以Babble噪声为例,与经典的算法比较,可以看出本文提出的波束形成算法对噪声消除有很好的效果,同时对语音有很好的保护,没有过多地损伤。其他的方法都伤害到部分语音。对依然存在的残留噪声,通过提
图6 Babble(5 dB)噪声在各种算法下的结果
Fig.6 Different enhancement results of Babble(5 dB) noise under various algorithms
出的后置滤波方法,也有一定程度的消除,使得语音增强的效果达到更好。
本文在干扰声源和背景噪声存在的条件下,提出了基于功率谱密度的波束形成方法与深度神经网络结合传统后处理的方法以更好地消除噪声,同时保证语音尽可能地不受损伤。验证实验中,使用了两种噪声,分别包括平稳噪声和非平稳噪声,且结合了不同角度的干扰,分析算法的有效性。
在后续的研究中,计划以此算法为基础,解决在更高混响下的非平稳噪声的消除问题。
[1] 胡永刚, 张雄伟, 邹霞, 等. 改进的非负矩阵分解语音增强算法[J]. 信号处理, 2015, 31(9): 1117-1123.
Hu Yinggang, Zhang Xiongwei, Zou Xia, et al. Improved Nonnegative Matrix Factorization Based Speech Enhancement Algorithm[J]. Journal of Signal Processing, 2015, 31(9): 1117-1123.(in Chinese)
[2] Lim J S, Oppenheim A V. Enhancement and bandwidth compression of noisy speech[J]. Proceedings of the IEEE, 1979, 67(12): 1586-1604.
[3] Gannot S, Vincent E, Markovich-Golan S, et al. A consolidated perspective on multimicrophone speech enhancement and source separation[J]. IEEE/ACM Transactions on Audio, Speech and Language Processing(TASLP), 2017, 25(4): 692-730.
[4] Frost O L. An algorithm for linearly constrained adaptive array processing[J]. Proceedings of the IEEE, 1972, 60(8): 926-935.
[5] Cohen I. Noise spectrum estimation in adverse environments: Improved minima controlled recursive averaging[J]. IEEE Transactions on Speech and Audio Processing, 2003, 11(5): 466- 475.
[6] Benesty J, Sondhi M M, Huang Y A. Introduction to speech processing[M]. Springer Handbook of Speech Processing. Springer, Berlin, Heidelberg, 2008: 1- 4.
[7] Narayanan A, Wang D L. Ideal ratio mask estimation using deep neural networks for robust speech recognition[C]∥2013 IEEE International Conference on Acoustics, Speech and Signal Processing. IEEE, 2013: 7092-7096.
[8] Wang D L. On ideal binary mask as the computational goal of auditory scene analysis[M]. Speech separation by humans and machines. Springer, Boston, MA, 2005: 181-197.
[9] Sun L, Du J, Dai L R, et al. Multiple-target deep learning for LSTM-RNN based speech enhancement[C]∥2017 Hands-free Speech Communications and Microphone Arrays(HSCMA). IEEE, 2017: 136-140.
[10]Xu Y, Du J, Huang Z, et al. Multi-objective learning and mask-based post-processing for deep neural network based speech enhancement[J]. arXiv preprint arXiv: 1703.07172, 2017.
[11]Lepauloux L, Scalart P, Marro C. Computationally efficient and robust frequency-domain GSC[C]∥12th IEEE International Workshop on Acoustic Echo and Noise Control, 2010.
Reference format: Ni Feng, Zhou Yi, Liu Hongqing. Microphone Array Noise Elimination Method Using Signal Power Spectral Density[J]. Journal of Signal Processing, 2020, 36(3): 373-381. DOI: 10.16798/j.issn.1003- 0530.2020.03.007.
倪 峰 男, 1993年生, 内蒙古人。重庆邮电大学硕士研究生。研究方向为语音信号处理、麦克风阵列语音增强和单通道语音增强。
E-mail: chris.ni@foxmail.com
周 翊 男, 1974年生, 四川人。重庆邮电大学通信与信息工程学院教授, 博士生导师。研究方向为语音信号处理、智能听觉分析和机器听觉。
E-mail: zhouy@cqupt.edu.cn
刘宏清 男, 1980年生, 黑龙江人。重庆邮电大学通信与信息工程学院教授, 博士生导师。研究方向为稀疏信号处理、语音信号处理和图像信号处理。
E-mail: hongqingliu@cqupt.edu.cn