(二〇一二年六月语音信号处理专题报告学校代码:10128学号:题目:谱减法原理及其实现过程学院:专业:学生姓名:学号:班级:-2-谱减法原理及其实现过程摘要本文主要研究谱减法原理及其实现过程及了解其在语音增强中的应用,目的是增强语音质量,减少语音失真和提高其可懂度。S.Boll假设噪声是平稳的或缓慢变化的加性噪声,并且语音信号和噪声信号不相关的情况下,提出了谱减法(SS:SpectralSubtraction)。该方法能够抑制背景噪声的影响,但由于其局部平稳性的假设与实际情况并不相符,因此效果不理想,残留的音乐噪声较大;Berouti在传统谱减法的基础上增加了调节噪声功率谱大小的系数和增强语音功率谱的最小值限制,提高了谱减法的性能,但是其修正系数和最小值是根据经验确定的,适应性较差;P.Lockwood在谱减法的基础上提出了非线性谱减法(NSS:Non-linerSpectralSubtraction),它根据语音信号的信噪比自适应调节语音增强的增益函数,提高了语音的信噪比,而信噪比并不能正确反映信号的听觉质量,因此用信噪比作为调整估计参数的依据并不能提高信号的听觉质量;BohLimSim等人也提出了与此相近的改进算法,虽然提高了信号的信噪比,但残留的音乐噪声较大;Virag将人耳的掩蔽特性应用到非线性谱减法的增强算法中,部分解决了谱减法残留音乐噪声大的问题,但在信噪比较低或非平稳的情况下,其增强效果不理想;I.Cohen等人首先估计语音信号概率密度函数,然后在此基础上改进了对数谱估计算法,使得改进的算法对非平稳噪声具有良好的抑制作用,该算法的缺点是语音信号的概率密度函数较难估计。噪声参数估计的准确与否直接会影响谱减法语音增强效果,因此,带噪语音中背景噪声参数的估计问题值得关注。最后,基于噪声与语音具有一定的相关性的实际情况,我们提出了算法的进一步改进设想,并对此思想做出了数学推导,得到了算法进一步改进的方向及可行性。关键词:语音增强;谱减法;噪声估计;仿真实验;改进算法-3-目录一、语音增强方法的理论分析41.1引言41.2语音增强算法4二、谱减法42.1谱减法原理42.2谱减法建立的假设62.3实现过程72.3.1基于谱减法的语音增强算法流程72.3.2仿真实验的结果8三、改善算法,减少音乐噪声10四、数学推导及进一步改进思想10五、参考文献11-4-一、语音增强方法的理论分析1.1引言语音增强的目标是从含有噪声的语音信号中提取尽可能纯净的原始语音。然而,由于干扰通常都是随机的,从带噪语音中提取完全纯净的语音几乎不可能。在这种情况下,语音增强的目的主要有两个:一是改进语音质量,消除背景噪音,使听者乐于接受,不感觉疲劳,这是一种主观度量;二是提高语音可懂度,这是一种客观度量。这两个目的往往不能兼得,所以实际应用中总是视具体情况而有所侧重的。带噪语音的噪声类型可以分为加性噪声和非加性噪声。加性噪声有宽带的,窄带的,平稳的,非平稳的,白噪声,有色噪声,等;非加性噪声如乘性噪声,卷积噪声等。一般,语音增强处理的噪声指环境中的噪声,而这些噪声主要是高斯白噪声,这种噪声一般符合如下的假设:(1)噪声是加性的。(2)噪声是局部平稳的。局部平稳是指一段加噪语音中的噪声,具有和语音段开始前那段噪声相同的统计特性,且在整个语音段中保持不变。也就是说,可以根据语音开始前那段噪声来估计语音中所叠加的噪声统计特性。(3)噪声与语音统计独立或不相关。1.2.语音增强算法根据语音和噪声的特点,出现了很多种语音增强算法。比较常用的有噪声对消法、谱相减法、维纳滤波法、卡尔曼滤波法、FIR自适应滤波法等。此外,随着科学技术的发展又出现了一些新的增强技术,如基于神经网络的语音增强、基于HMM的语音增强、基于听觉感知的语音增强、基于多分辨率分析的语音增强、基于语音产生模型的线性滤波法、基于小波变换的语音增强方法、梳状滤波法、自相关法、基于语音模型的语音增强方法等。此处主要介绍谱减法。二、谱减法2.1谱减法原理谱相减方法是基于人的感觉特性,即语音信号的短时幅度比短时相位更容易对人的听觉系统产生影响,从而对语音短时幅度谱进行估计,适用于受加性噪声污染的语音。-5-处理宽带噪声的最通用技术是谱相减法,即从带噪语音估值中减去噪声频谱估值,从而得到纯净语音的频谱。由于人耳对语音频谱分量的相位不敏感,因而这种方法主要针对短时幅度谱。所谓“谱相减”就是从输入信号的幅度谱中减去估计得来的噪声平均幅度谱,其效果相当于在变换域对带噪信号进行了某种均衡化处理。相对于其它方法,谱相减法引入的约束条件最少,物理意义最直接,运算量小,而且经过改进后效果也较好。传统的谱减法即在频域将带噪语音的功率谱减去噪声的功率谱,得到语音的功率谱估计,开方后就得到语音幅度估计,将其相位恢复后再采用逆傅立叶变换恢复时域信号。考虑到人耳对相位的感觉不灵敏,相位恢复时所采用的相位是带噪语音的相位信息。由于语音是短时平稳的,所以在短时谱幅度估计中认为它是平稳随机信号,假设)(ms、)(mn和)(my分别代表语音、噪声和带噪语音,)(sS、)(nS和)(yS分别表示其短时谱。假设噪声)(mn是与语音)(ms不相关的加性噪声。于是得到信号的加性模型:)()()(mnmsmy(3-1)经过加窗处理后的信号分别表示为)(myw,)(msw,)(mnw,则有)()()(mnmsmy(3-2)对上式两端分别做傅立叶变换,得)()()(wNwSwY(3-3)对功率谱有)()()()(|)(||)(||)(|**222wNwSwNwSwNwSwY(3-4)可以根据观测数据估计2|)(|wY,其余各项必须近似为统计均值。由于和独立,则互相的统计均值为0,所以原始语音的估值为]|)([||)(||)(|222wNEYwS(3-5)为了估计噪声功率,采用了端点检测法。因为噪声是局部平稳的,故可以认为发音前的噪声与发音期间的噪声功率谱相同,因而可以利用发语音前的“寂静-6-帧”来估计噪声。从(3-5)式中可以看出,估计值2|)(|wsw不能保证是非负的,这是因为在估计噪声时存在误差,当估计噪声平均功率大于某帧带噪语音功率时,该帧得出的估计值2|)(|wsw就会出现为负的情况,这些负值我们可以通过改变它们的符号使之变为正值,也可以直接给它们置零,本文我们采用后种处理方式。只要在频域用(3-5)式得到纯净语音的谱估计,就可以根据(3-6)式得到增强后的语音。(3-6)如前面分析,利用人耳对相位不敏感的特点,在式(3-6)中可利用原带噪语音的相位恢复到时域语音信号,从而得到处理后的语音信号,完成整个基于谱减法的语音增强过程。根据前面分析,我们可以给出谱相减算法的整个算法流程,如图3-1所示:图3-1谱减法的算法流程2.2谱减法建立的假设谱减法的建立要基于以下几点假设:1)噪声信号和语音信号是互不相关的(独立的),并且在频域是加性的关系。2)背景噪声环境相对于语音活动区域来说是近似稳态的,这样就可以利FFTIFFT相位信息2|)(|wY2/1|)(|wS减去估计噪声]|)([|2wNE增强后的语音)(ms带噪语音)(my啊-7-用在无声段估测的平均噪声谱来逼近有声段的噪声谱。3)如果背景噪声环境变化到一个新的稳态,则应有足够的时间(约300ms左右)以便于估计出新的背景噪声谱幅度估值。4)对于缓慢变化的非平稳噪声环境,谱减法算法中有话音激活检测环节以便适时的判断并进行调整。5)假设主要噪声影响的消除可以通过仅仅从带噪语音谱幅度中减去噪声而实现。2.3实现过程2.3.1基于谱减法的语音增强算法流程本文采用了MATLAB语言实现了整个基于谱减法的语音增强算法,具体MATLAB程序见附录,其算法流程如下:1)对输入的语音信号进行预滤波;2)对滤波后的语音信号进行预加重;3)将语音信号按每帧128个信号点进行分帧,帧移为64;4)对信号帧加汉明窗(Haming);5)对加窗后的信号帧进行FFT变换;6)对各帧语音信号求功率谱;7)根据前20帧求取平均噪声功率;8)利用VAD进行噪声估计检测寂静段,进而组合递归平滑,更新噪声谱;9)进行谱减运算,得到估计出的语音信号功率谱;10)插入相位谱,计算出语音谱;11)进行IFFT变换,得到还原的语音帧;12)根据各个语音帧组合为语音信号;13)对语音信号进行去加重处理,得到最终信号。根据以上谱减法的算法流程,采用MATLAB语言进行仿真试验,试验用的语音材料是WAV格式的语音,经处理后去噪效果明显,较好地抑制了噪声,提高了语音的可懂度。-8-2..3.2仿真实验的结果在仿真实验中,采用的是在实验室内录制的纯净男语音信号“基于谱减法的语音增强”,采样率8kHz,使用MATLAB函数wavread()调用,在程序中对纯净语音加入高斯白噪声,调用MATLAB函数的wavwrite()进行输出,命名为“noised”。根据谱减法的假设:假定纯净语音与高斯白噪声相互独立,故我们可将两者直接相加得到带噪的语音信号。当得到带噪语音信号后,对其进行谱减去噪处理,便到去噪后的语音信号,并调用MATLAB函数的wavwrite()进行输出,命名为“enhanced”。从声音文件的测听效果来说,是令人满意的。在本论文的MATLAB程序中,分别画出了纯净语音(见图3-5)、加噪语音(见图3-6)、增强后语音(见图3-7)的语音图。从的语音图中可以很容易发现,本论文提出的算法具较明显的去噪效果。图3-5纯净语音信号-9-图3-6带噪语音信号图3-7增强后的语音信号-10-三、改善算法、减少音乐噪声白噪声的短时功率谱上既有波峰,又有波谷。在一帧里,它们的频率分布是随机的;在帧与帧之间,它们的频率和幅度也是随机变化的。当我们从带噪语音的频谱中减去我们估计的噪声谱,所有的带噪语音频谱峰值都会变小,而谷值由于小于估计的噪声值被置零。因此,进行谱减法之后,在频谱上只留下波峰。在这些留下的波峰中,频带较宽的部分被视为时变宽带噪声,频带较窄的部分则被当成时变音调,也就是所谓的音乐噪声。我们改善的算法为:其中,是所求的语音幅度谱,是带噪语音幅度谱,是估计的噪声幅度谱。当,改善的算法通过消除那些宽波峰,去除所有的宽频带噪声。然后,提高频谱下限,使得波峰与波峰间的波谷不会那么深。两者结合,使噪声波峰间的频谱偏移不再那么大,从而减少了音乐噪声。四、数学推导及进一步改进思想在本文采用的功率谱减法中,我们假设噪声和语音是相互独立且噪声是零均值的高斯分布,但在现实世界中的噪声几乎都不是零均值的高斯分布,并且语音和噪声具有一定的相关性。因此,直接采用谱减法进行语音增强具有一定的局限性。基于此点考虑,我们对下式(功率谱)作进一步的分析。)()cos()(*)(2)()()()()(2222功率谱NSNSNSNSY其中:)exp()()()exp()()()exp()()(NSYiNNiSSiYY)(Y为带噪语音的频谱、)(S为纯净语音的频谱、)(N为噪声的频谱。两边同时求期望:)][cos(*])([*])([2)()()(222NSENESENESEYE在上文的分析中,由于假设语音和噪声是相互独立的,因此可得到0)][cos(*])([*])([2NSENESE-11-通过式子的分析可知,为了体现原始信号与噪声通常的相关性,上式的值不可忽略,尤其是在低信噪比的条件下,上式更不可被轻易忽略。因此将问题转化为如何估计上式。从数学的角度出发,我们知道方差)(XD有如下性质:0)]([)()(22XEXEXD由此,可作如下估计:212)()(SESE212)()(NENE其中,10,,且令)cos(NSE,则也有10,原期望等式可变形为:2122222)(*)(2)()