[语音识别]声学特征提取
声学特征提取
-
语音识别:声学特征提取
-
- 1. 预加重
- 2. 分帧
- 3. 加窗
- 4. 离散傅里叶变换(DFT)
- 5. 语谱图
- 6. 梅尔刻度(Mel Scale)
- 7. 梅尔滤波器组(Mel Filter Bank)
- 8. FBANK特征
- 9. MFCC特征
- 10. 差分
- 11. CQCC特征
-
总结
语音识别:声学特征提取
常用的声学特征有FBANK、MFCC、PLP等, MFCC特征各纬度之间具有较弱的相关性,适合GMM的训练,FBANK相比MFCC保留了更原始的声学特征,多用于DNN的训练。

1. 预加重
语音中有频谱倾斜现象 ,即低频具有较高能量,需加重高频语音能量,使高频信息凸显出来。
x'[t]=x[t]-ax[t-1]
其中x[t]表示音频数据的第t个采样点,a通常取值(0.95,0.99)
2. 分帧
一般每帧帧长为20ms或者25ms,假设采样率为16kHz,帧长为25ms,则一帧有16000*0.025=400个采样点。为确保声学特征参数的平滑性,一般采用重叠取帧的方式,即相邻帧之间存在重叠部分(帧移一般为10ms)。
3. 加窗
特征提取时,每次取出窗长为25ms的语音 ,进行离散傅立叶变换计算出一帧 ,接着步移10ms继续计算下一帧,相当于加了矩形窗 。二棱角分明的矩形窗容易造成频谱泄露,可以选择使用海明窗(Hamming Window)、汉宁窗(Hanning Window)等。加窗计算方式为:
x'[t] = w[n]x[n]
其中x[n]是所取窗口(窗长为N,即N个采样点)之内的第n个采样点,w[n]是对应权重,不同加密方式权重不一样。本质上加窗也是卷积。

4. 离散傅里叶变换(DFT)
从每一段加窗后的音频中分别提取出频域信息。DFT的一个实现方法是快速傅立叶变换(FFT),可将事件复杂度从O(N^2)降为O(Nlog_{2}N),但是需要保证窗长N是2的指数。如果原窗长为400,一般在音频信号末尾补零 扩展为512。
5. 语谱图
语音信号经过短时傅立叶变换(STFT)后得到的频谱为对称谱 ,取正频率轴的频谱曲线 ,并且将每一帧的频谱值按时间顺序拼接起来 。
6. 梅尔刻度(Mel Scale)
人耳对不同频率的感知程度不一样,频率越高敏感度越低 ,因此人耳的频域感知是非线性的,用梅尔刻度进行刻画。反映了人耳线性感知的梅尔频率Mef(f)与普通频率f之间的关系。即
Mel(f) = 1127 ln(1+f/700)
7. 梅尔滤波器组(Mel Filter Bank)
计算方式与加窗类似,越往高频,滤波器窗口越大,窗口扩大的量级与梅尔刻度一致。滤波器的个数就是梅尔频段的总数目,通常为几十 。

8. FBANK特征
梅尔频谱的能量数值取对数得到FBANK特征 ,对数计算增强了特征的鲁棒性。用于DNN训练时,FBANK的维度就是梅尔滤波器的个数,常取20~40之间。
9. MFCC特征
FBANK中含有基频的谐波(相当于频谱中的毛刺),不利于整体轮廓(包络)的显现,并且各维度之间具有较高的相关性,不适宜GMM学习。MFCC的目的是消除与音素判别关系不大的谐波,保留包络信息 。对FBANK特征每帧进行离散傅立叶变换(IDFT)可以将包络与谐波分开,等价于对每帧FBANK进行离散余弦变换(DCT) ,生成结果记为倒谱。
10. 差分
语音是时序信号,故声学特征的帧与帧之间并不是孤立的,是连续变化的,前后的变化往往包含一些声音线索 ,动态特征可以显示特征随时间变化的程度,常采用一阶差分、二阶差分,一阶差分计算方式:
d[t] = (c[t+1]-c[t-1])/2
其中c[t]表示第t帧MFCC特征,二阶差分则是一阶差分的差分。通常用来训练GMM的声学特征共39维:12MFCCs+Energy(13维)+12 Δ MFCCs+ Δ Energy(13维) + 12 Δ2 MFCCs + Δ2 Energy(13维)
备注:对数计算好处包含一定程度上增加非线性,平滑数据、缩小数据范围,防止溢出、将乘变为加,计算方便、与softmax合用便于梯度计算和传递等。
11. CQCC特征
能实现在低频率范围具有较高的频率分辨率 ,在高频率范围有较高的时间分辨率 ,可应用于声纹识别。
总结
语谱图、FBank、MFCC和PLP都采用短时傅立叶变换(STFT),具有规律的线性分辨率,而CQCC则具有几何级的分辨率。FBANK和MFCC都采用Mel滤波器组 ,而PLP则利用Bark滤波器组模拟人耳听觉特性 。通过不同提取方法得到的声学特征所表征的语言特点是不同的,FBank保留更多的原始特征,MFCC去相关性较好,而PLP抗噪性更强 。
