语音增强算法的研究与改进
2020-12-07郑展恒曾庆宁
郑展恒 曾庆宁
摘 要: 为了研究和提高语音增强的效果,针对语音信号的非平稳性,根据卡尔曼滤波能处理非平稳信号,其是以最小均方误差为估计的最优准则,提出一种改进的卡尔曼滤波语音增强算法。该方法首先在改进谱减法和人耳掩蔽效应增强的基础上,利用语音信号的生成模型,通过线性预测系数组成状态转移矩阵,采用基于听觉掩蔽效应改进的谱减法估计语音和噪声的AR参数,该分析改进后的参数更加准确并提供给卡尔曼增强算法,最终实现卡尔曼滤波的语音增强。仿真实验表明,在不同信噪比下该算法均有效地实现了语音增强,去噪效果较好,提高了语音质量。
关键词: 语音增强; AR参数估计; 听觉掩蔽; 基本谱减法; 状态转移矩阵; 仿真结果分析
中图分类号: TN912.35?34 文献标识码: A 文章编号: 1004?373X(2020)21?0027?04
Research and improvement of speech enhancement algorithms
ZHENG Zhanheng1, 2, ZENG Qingning2
(1. MOE Key Laboratory of Cognitive Radio and Information Processing, Guilin 541004, China;
2. School of Information and Communication, Guilin University of Electronic Technology, Guilin 541004, China)
Abstract: In view of the non?stationary of speech signals, an improved speech enhancement algorithm based on Kalman filtering, which can process non?stationary signals according to the optimal criterion of minimum mean square error estimation, is proposed to study and improve the effects of speech enhancement. In this method, a speech signal generation model is used to build the state transition matrix by linear prediction coefficients on the basis of improving spectral subtraction and enhancing human ear masking effect, and then the AR parameters of speech and noise are estimated by the improved spectral subtraction based on the auditory masking effect. It is found in the analysis that the improved parameters are more accurate and can be provided for the Kalman enhancement algorithm to achieve the speech enhancement based on the Kalman filtering. The simulation results show that the proposed algorithm has a good denoising effect, and can effectively enhance the speech and improve the speech quality at different SNR.
Keywords: speech enhancement; AR parameter estimation; auditory masking; basic spectral subtraction; state?transition matrix; simulation result analysis
0 引 言
近年来,现代科技的不断发展以及AI的不断突破和进步,语音处理的相关技术与应用更加广泛地深入到人们的日常生活与科技生产中,语音信号处理以及语音增强算法在这些方面的应用越来越广泛,人们更加重视语音增强算法的研究和实际应用。
对语音信号进行增强就是要改善语音信号质量,尽可能减少噪声影响,提高语音可懂度,及对语音信号后续做进一步处理。当前具有代表性的语音增强方法有:谱减法[1?3]、维纳滤波[4]、麦克风阵列[5?6]、人耳掩蔽效应[1]、卡尔曼滤波法等增强算法[5?11]。卡尔曼滤波起初由匈牙利人Rudolf Emil Kalman提出用于控制方面,因其具有处理非平稳信号的能力,符合语音的特性,后来许多学者陆续对其开展算法研究。
实际的处理中,若对模型参数在含噪语音中估计,会带来较大误差,本文先对基本谱减法进行研究,采用基于人耳掩蔽效应的谱减法先对其做预处理,以获得接近纯净的语音,为卡尔曼滤波提供所需的AR参数。采用人耳掩蔽效应与谱减法相结合能有效对语音去噪且不失真,将其作为预处理方法最终能够取得较好的增强效果。
1 语音增强算法分析与实现
1.1 基本谱减法及改进算法
S.Boll假设噪声信号是平稳的或变化缓慢的加性噪声,且在语音信号和噪声信号不相关的前提下提出谱减法,假定噪声是平稳的,人耳对相位信息不敏感,将含噪语音的相位作为处理后语音的相位,根据处理后的幅度和相位进行IFFT变换,得到增强后的时域信号。
设含噪语音为[y(n)],纯净语音为[s(n)],平稳加性高斯白噪声为[d(n)],有:
[y(n)=s(n)+d(n), 0≤n≤N-1] (1)
由傅里叶变换和纯净语音与含噪语音不相关,有:
[EY(k)2=ES(k)2+ED(k)2] (2)
选取适当帧长语音信号为短时平稳过程后:
[Y(k)2=S(k)2+λn(k)] (3)
式中[λn(k)]为[D(k)2]的统计平均,这样就得到基本谱减法求出原始语音信号的估计值[S(k)]。
实际上,噪声的帧功率谱在谱减听觉上形成残留噪声;语音信号频谱中残存的宽带噪声从听觉方面发挥着掩蔽纯音噪声的功能。基于这些因素的考虑,对基本谱减法进行改进,有:
[S(k)2=maxY(k)2-α*λn(k),β*λn(k), α>1,β?1] (4)
1.2 基于人耳掩蔽效应的语音增强
人耳听觉只能感受到一定声压和频率范围的声音,并不能感受所有频率和所有声强的声音,研究人耳特性对语音增强有着十分重要的作用,这个特性就是听觉掩蔽效应,是心理声学现象,它由人耳对声音的频率分辨机制决定的。据声学手册的定义:掩蔽是一个声音的听阈因另一个声音的存在而上升的现象,掩蔽大小就是听阈上升的分贝数。
现在针对实际情况,研究建立在噪声环境下的语音压缩听觉模型,即采用一个建立在Bark关键频率段基础上常用的音频信号听觉掩蔽模型——Johnston模型,按照临界带宽划分信号频域。在Bark频域中各个临界带间的间隔,要考虑到掩蔽音的纯音特性即掩蔽音信号是偏纯音的还是偏噪声的,进一步得到掩蔽阈值偏移量,并最终求出扩展前掩蔽阈值,将计算出的掩蔽阈值与人耳听力绝对阈值比较得到最终的掩蔽阈值。
实际中在所有频段和语音帧内采取固定的谱减系数语音增强的效果并不理想,现在在人耳掩蔽效应模型的基础上进行谱减,对不同频段和不同的语音帧动态调整谱减系数。基于谱减的听觉掩蔽增强算法原理图如图1所示。
这种方法是利用人耳掩蔽效应直接对传统的增强方法进行改进:
1) 对输入的含噪语音进行分帧和加窗、FFT,对其做谱分析;
2) 端点检测后通过基本谱减增强法对含噪信号初步估计;
3) 对建立的听觉掩蔽模型求出具体的掩蔽阈值;
4) 进一步得到信号每一帧的动态谱减参数;
5) 通过对动态谱减参数自适应的调节,实现对含噪信号参数的调节;
6) 引入相位信息后,对频域增强处理后的信号作IFFT变换等,求出增强后的时域语音信号。
1.3 基于卡尔曼滤波的语音增强
现实中的噪声大都是非平稳的,因而研究非平稳噪声状态下的语音增强具有重要意义。
卡尔曼滤波在语音去噪已有许多研究应用,其结合语音生成模型,用信号的线性预测系数作为状态转移矩阵,增强后语音中残留的音乐噪声减少,语音自然度提高,其模型参数估计的准确与否直接影响增强语音的质量。卡尔曼滤波算法在语音信号去噪方面的应用研究较多,主要归功于其处理数据和计算算法实现等较为方便。
卡尔曼滤波器的主要过程有两个,分别是预估和校正。预估就是根据时间更新方程建立对当前状态的先验估计,方便构造下一状态的先验估计值;校正即是反馈过程,根据更新方程预估的先验估计值和当前测量值对现状态分析,改进后验估计值。
对含噪语音信号的计算式为:
[y(k)=s(k)+n(k)] (5)
式中:[s(k)]为纯净语音;[n(k)]为与[s(k)]不相关的背景噪聲。纯净语音[s(k)]在短时间段内认为是平稳的,其[p]阶AR预测方程为:
[s(k)=i=1pai(k)s(k-i)+u(k)] (6)
进一步得到系统的状态空间方程为:
[S(k)=FS(k-1)+Gu(k)y(k)=HS(k)+n(k)] (7)
式中:[S(k)]是[k]时刻的系统状态,即语音实际值;[F]是LPC系数构成的状态转移矩阵;[y(k)]是[k]时刻的测量值;[n(k)]和[u(k)]分别为测量噪声和过程噪声,均值始终为零,且其方差分别为[δ2n]和[δ2u]的不相关白噪声;[H]和[G]分别为观测向量和输入向量。
[H=GT=0,0,…,0,11×p] (8)
[S(k)=s(k-p+1),s(k-p+2),…,s(k)T] (9)
[F=010…0001…0?????000…1apap-1ap-2…a1p×p] (10)
分帧后的语音信号在假设初始条件值后,通过卡尔曼滤波递推求出相应的结果:
[S(00)=0,P(00)=0S(kk-1)=FS(k-1k-1)P(kk-1)=FP(k-1k-1)FT+δ2uGGTK(k)=P(kk-1)HTHP(kk-1)HT+δ2n-1S(kk)=S(kk-1)+K(k)y(k)-HS(kk-1)P(kk)=I-K(k)HP(kk-1)]
迭代计算后最终得出增强后的语音信号在[k]时刻的最佳估值:
[S(k)=HS(kk)] (11)
2 实验仿真结果与分析
根据前文分析研究的增强算法,分别进行实验仿真,算法测试所用语音信号是在实验室安静环境下录制的,将录制的语音信号作为原始纯净语音,其采样率为8 kHz,帧长为1 024,帧移是512,选取的窗函数为海明窗,求解掩蔽阈值的临界频带数为24,采用高斯白噪声作为背景噪声。
首先是基本谱减法的语音增强,其仿真测试结果如图2所示(0 dB时)。
通过图2的仿真结果发现,基本谱减法增强效果不是很明显,增强后的语音仍保留了大量噪声。试听发现有流水噪声伴随语音,有时或掩盖原来的语音,听觉效果较差。
下面对改进谱减法和基于人耳掩蔽效应的谱减法进行仿真,测试结果如图3所示。
从图3所示的实验结果得出:被0 dB白噪声污染的信号,基于掩蔽效应算法的增强结果图相比传统谱减法增强结果图更接近原始的语音信号波形图。试听表明:新算法语音增强后的噪声减少较为明显,音乐噪声相比基本谱减法不怎么突出,语音信号质量改善很大,基于人耳掩蔽的语音增强算法在去除音乐噪声方面效果更好,但是噪声滤除仍不太理想。观察去噪后的信噪比可以发现:基于人耳掩蔽效应的谱减法相比基本谱减法信噪比非但没增加反而有些减少。流水噪声虽没那么明显,但听音测试发现局部的噪声有些许增强,特别是在低信噪比时测定效果较差。
因此基于以上情况,现在将谱减法作为预处理,为使得去噪后语音效果更好,这里对预处理得到的语音进行卡尔曼滤波增强,仿真结果如图4所示。
从图4的仿真结果看出,利用改进卡尔曼滤波算法去噪后,语音质量比上述几种增强算法都有所提高。其语音波形比改进谱减法和基于人耳掩蔽效应的谱减法得到的波形更加饱满,寂静段噪声的幅度也有明显减小。试听发现基本不存在流水噪声,这主要归功于人耳掩蔽,它使流水噪声没那么明显,其次,归功于卡尔曼滤波以最小均方误差为估计的最优准则,去噪实验效果好。
综上,实验分别对采用不同的高斯白噪声,运用前文的几种语音增强算法分别求出相应的输出信噪比,具体结果如表1所示。
从表1列出的测试结果可以看出,在不同信噪比的情况下,改进后的卡尔曼滤波语音增强算法较其他几种算法效果好。
3 結 语
本文主要研究了语音信号增强的几种算法,及噪声的产生机理,对语音信号进行预处理得到初步去噪后的语音,为卡尔曼滤波算法提供较准确的AR参数,利用Matlab R2014a编程对增强算法进行实验测试,所用语音信号为实验室安静环境下录制。实验结果和数据表明,用基于人耳掩蔽效应的谱减法对含噪语音作预处理,然后通过卡尔曼滤波可以取得更好的效果,流水噪声得到较好的抑制,增强后语音听起来较为舒适。
注:本文通讯作者为曾庆宁。
参考文献
[1] PALIWAL K, W?JCICKI K, SCHWERIN B. Single?channel speech enhancement using spectral subtraction in the short?time modulation domain [J]. Speech communication, 2010, 52(5): 450?475.
[2] ZHANG Yi, ZHAO Yunxin. Real and imaginary modulation spectral subtraction for speech enhancement [J]. Speech communication, 2013, 55(4): 509?522.
[3] 蔡文坚,王辅忠,张慧春,等.基于随机共振的微弱语音谱减降噪方法[J].计算机工程与设计,2018,39(2):499?502.
[4] 王群,曾庆宁,郑展恒,等.低信噪比环境下的麦克风阵列语音识别算法研究[J].科学技术与工程,2017,17(31):101?107.
[5] 毛维,曾庆宁,龙超.基于双微阵列的语音增强算法[J].计算机工程与设计,2018,39(8):2490?2494.
[6] 马金龙,曾庆宁,龙超,等.多噪声环境下可懂度提升的助听器语音增强[J].计算机工程与设计,2016,37(8):2160?2164.
[7] 章旭景,李辉,陆伟.基于子带卡尔曼滤波的语音增强方法[J].信号处理,2009,25(9):1474?1478.
[8] 黄小平,王岩.卡尔曼滤波原理及应用[M].北京:电子工业出版社,2015:30?76.
[9] 马丽丽,张曼,陈金广,等.有色噪声条件下的高斯和卡尔曼滤波算法[J].计算机工程与设计,2015,36(10):2856?2859.
[10] 亓贺,张雪英,武奕峰.频域内的卡尔曼滤波语音增强算法[J].电声技术,2011,35(10):55?58.
[11] 张勇,刘轶.非平稳噪声环境下结合听觉掩蔽的语音增强[J].计算机工程与设计,2015,36(5):1279?1284.
[12] CHEN Jingdong, BENESTY J, HUANG Yiteng, et al. New insights into the noise reduction Wiener filter [J]. IEEE tran?sactions on audio, speech, and language processing, 2006, 14(4): 1218?1234.
作者简介:郑展恒(1978—),男,硕士,高级实验师,研究方向为信号处理。
曾庆宁(1963—),男,博士,教授,硕导,主要研究方向为信号处理及语音、图像等。