【发明内容】
本发明需解决的技术问题是提供一种可实现麦克风指向性、增强语音处理能力的语音增强的方法。
为解决上述技术问题,本发明提供一种语音增强的方法,该方法应用于实时语音信号处理系统中,所述实时语音信号处理系统包括麦克风及集成于麦克风中的语音信号处理芯片,该方法包括以下步骤:(1)芯片对语音增强系统输入的带噪语音信号进行分帧,预加重处理,经短时傅里叶变换到频域;(2)将变换到频域后的带噪语音信号划分为若干频带,再计算各个频带能量并进行平滑,得到经平滑后的每个频带内的信号能量,所述信号能量包括语音能量和噪音能量,并得到所述噪音能量的初始估计值;(3)芯片计算各个频带当前帧的后验信噪比,并由前一帧的先验信噪比估计值得到当前帧的先验信噪比估计值;(4)采用计权噪声估计法对先验信噪比进行修正,以之前得到的后验信噪比,参照非线性函数,得到计权因子,对先验信噪比估计值进行加权处理;接下来,进行衰减增益因子的计算,这里基于前面计算得出的先验信噪比估计值,采用频谱相减的方法得到衰减因子,其具体公式如下:
其中,对于不同频带,a为不同的常数,这里考虑到,噪声主要集中在较低的频带,因此对于中低频段和高频,取不同的a;所述非线性函数为:
其中,q(k)为第k频带的增益系数,SNR
post为后验信噪比,
为第k频带的先验信噪比,k表示频带数,m表示第m帧,
表示第m帧第k个频带的先验信噪比;γ
1、γ
2、θ
z均为常数,γ
1取1.5,γ
2取200,θ
z取20;
根据得到的修正先验信噪比估计值
计算各个频带的衰减增益q(m,k);(5)根据得到的修正先验信噪比估计值,计算各个频带的衰减增益,首先以当前帧先验信噪比为判断,小于某一阈值频带的增益系数均乘以某一调整值q
mod,这样做可以进一步抑制残余噪声;接着将所有小于某阀值的增益系数调整到门限值q
floor,这样做可以避免一定的语音失真,可以表示为如下公式:
其中qmod=0.1,θG=1.2,qfloor=0.01,ξ(k)是第k个频带的后验信噪比,q(k)为第k频带的增益系数;(6)采用门限判决对增益系数进行调整;(7)用得到的衰减增益,对划分到各频带的信号频谱进行处理;(8)由修正的先验信噪比估计值对当前帧进行判决,判断是否是噪声;(9)根据噪声判决对各频带的噪声进行更新;(10)芯片将处理后的频域信号变换到时间域,进行去加重处理,变成输出信号。
优选的,所述步骤(1)的分帧过程为:对在时域中的带噪语音信号进行分帧,是将带噪语音信号以帧为单位等分成若干带噪信号单元;所述带噪信号单元由采样点组成,本发明中选取了8KHz的采样频率,帧长设定成10~35ms之间,任意一帧带噪信号单元具有的帧长为256。
优选的,所述步骤(2)中的平滑过程为:用如下公式计算每个子区间的能量E(m,k)并进行平滑:
E(m,k)=|X(m,k)|2 0≤k≤N-1
Y(m,k)=αY(m-1,k)+(1-α)E(m,k) 0≤k≤N-1
其中,Y(m,k)表示经平滑后的每个频带区间的能量,m表示当前帧的序号,k表示当前的子带的序号,α=0.75表示平滑因子,N为选取的频带总数,即23。
优选的,操作所述步骤(8)包括:每个频带的噪声能量的判决与更新采用了基于先验信噪比的语音激活检测方法,首先判断当前帧是否是纯噪声信号,
其中γ(m,k)=min[SNRpost(m,k),40],
对VAD(m)进行判断,并进行噪声更新,如下:
其中,V(m,k)是第m帧第k个频带的噪声能量,E(m,k)是第m帧第k个频带的信号能量,η为噪声更新判决因子,μ为平滑因子。
优选的,所述分帧后的信号利用高通滤波器进行预加重处理,由于语音信号中背景噪声在低频部分能量一般较大,所以使用所述高通滤波器可以衰减低频部分的分量,使增强效果更好,其形式如下:
H(z)=1-αz-1
α取值范围为0.75-0.95。
优选的,所述时间域的信号通过低通滤波器进行去加重处理,和前面的预加重处理相反,这里将信号通过一个低通滤波器,最大程度的还原原有的信号,滤波器的频响如下;
H(z)=1+αz-1
α取值范围为0.75-0.95。
优选的,所述预加重和去加重的系数α=0.9。
优选的,操作所述步骤(10)包括:步骤(101)、逆快速傅立叶变换,把频域的语音谱变换到时间域,得到增强后的时域语音信号;步骤(102)、进行去加重处理;步骤(103)、将增强后的语音信号的相邻帧的重叠部分进行相加操作。
与相关技术比较,本发明降噪方法实现了实时的语音增强系统,麦克风输出的直接是降噪后的信号,系统使用的降噪算法,与改进之前的语音增强算法相比,大大提高了对残余噪声的衰减,保证了语音可懂度,特别的,对于展览会噪声一类非平稳的加性噪声效果有明显提高。
【具体实施方式】
下面结合附图和实施方式对本发明作进一步说明。
如图1,2所示,本发明的主要思想是,通过将语音增强算法集成在专用的芯片中,并通过设计芯片与相应麦克风的接口与数据传输,形成一个实时的语音增强系统。语音信号通过麦克风的采集,直接由芯片中的语音增强算法处理,得到增强后的信号,输出供次级使用。
本发明中的语音增强算法基本步骤如下:
1.使用麦克风,接收外界信号;
2.信号送入芯片,首先完成模数转换(如果采用数字麦克风,这一步可以省去);
3.对得到的数字信号在芯片中进行语音增强处理;
4.将处理后的信号输出。
系统中使用的实时语音增强方法,其包括如下步骤:
(1)将声音采集装置采集到的带噪语音信号送入芯片进行分帧、预加重处理,再经过短时傅里叶变换到频域;
(2)将变换到频域后的带噪语音信号划分为若干频带,计算各个频带能量并进行平滑,得到经平滑后的每个频带内的信号能量;
(3)通过信号能量及噪声能量估计值,计算各个频带当前帧的后验信噪比,并由前一帧的先验信噪比估计值得到当前帧的先验信噪比估计值;
(4)对得到的先验信噪比估计值,采用计权噪声估计法进行修正;
(5)根据得到的修正先验信噪比估计值,计算各个频带的衰减增益因子;
(6)采用门限判决对增益系数进行调整;
(7)用得到的衰减增益,对划分到个频带的信号频谱进行处理;
(8)由修正的先验信噪比估计值对当前帧进行判决,判断是否是噪声;
(9)根据噪声判决结果对各频带的噪声估计值进行更新;
(10)将处理后的频域信号变换到时间域,进行去加重处理,变成输出信号。
下面具体的实例介绍中,语音增强系统输入的含噪语音信号的采样率为8kHZ,精度为16位。
对在时域中的带噪语音信号进行分帧,是将带噪语音信号以帧为单位等分成若干带噪信号单元。所述带噪信号单元由采样点组成,本发明中选取了8KHz的采样频率,根据短时谱分析的需要,帧长一般设定成10~35ms之间,本实施方式以32ms分帧,即一帧带噪信号单元设有256个采样点,自然地,任意一帧带噪信号单元具有一定的帧长,本发明中任意帧的帧长为256。
为了防止相邻两帧的带噪信号单元间的块效应,在分帧时要使相邻两帧的带噪信号单元之间有一定的混叠部分,即,本帧数据中有D个数据为前一帧数据的部分数据,其中混叠部分描述如下:
si(n)=di(m,D+n) 0≤n<L,i=1,2
其中s表示输入带噪语音信号,i取1和2分别表示两路信号
d(m,n)=d(m-1,L+n) 0≤n<D
其中,di表示当前帧的256点采样信号,因为任意一帧的长度为256,重叠率为75%,所以重叠部分的采样点个数D=192。相邻帧的带噪信号单元的第一个采样点相隔的距离L=256-192=64。m表示第m帧信号。
本发明相邻两帧的带噪信号单元之间可以具有50%~75%的重叠率。本实施方式选取相邻两帧的带噪信号单元之间具有75%的重叠率,即以本帧的前75%(192点)的带噪信号单元和前一帧后75%(192点)的带噪语音信号单元一致。
分帧后的信号,先经过一个高通滤波器,作为预加重处理。由于语音信号中背景噪声在低频部分能量一般较大,所以使用所述高通滤波器可以衰减低频部分的分量,使增强效果更好。其形式如下:
H(z)=1-αz-1
α取值范围为0.75-0.95,这里α=0.9,可以取得较好的效果。
由于语音信号是短时平稳的,所以可以对信号进行分帧处理,但分帧又会带来帧信号边界处的不连续造成的频率泄露。所以这里要进行短时傅里叶变换(STFT)。短时傅里叶变换可以理解为对帧信号先加窗再做傅里叶变换。加窗函数的目的就是为了在做短时傅里叶变换时,减少帧信号边界处的不连续造成的频率泄露,从而减少“块效应”。这里使用了一个长度等于帧长256点的汉明窗,它可以有效的降低吉布斯效应的震荡程度。
汉明窗函数定义如下:
win(n)={
0.54-0.46cos(2*π*n/M) 0≤n≤M-1
0 其余n
}
短时傅里叶变换如下
0≤k1≤M-1
其中,M=256,为短时傅利叶变换的计算长度。m表示第m帧信号。
这样就将当前帧的带噪语音信号s从时域变换到了频率域。
变换到频域后的带噪语音信号包括语音信号和噪声信号,该信号以帧为单位划分为若干频带,之后操作针对不同频带有不同的策略。
接着对4kHz以下信号进行频带划分,之后的信号处理均在各个频带中进行,这样既可以减少运算复杂度,又可以针对不同的频带做不同的处理,得到更好的效果。
本发明中的信号共划分为23个频带。具体见表1。
表1 23个频带划分
频带数 |
起始频率(Hz) |
截止频率(Hz) |
1 |
62.5 |
93.75 |
2 |
125 |
156.25 |
3 |
187.5 |
218.75 |
4 |
250 |
281.25 |
5 |
312.5 |
343.75 |
6 |
375 |
406.25 |
7 |
437.5 |
468.75 |
8 |
500 |
531.25 |
9 |
562.5 |
593.75 |
10 |
625 |
656.25 |
11 |
687.5 |
718.75 |
12 |
750 |
781.25 |
13 |
812.5 |
906.25 |
14 |
937.5 |
1062.5 |
15 |
1093.75 |
1250 |
16 |
1281.25 |
1468.75 |
17 |
1500 |
1718.75 |
18 |
1750 |
2000 |
19 |
2031.25 |
2312.5 |
20 |
2343.75 |
2687.5 |
21 |
2718.75 |
3125 |
22 |
3156.25 |
3687.5 |
23 |
3718.75 |
3968.75 |
频带能量估计,用如下公式计算每个子区间的能量E(m,k)并进行平滑:
E(m,k)=|X(m,k)|2 0≤k≤N-1
Y(m,k)=αY(m-1,k)+(1-α)E(m,k) 0≤k≤N-1
其中,Y(m,k)表示经平滑后的每个频带区间的能量,m表示当前帧的序号,k表示当前的子带的序号,α=0.75表示平滑因子。N为选取的频带总数,即23。
经平滑后的每个子带区间的能量包括语音能量和噪声能量。
接着,计算当前帧信号的后验信噪比,如下
其中V(k)表示当前估计的噪声信号能量,这个值会在每帧数据处理的最后进行判决更新。
然后基于伊弗雷-马拉的先验信噪比估计公式,计算当前帧的先验信噪比估计值
基于伊弗雷-马拉的先验信噪比估计值,会出现对噪声的过估计,即对于高信噪比的情况下,得到的信噪比估计值偏高,造成增强后的语音失真,这里采用计权噪声估计方法进行修正。
以之前得到的后验信噪比为判断值,参照如图3的非线性函数,得到计权因子,对先验信噪比估计值进行加权处理。
其中γ1取1.5,γ2取200,θz取20。
接下来,进行衰减增益因子的计算。这里基于前面计算得出的先验信噪比估计值,采用频谱相减的方法得到衰减因子。其具体公式如下:
其中,q(k)为第k频带的增益系数,SNR
post为后验信噪比,
为第k频带的先验信噪比,k表示频带数,m表示第m帧,
表示第m帧第k个频带的先验信噪比;γ
1、γ
2、θ
z均为常数,对于不同频带,a为不同的常数。
这里考虑到,噪声主要集中在较低的频带,因此对于中低频段和高频,取不同的a。
本发明中对于k≤14的频带,即1.1kHz以下的信号,a=8.89
对于14<k≤18的频带,即1.1~2kHz之间的信号,a=6.44
对于k>18的频带,即2kHz以上的信号,a=6.21
接着,对得到的增益系数进行调整,首先以当前帧先验信噪比为判断,小于某一阈值频带的增益系数均乘以某一调整值qmod,这样做可以进一步抑制残余噪声。
接着将所有小于某阀值的增益系数调整到门限值qfloor,这样做可以避免一定的语音失真。
可以表示为如下公式:
其中,ξ(k)是第k个频带的后验信噪比,q(k)为第k频带的增益系数qmod=0.1,θG=1.2,qfloor=0.01,
将当前帧的各频带的带噪语音信号X(m,k),乘以前面得到的相应频带的衰减增益因子,得到的就是该频带的增强后的语音信号。
0≤k≤N-1
其中,N=23为频带总数,
为第k个频带增强后的语音信号估计值。
本发明中,每个频带的噪声能量的判决与更新采用了基于先验信噪比的语音激活检测(VAD)方法。首先判断当前帧是否是纯噪声信号。
其中γ(m,k)=min[SNRpost(m,k),40],
对VAD(m)进行判断,并进行噪声更新,如下:
其中,V(m,k)是第m帧第k个频带的噪声能量,E(m,k)是第m帧第k个频带的信号能量,η为噪声更新判决因子,本发明中取η=0.01。μ为平滑因子,这里取μ=0.9。
最后的时域变换及输出部分进行的操作有:
第一步:逆快速傅里叶变换(FFT),把频域的语音谱变换到时间域,得到增强后的时域语音信号。
时域的变换用通用的逆离散傅利叶变换(IDFT)实现。
0≤k≤M-1
其中,M=256,为帧长。s为变换到时域后的全频带增强后的语音信号。
第二步:进行去加重处理。
和前面的预加重处理相反,这里将信号通过一个低通滤波器,最大程度的还原原有的信号。滤波器的频响如下;
H(z)=1+αz-1
这里的系数与前面预加重处理相对应,取α=0.9。
第三步:将增强后的语音信号的相邻帧的重叠部分进行相加操作。
具体的重叠部分相加可以用如下的方法来表示。
L=64为相邻的帧信号开始处的距离,M=256,为帧长。s代表完成相加操作后的最终输出信号。
与相关技术相比较,本发明提出了麦克风集成芯片的实时语音增强系统解决方案,麦克风直接输出的经过语音增强的信号,供下级使用,节约了另外使用相应算法的成本。
本文提出的语音增强的方法改进有效地利用了先验信噪比估计值,并对不同频带采取不同处理策略,引入了计权噪声估计,及增益因子门限判决。算法可靠实时,对于噪声信号的抑制效果十分明显,特别改进了算法对于展览会噪声一类非平稳加性噪声的抑制效果。
以上所述的仅是本发明的实施方式,在此应当指出,对于本领域的普通技术人员来说,在不脱离本发明创造构思的前提下,还可以做出改进,但这些均属于本发明的保护范围。