针对噪声抑制的语音增强问题,本文提出一种基于平方根维纳滤波的语音增强算法。通常增益函数引入
随着信息化时代的到来,人工智能(Artificial Intelligence)展现了迅猛的发展势头,因而对增强语音清晰度的要求也越来越高,语音增强显得尤为重要。目前人类已在语音增强算法的研究上取得了很大的进步,主要是谱减法,维纳滤波算法[1]等基于均方误差的统计模型,语音增强的质量得到了提高。但这些语音增强算法中忽略了幅度差值的正负,所以会存在对噪声的过度放大,引入了新的噪声污染,进而影响增强语音的清晰程度。目前,语音增强算法中涉及增益函数主要引入了两种类型的语音失真,一种是处理过后的估计纯净语音信号振幅超过输入纯净语音的放大失真,另一种是经过增强处理的语音信号振幅低于输入纯净语音信号产生的衰减失真。实际研究表明,幅度衰减失真对语音清晰度的影响最小。总的来说,目前数据表明现有算法不能提高语音清晰度的一个主要原因是, 它们都允许放大失真超过6 分贝。
Loizou 根据增强语音与纯净语音幅度的大小关系,把增强之后的语音失真分为三个部分,分别是幅度衰减部分,幅度放大且放大倍数小于等于2 倍(即放大上限为6.02 dB),幅度放大超过2 倍(放大倍数超过6.02 dB)三个部分[2]。现有的语音处理方法,仅对第一和第二部分进行限制,语音质量得到明显的提升,但未对第三部分进行详细有效的约束处理。研究表明,第三部分在增强语音信号中的占比超过35% [3],具有一定的提升空间。
本文基于Loizou 仅对第一和第二区域进行约束,结合平方根维纳滤波增益函数特性,提出了针对第三区域的先验信噪比判定条件,进而对增益幅度进行约束[4]。通过MATLAB 进行大量实验仿真,将提出的算法与现有算法进行比较,结果显示具有较好的语音增强性能。
2. 语音增强基本理论 在语音增强技术中,假设t 时刻的带噪语音信号为y(t),纯净语音信号x(t)和噪声n(t)互不相关,其时域表达式如下[1]: ( )( )( )y tx tn t=+ (1) 对上式进行N 点DFT 变换后,与时域语音对应的语音谱表示如下: , , , , 0, , 1m km km kYXNkN=+=− (2) 其中,Ym,k,Xm,k 和Nm,k 分别表示带噪语音频谱、纯净语音频谱和噪声谱,m,k 分别表示帧索引和频率。