APP下载

基于计算机仿真的语音增强算法研究

2015-12-01张冰

中国科技纵横 2015年9期
关键词:宽带信噪比频谱

张冰

(酒泉职业技术学院,甘肃酒泉 735000)

基于计算机仿真的语音增强算法研究

张冰

(酒泉职业技术学院,甘肃酒泉 735000)

在语音通信过程中不可避免地会受到来自周围环境、传输媒介引入的噪声、通信设备内部电噪声、乃至其它讲话者的干扰。这些干扰最终将使接收者接语音收到的语音是非纯净的原始语音信号,而是受噪声污染的带噪语音信号。语音增强是解决噪声污染的一种有效方法,是从带噪语音信号中提取尽可能纯净的原始语音,本文研究的是一种基于普减法的改进语音增强算法。

语音增强 谱减法 Matlab

1 引言

语音增强已发展为语音信号数字处理的一个重要分支。语音增强中的谱减法是处理宽带噪声的最通用技术,即从带噪语音估值中减去噪声频谱估值,而得到纯净语音的频谱。宽带噪声通常可以假定为高斯噪声和白噪声。它的来源很多,包括空气流动、呼吸噪声和一般随机噪声源。量化噪声通常作为白噪声来处理,也可以视为宽带噪声。由于宽带噪声与语音信号在时域和频域上完全重叠,因而消除它最为困难。由于人耳对语音频谱分量的相位不敏感,所以谱减法主要针对短时幅度谱。

2 语音增强算法

2.1传统谱减法

假定语音为平稳信号,而噪声及假定语音为平稳信号,而噪声和语音为加性信号且彼此不相关。此时带噪语音信号可表示为:

,由此可得

由此可得原始语音的估计值

由式⑺可以清楚地看出谱相减的物理意义:它相当于对带噪语音的每一个频谱分量乘以一个系数当信噪比高时,含语音的可能性很大,衰减小。反之,则认为含有语音的可能性小,衰减则增大。

2.2改进的谱减法

其中,m为x的均值,σ为标准偏差。噪声的帧功率谱随机变化范围很宽,在频域中的最大、最小值之比往往达到几个数量级,而最大值与均值之比也达6~8倍。因而,在减去噪声谱后,会有些较大的功率谱分量的剩余部分,在频谱上呈现出随机出现的尖峰,在听觉上形成残留噪声。这种噪声具有一定的节奏性起伏感,所以称之为“音乐噪声”。

图1 谱减法的改进形式

同时,将式(5)中的功率谱计算|*|2及|*|1/2改为|*|m和|*|1/m计算(这里m不一定为整数),可以增加灵活性。这种方法称为功率谱修正处理。经分析和试验得知,当m>2时,它具有与被减项加权处理相同的效果。

综合上面两种处理,谱减法改进形式的原理框图如图1所示。

此时式(5)修正为

引入m,n两个参数为计算提供了很大的灵活性。当m=2,n=1时即变为基本的谱减法,实际的增强试验表明,适当调节m、n可以获得比传统的谱减法更好的增强效果。因此实际的增强过程中,更多地使用谱减法的改进形式。

3 基于MATLAB的算法实现与仿真

3.1传统谱减法的实验与仿真

基于MATLAB来实现传统谱减法的仿真,读入语音文件用wavread函数实现,对采样点补足帧的整数倍是方便实现MATLAB的矩阵计算以及最后对帧叠加进行还原处理。对每一帧独立的含噪语音进行语音增强处理,再将每帧增强语音依次连接起来,会由于恢复的信号帧间不连续,使得增强语音含有周期性的杂音,因此采用帧间重叠谱减法进行语音处理。程序中每帧信号256点,128点重叠,通过w=hamming(framelength)'实现,经语音增强处理后,再进行相反的处理,恢复连续的语音信号。

对带噪语音信号进行FFT变换可以直接用fft函数实现,在MATLAB程序中,这一部分用for循环对每帧循环实现。

谱相减是算法的关键,这部分程序代码如下所示,其中参数m=2,n=1。因为涉及到估值,所以实际中谱相减的差值会为负。因功率谱不能为负,故可令负值为0或改变其符号,在本文的实现程序中令负值为0。

图2 

在对FFT变换且谱相减后的信号加上原输入信号的相位信息后,就对信号进行IFFT变换,在MATLAB中用ifft函数实现,即t=TT.*exp(j*angleyy); ss=ifft(t,[],2);

算法的最后要对前面的帧重叠进行相反的处理,以保持语音的连续特性。帧重叠进行相反处理的代码如下所示:

语音增强后的信号用wavwrite函数输出到新的wav文件中。传统谱减法仿真后结果表明,噪声信号得到了一定的抑制,但是还存在一定的具有节奏性起伏感的音乐噪声。

3.2改进形式的谱减法的实现与仿真

式(8)中的m,n两个参数为算法提供了很大的灵活性,适当调节这两个参数,可获得比原始相减法更好的增强效果。试验表明,两个可调参数m,n取不同值时,语音增强的效果是不同的:m不变,随着n值的适当增大,宽带噪声及残余的音乐噪声减小,信噪比大大提高,但是语音也逐渐变尖,即有较大的失真;n不变,随着m值的适当增大,宽带噪声及残余的音乐噪声增大,信噪比的提高减少,但是语音也逐渐自然,即有较小的失真。试听结果表明,m=0.4,n=0.9时,较好的做到了降噪与提高语音可懂度之间的折衷,噪声得到了适当的抑制,较好地保持了原语音的特性。在MATLAB的实现上,只要在原来传统谱减法的基础上改动参数m,n的值即可得到改进后的效果,如图2所示即为改进形式的谱减法仿真效果。

试验表明,改进的谱减法消除了周期性干扰在电台话音输出端引起的啸叫噪声,除清晰度略有下降外,语音的可懂度和自然度未受损失。该方法对白噪声干扰消噪效果更好,但当环境恶劣,信噪比极低时,信噪比虽然提高不少,但语音的可懂度和自然度却受到一定的损失,实际听起来像机器人的声音。因此,在实时实现时需注意运算精度、帧间重叠的实现和噪声功率谱估计等问题。

4 结语

基于计算机仿真的MATLAB谱相减法是一种常用的单通道语音增强经典算法,传统谱减法和它的改进形式可以归纳为一个通用的谱减法参数公式,参数m,n的取值和增强效果有着密切的关系,当m,n取值适当,则可获得较为理想的增强效果。谱减法有效地降低了背景噪声,提高了信噪比。目前该普相减仿真计算方法依然存在一定的难题,但对于语音质量的提高依然具有非常大的帮助。

[1]杨行峻,迟惠生.语音信号数字处理[M].北京:电子工业出版社, 1995,385-411.

[2]Hyoung-Gook Kim, Markus Schwab, Nicolas Moreau. Speech Enhancement of Noisy Speech Using Log-Spectral Amplitude Estimator and Harmonic Tunneling[EB/OL]. http://www.nue.tuberlin.de/ publications/papers/IWANEC2003.pdf.

[3]J.H.L. Hansen, B.Pellom. An Effective Quality Evaluation Protocol for Speech Enhancement Algorithms[EB/OL]. http://cslr. colorado.edu/rspl/PUBLICATIONS/PDFs/CP-icslp98-SpchEnhansProto-SL980917-Wcover.PDF.

猜你喜欢

宽带信噪比频谱
一种用于深空探测的Chirp变换频谱分析仪设计与实现
基于深度学习的无人机数据链信噪比估计算法
一种基于稀疏度估计的自适应压缩频谱感知算法
低信噪比下LFMCW信号调频参数估计
低信噪比下基于Hough变换的前视阵列SAR稀疏三维成像
一种新颖的宽带大功率分配器
保持信噪比的相位分解反褶积方法研究
可否把宽带作为社会福利
什么是宽带?
一种基于功率限制下的认知无线电的频谱感知模型