在实际场景中,语音信号经常被各种环境噪声干扰和破坏,这不仅降低了语音可懂度,而且影响语音整体感知质量。语音增强通过抑制或减少噪声干扰,尽可能地从带噪语音信号中恢复出干净语音信号,被广泛运用于移动通信、助听器、语音识别等技术中。
常见的语音增强方法有谱减法、维纳滤波、子空间法、基于统计模型的语音增强方法等。此外,一些新颖的语音增强算法也应运而生,例如结合听觉掩蔽效应[1-2]、压缩感知[3]、小波变换[4]、深度学习[5- 6]的语音增强方法等。基于听觉掩蔽效应的方法模拟人耳听觉的感知特性,估计语音时频域中的掩码,从带噪语音信号中恢复出干净语音信号,能够提高听觉感知质量,因此被广泛研究。听觉掩蔽效应运用于语音增强时,一般与其他方法结合使用。文献[7]提出了一种基于基音跟踪和幅度调制的计算听觉场景分析系统,该系统利用语音特征进行时频单元标记,分离出目标语音。在文献[8]中,Hu和Wang提出用于基音估计和浊音分离的tandem算法,利用语音谐波特性和短时连续性,对基音估计和二值掩码估计进行迭代运算。文献[9]提出一种基于语音功率凸优化的二值掩码估计方法,此方法不考虑语音分块和基音估计,仅将每个Gammatone滤波器组通道的语音功率作为标记二值掩码的关键线索。另外,一些研究者们将时频掩模作为计算目标,提出了有监督的语音增强方法。在文献[10]中,作者利用长短期记忆神经网络进行语音增强,该网络从带噪语音特征中预测干净语音特征和噪声特征,以此来构建掩码。文献[11]提出了一种结合比率掩码和联合字典学习优点的单通道语音增强方法,且实验结果表明此算法与基于深度学习的语音增强方法性能相当,且计算复杂度更低。
尽管很多语音增强算法在高信噪比环境下能取得良好语音增强表现,但大多数算法对低信噪比的语音信号处理不尽人意[12]。然而,在实际生活中,语音信号在传播过程中通常会被严重的噪声破坏甚至淹没。因此研究针对低信噪比情况下的语音增强算法具有重要意义。借鉴文献[13]中,鲁棒时变滤波对低信噪比环境下的非平稳信号去噪效果明显,本文提出了一种新颖的时频掩码估计方法用于语音增强。鲁棒时变滤波的关键是需要一个先验的待处理信号的瞬时频率信息。本文首先利用短时傅里叶变换后短时频谱特性,提出基于图像处理的算法来估计带噪语音瞬时频率值;然后利用该瞬时频率信息,通过鲁棒时变滤波算法得到重构语音信号;最后本文结合重构语音信号的时频特征,根据阈值预测时频掩码用于语音增强。
假定干净语音信号和加性噪声信号分别为x(t)和n(t),带噪语音信号可以表示为
s(t)=x(t)+n(t)
(1)
经过加窗分帧进行短时傅里叶变换后,带噪语音信号从时域转换为时频域,可得
S(t, f)=X(t, f)+N(t, f)
(2)
其中,S(t, f),X(t, f)和N(t, f)分别表示带噪语音信号,干净语音信号和随机噪声的短时频谱,在时频域中t与f分别表示帧数与频点索引。基于短时频谱估计的语音增强技术是在已知带噪语音信号频谱S(t, f)的情况下,估计纯净语音信号频谱进而得到估计的干净语音信号的过程。
本文提出的联合鲁棒时变滤波和时频掩码的语音增强方法的流程图如图1所示,算法步骤实施如下:
Step 1 对带噪语音信号进行短时傅里叶变换,得到短时频谱S(t, f);
Step 2 基于语音信号的瞬时频率信息,执行鲁棒时变滤波算法,可得重构语音信号r(t);
Step 3 由于重构语音信号的短时频谱能够明显地反映语音能量分布,根据阈值预测时频掩码M(t, f);
Step 4 将上述时频掩模M(t, f)与带噪语音短时频谱相乘,得到估计的短时频谱再计算短时傅里叶逆变换可得增强后语音信号
鲁棒时变滤波依赖于解析信号的正弦时频分布(Sinusoidal Time-Frequency Distribution,STFD),它是为了最优地跟踪解析信号的频谱成分而设计的,并被证明在低信噪比情况下对于非平稳信号能够有效地去除噪声[13]。首先对带噪语音信号s(t)进行频率调制,可得解析信号如下:
(3)
其中,μ是调频指数。解析信号zs(t)的STFD由核函数决定:
STFDz(t, f)=FTτ{Kz(t,τ)}
(4)
图1 所提语音增强算法的流程图
Fig.1 The flowchart of the proposed method for speech enhancement
上式中FT代表傅里叶变换,τ代表时延,Kz(t,τ)是核函数。核函数的具体表达为:
Kz(t,τ)=[z(t+τ+a1)z*(t-τ-a1)]b1·
[z(t+τ+a2)z*(t-τ-a2)]b2
(5)
其中参数a与b定义如下:
(6)
上式中fm为输入信号s(t)的瞬时频率。
鲁棒时变滤波首先将带噪语音信号s(t)编译为解析信号的瞬时频率,结合式(1)可表示为:
=zx(t)·zn(t)
(7)
其中zx(t)为语音成分,zn(t)为噪声成分。因此可以通过估计解析信号zs(t)的瞬时频率来获得潜在语音信号x(t),其求解公式如下:
(8)
考虑到傅里叶变换高的计算复杂度,我们利用STFD的相位信息来替代傅里叶变换的计算。由于参数b受时延τ的影响,利用b1/2πτ与b2/2πτ分别替换式(5)中的b1与b2,得到相位值如下:
(9)
由于语音信号在每个时刻可能包含多个频率分量,因此利用鲁棒时变滤波需要计算各分量对应成分之和,重构语音信号可概括为:
(10)
其中,K表示瞬时频率个数,h(τ)表示矩形窗函数,表示第k个子核函数的相位,其具体表达为:
(11)
上式中各参数为:
(12)
其中f(t,k)表示t时刻的第k个瞬时频率分量。下一小节将讨论语音信号初始瞬时频率f(t,k)的求取。
实现鲁棒时变滤波算法的前提是已知瞬时频率信息。由于语音信号在同一时刻可能包含多个瞬时频率信息,因此针对非平稳信号的传统瞬时频率估计方法并不适用。在时频分布中,语音信号的瞬时频率信息直观地体现在能量显著区域。因此,本文结合噪声估计方法以及图像处理方法,在时频分布中提取能量显著区域,从而实现语音信号的瞬时频率粗估计。
为了简化瞬时频率估计过程,首先将带噪语音的时频分布S(t, f)转换为一个二值图像,其中标记“1”代表能量显著区域。给定一个阈值T0,二值图像表示如下
(13)
由于背景噪声的随机性,采用固定阈值实现上述二值化过程是不合适的。因此,本文采用最小控制递归平均(Minima Controlled Recursive Averaging,MCRA)算法[14]估计噪声功率,并以此设计自适应阈值。MCRA算法在时频域中通过递归平均方式估计噪声,其平滑因子由每个时频单元中语音存在概率决定,而语音存在概率通过带噪语音功率谱与其局部最小值之比来计算。基于MCRA算法,可以估计噪声功率作为上述二值化过程的自适应阈值。通过比较带噪语音功率与估计的噪声功率可以确定二值图像B1,即对于每一个时频单元,如果带噪语音功率值大于噪声功率值,则将该单元设为1;反之则置为0。
由于鲁棒时变滤波算法的计算复杂度与瞬时频率估计值的精度以及数量相关,因此提取更精确更简洁的瞬时频率信息是必要的。考虑到时频分布中语音能量以谐波的形式呈现,故采用图像细化来提取瞬时频率信息。二值图像的细化是将一个图像中的前景部分沿着它的中心轴线将其细化为一个像素宽线条的处理过程,细化的结果能基本保留图形中前景部分的拓扑结构。细化后的图像B2,包含很多离散噪声,需要进一步处理。我们对二值图像B2中的连通分量进行标记,然后可通过连通分量大小来区分能量集中区域与噪声区域,删去被视为噪声的小区域连通分量,从而可得去除离散点后的二值图像B3。B3即为瞬时频率粗估计结果图,如图2所示,其中白色像素的横坐标为时间,纵坐标值对应于相应时刻的瞬时频率。设定瞬时频率为fik,表示第i时刻的第k个瞬时频率分量。
图2 瞬时频率估计结果图
Fig.2 The result of the instantaneous frequency estimation
综上所述,基于初始瞬时频率值f(t,k),本文利用鲁棒时变滤波算法对带噪语音信号进行处理,可以得到重构语音信号r(t)。此重构信号能够减少噪声,但是存在语音失真现象。由于重构语音信号的时频分布中能量高的位置被突出,即语音存在处被突出,以此来预测时频掩码,可以获得更好的增强效果。
由于重构语音信号r(t)的时频图能明显地反映语音能量的分布,因此利用其短时频谱R(t, f)设计时频掩码。根据经验阈值T1确定时频掩码,如果时频单元R(t, f)的幅值大于阈值,则对应的掩码置为1;反之则置为0。然而,上述的二元掩码可能会导致微弱的语音分量丢失,且输出语音会存在失真。因此,本文利用小权重值α取代0值,设计时频掩码如下:
(14)
其中,T1为阈值,α的取值范围为0<α<1。上述掩码在抑制噪声的同时能够减少语音信号的失真,本文中选取α=0.1。
由于存在离散的和估计错误的时频单元,因此我们采用平滑方法得到更精确的二值掩码。在平滑过程中,如果9个时频单元(包括当前单元和8个相邻时频单元)的一半以上被标记为1,则当前时频单元被重新标记为1;否则,当前时频单元被重新标记为α。然后将带噪语音信号的短时频谱与时频掩码相乘,估计出干净语音信号的短时频谱,如下所示:
(15)
最后对估计的短时频谱进行短时傅里叶逆变换,得到增强后的语音信号
为了验证本文所提语音增强算法的有效性,本节采用Noizeus数据库[15]中的30段不同说话人的语音信号(其中15段为男声,15段为女声)作为测试数据,所有语音信号的采样频率均为8 kHz。背景噪声选用3种不同类型的噪声信号,分别为高斯白噪声、汽车噪声以及火车噪声。在4种信噪比下对干净语音和噪声进行混合,信噪比分别为0 dB、5 dB、10 dB、15 dB。作为对比,将本文所提的语音增强方法与多带谱减法(Multi-band spectral subtraction,MBSS)[16]和基于最小均方误差短时谱估计方法(MMSE short-time spectral amplitude,MMSE-STSA)[17]进行比较,其中MMSE-STSA中的噪声估计利用基于MMSE的噪声功率无偏估计方法[18]。
语音信号波形图和语谱图可以显示出残留噪声的细节,因此在本小节中给出了干净语音信号、带噪语音信号、以及经过MBSS、MMSE-STSA和本文所提算法增强后的语音波形图以及对应的语谱图。图3为语音信号时域波形图,其中横轴为时间,纵轴为幅度。图3(a)是Noizeus数据库中干净语音信号“He wrote down a long list of items”的波形图,图3(b)是混合信噪比为0 dB的高斯白噪声后的带噪语音波形图,图3(c)~(e)分别为经过MBSS、MMSE-STSA以及本文所提方法增强后的语音波形图。由图可见,本文所提的语音增强算法能够实现语音去噪,且在无声段去噪效果更明显。
图3 干净语音、带噪语音、以及经过MBSS、MMSE-STSA和本文所提算法增强后的语音波形图
Fig.3 Waveforms of clean speech, noisy speech and enhanced speech with the MBSS, MMSE-STSA and the proposed method
短时傅里叶变换常用于语音信号的频谱分析,语谱图可以观察语音不同频段的信号强度随时间的变化情况。语谱图的横轴代表时间,纵轴代表频率,颜色代表频谱值大小,亮色表示高,深色表示低。图4(a)是Noizeus数据库中干净语音信号“He wrote down a long list of items”的语谱图,图4(b)是混合信噪比为0 dB的高斯白噪声后的带噪语音语谱图,图4(c)~(e)分别为经过MBSS、MMSE-STSA以及本文所提方法处理后的语谱图。从图中可以看出,本文所提语音增强方法的噪声消除能力优于MBSS方法和MMSE-STSA方法,尤其是在高频部分效果更为明显。尽管所提方法残留较小噪声,但比两种对照方法保留更多语音成分,更接近干净语音。图4( f )是三种语音增强方法对0 dB信噪比带噪语音处理后的分段信噪比结果对比,可见本文所提方法在各时间段的信噪比整体高于MBSS方法和MMSE-STSA方法,说明所提方法处理后的语音信号包含更少的噪声,并且在低信噪比情况下,信噪比提升更为明显。
分段信噪比(Segment signal-to-noise ratio,SegSNR)[19]计算语音信号每一帧的信噪比,然后在整个语音段求取平均值,其定义如下:
(16)
其中M为语音帧数,N为语音帧的长度。SegSNR相较于全局信噪比更能反映语音的质量,且SegSNR越大说明语音包含的噪声越少。
图4 纯净语音、带噪语音、经过谱减法、最小均方误差法和本文所提方法增强后的语音频谱图,以及分段信噪比结果图
Fig.4 Spectrograms of clean speech, noisy speech and enhanced speech with spectral subtraction, MMSE estimation, the proposed method and the SegSNR result
表1给出了在不同背景噪声以及不同输入信噪比下三种语音增强算法的SegSNR 结果。从表中可以看出,在高斯白噪声、火车噪声、汽车噪声背景下,所提语音增强方法的SegSNR都要高于两种对照方法。并且带噪信号的输入信噪比在0 dB、5 dB、10 dB、15 dB时,所提语音增强算法的SegSNR得分比参考算法MMSE-STSA分别提升了29.81%、24.35%、17.26%、8.12%。说明本文所提方法在低信噪比情况下SegSNR得到更好的提高,即在低信噪比时,所提算法可以更有效地减少或抑制噪声。
表1 不同噪声背景下不同算法的SegSNR对比
Tab.1 The SegSNR results obtained with different methods in different noise backgrounds
噪声SNRin/dB带噪语音MBSSMMSE-STSA所提算法白噪声0-4.5080-1.4505-1.2044-0.30475-1.81471.06241.43472.0671101.15633.80894.21404.6991154.57215.81147.35507.5296火车噪声0-3.9636-1.8346-1.9070-1.23325-1.55440.78820.69991.3021101.39443.25673.43123.8330154.85915.27896.70006.9180汽车噪声0-4.4679-2.2812-1.7293-0.92295-1.99460.24200.72461.4556101.01222.96323.59204.0097154.30415.25686.72056.8713
主观语音质量评估(Perceptual evaluation of speech quality,PESQ)[19]是一种对于语音质量的客观评价方法。PESQ的得分范围从-0.5到4.5,得分越高表示所测试语音的质量越好,且语音增强算法能越好的抑制语音失真。
在不同背景噪声以及不同输入信噪比下测试三种语音增强算法的PESQ结果如表2所示。在火车噪声背景下,所提语音增强方法的PSEQ得分比两种对照方法更好。在高斯白噪声和汽车噪声背景下,在低信噪比时所提算法的PESQ值具有优势,但在高信噪比15 dB的情况下,所提算法的PESQ得分与MMSE-STSA方法效果相当。从整体效果来看,所提语音算法的PESQ得分要优于两种对照语音增强方法,输出语音的整体感知质量更高。
表2 不同噪声背景下不同算法的PESQ对比
Tab.2 The PESQ results obtained with different methods in different noise backgrounds
噪声SNRin/dB带噪语音MBSSMMSE-STSA所提算法白噪声01.56581.83741.95962.073051.82952.24632.33862.4395102.13762.65262.66332.7296152.46582.93562.97362.9733火车噪声01.60481.81231.87781.962251.85942.16302.16982.2404102.16042.52412.48132.5705152.49212.87002.85452.8948汽车噪声01.63371.87311.98282.013451.89132.16192.28682.3341102.20062.56072.64612.6598152.53182.88222.97202.9226
针对低信噪比的语音信号增强问题,本文借鉴鲁棒时变滤波算法在低信噪比情况下的良好滤波性能,提出了一种结合时变滤波和时频掩码的语音增强方法。所提方法利用鲁棒时变滤波算法重构语音信号,并依据重构信号的时频特征预测时频掩码。此掩码能有效地保留语音成分且抑制噪声成分,从而达到语音增强的目的。本文采用Noizeus数据库作为测试数据,实验结果表明所提方法有更好的降噪效果,同时也在一定程度上提升了语音感知质量,且更适合于低信噪比情况下的语音增强。
[1] Virag N. Single Channel Speech Enhancement Based on Masking Properties of the Human Auditory System[J]. IEEE Transactions on Speech and Audio Processing, 1999, 7(2): 126-137.
[2] 叶琪, 陶亮, 周健, 等. 基于噪声谱约束的二值掩码估计语音增强算法[J]. 信号处理, 2016, 32(1): 70-76.
Ye Qi, Tao Liang, Zhou Jian, et al. Speech Enhancement Algorithm of Binary Mask Estimation Based on Noise Spectrum Constraints[J]. Journal of Signal Processing, 2016, 32(1): 70-76.(in Chinese)
[3] Wang J C, Lee Y S, Lin C H, et al. Compressive Sensing-Based Speech Enhancement[J]. IEEE/ACM Transactions on Audio, Speech, and Language Processing, 2016, 24(11): 2122-2131.
[4] 唐鹏, 郭宝平. 改进型阈值函数寻优法的小波去噪分析[J]. 信号处理, 2017, 33(1): 102-110.
Tang Peng, Guo Baoping. Wavelet Denoising Based on Modified Threshold Function Optimization Method[J]. Journal of Signal Processing, 2017, 33(1): 102-110.(in Chinese)
[5] Xu Y, Du J, Dai L R, et al. A Regression Approach to Speech Enhancement Based on Deep Neural Networks[J]. IEEE/ACM Transactions on Audio, Speech, and Language Processing, 2015, 23(1): 7-19.
[6] Kounovsky T, Malek J. Single channel speech enhancement using convolutional neural network[C]∥2017 IEEE International Workshop of Electronics, Control, Measurement, Signals and their Application to Mechatronics(ECMSM). IEEE, 2017: 1-5.
[7] Hu G, Wang D L. Monaural Speech Segregation Based on Pitch Tracking and Amplitude Modulation[J]. IEEE Transactions on Neural Networks, 2004, 15(5): 1135-1150.
[8] Hu G, Wang D L. A Tandem Algorithm for Pitch Estimation and Voiced Speech Segregation[J]. IEEE Transactions on Audio, Speech and Language Processing, 2010, 18(8): 2067-2079.
[9] Bao F, Abdulla W H. A new time-frequency binary mask estimation method based on convex optimization of speech power[J]. Speech Communication, 2018, 97: 51- 65.
[10] Weninger F, Eyben F, Schuller B. Single-channel Speech Separation with Memory-enhanced Recurrent Neural Networks[C]∥2014 IEEE International Conference on Acoustics, Speech and Signal Processing(ICASSP). IEEE, 2014: 3709-3713.
[11] Zhang L, Bao G, Zhang J, et al. Supervised Single-Channel Speech Enhancement Using Ratio Mask with Joint Dictionary Learning[J]. Speech Communication, 2016, 82: 38-52.
[12] 刘鹏. 低信噪比下高可懂度语音增强算法[J]. 计算机系统应用, 2018, 27(12): 187-191.
Liu Peng. High Intelligibility Speech Enhancement Algorithm under Low SNR Condition[J]. Computer Systems & Applications, 2018, 27(12): 187-191.(in Chinese)
[13] Zhang H, Bi G, Razul S G, et al. Robust Time-varying Filtering and Separation of Some Nonstationary Signals in Low SNR Environments[J]. Signal Processing, 2015, 106: 141-158.
[14] Cohen I, Berdugo B. Noise Estimation by Minima Controlled Recursive Averaging for Robust Speech Enhancement[J]. Signal Processing Letters IEEE, 2002, 9(1): 12-15.
[15] Hu Y, Loizou P C. Subjective Comparison and Evaluation of Speech Enhancement Algorithms[J]. Speech Communication, 2007, 49(7): 588- 601.
[16] Loizou P C. Speech Enhancement: Theory and Practice[M]. CRC Press, Inc. 2007.
[17] Ephraim Y, Malah D. Speech Enhancement Using a Minimum-mean Square Error Short-time Spectral Amplitude Estimator[J]. IEEE Transactions on Acoustics, Speech, and Signal Processing, 1984, 32(6): 1109-1121.
[18] Gerkmann T, Hendriks R C. Unbiased MMSE-Based Noise Power Estimation with Low Complexity and Low Tracking Delay[J]. IEEE Transactions on Audio, Speech and Language Processing, 2012, 20(4): 1383-1393.
[19] Hu Y, Loizou P C. Evaluation of Objective Quality Measures for Speech Enhancement[J]. IEEE Transactions on Audio, Speech, and Language Processing. 2008, 16(1): 229-238.
Reference format: Cheng Shuai, Zhang Haijian, Sun Hong. Joint Time-Varying Filtering and Masking for Speech Enhancement[J]. Journal of Signal Processing, 2019, 35(4): 601-608. DOI: 10.16798/j.issn.1003- 0530.2019.04.010.
成 帅 女, 1995年生, 湖南长沙人。武汉大学电子信息学院硕士研究生, 研究方向为语音信号处理。
E-mail: cscheng@whu.edu.cn
张海剑 男, 1983年生, 湖北宜昌人。武汉大学电子信息学院副教授, 硕士生导师, 主要研究方向为时频分析、阵列信号处理、压缩感知和5G。
E-mail: haijian.zhang@whu.edu.cn
孙 洪 女, 1954年生, 湖北武汉人。华中理工大学(现名华中科技大学)获得工学博士学位, 现为武汉大学电子信息学院教授, 博士生导师。主要研究方向为统计信号处理、自适应信号处理和智能信号处理。
E-mail: hongsun@whu.edu.cn