语音识别笔记(1)-语音信号处理与特征提取
基础知识
音频信号
音频信号是本质上是一种波,是空气等介质受挤压振动而产生的。和其他类型的波一样,声波也可以使用振动曲线图进行表示,横坐标是时间,纵坐标是振幅。
采样
音频型号是连续的,但是计算机只能处理离散的数据,因此需要对其进行采样。
用表示一个正弦波的振动幅度变化,设采样间隔为,则离散信号可表示为:
其中,n=0,1,2…表示采样点序号
奈奎斯特采样定律
采样频率大于信号中最大频率的两倍,才能恢复原始信号:
即一个周期内至少有两个采样点
离散傅里叶变换
将时域信号转换到频率域
定义
给定一个长度为N的时域离散信号x(n), 对应的离散频域序列X(m)
其中,,m是频率索引,X(m) 为DFT的第m个输出
性质
性质1:
性质2:
X(m)表示的是“谱密度”,如果对一个幅度为A的实正弦波进行N点DFT,则经过DFT之后,该正弦波频率上的幅度M和A之间的关系为:
性质3:
DFT的线性,即如果,则
性质4:
时移性,对左移k个采样点,得到,对进行DFT,有:
Fbank和MFCC特征提取

预加重
预加重是指增强原始音频信号的高频部分,因为在音频的传播过程中,高频部分容易衰减,而高频部分往往蕴含对识别有帮助的信息。
公式
其中,a取值是0.9-1
直观解释
低频信号的变化慢,将相邻的两个采样点信息两两相减之后,幅度值将明显降低;而高频信号变化快,相邻采样点相减的结果依然较大,因此就起到了“放大”高频信号能量的作用。
分帧加窗
分帧:分帧的目的是为了截取到一段相对平稳的音频信号,进行傅里叶变换。因为语音信号从长期来看是非平稳的,但是在一个音素发声过程中,信号是平稳的,所以可以通过将一段语音信号划分为多个短时的信号,得到一个个帧,再分别对其进行傅里叶变换。
加窗:加窗的目的是将一帧信号两端的幅度降低,这样做的好处是后续进行傅里叶变换时,可以使得到的频谱更细,方便辨别(减轻频谱泄露)。
加窗的公式通常写为:
其中,w[n]表示窗函数,常用的窗函数有矩形窗、高斯窗、汉明窗等。



加窗的代价是导致信号两侧的信息被削弱了,可能造成信息丢失。解决这个问题的办法是在分帧的过程中,相邻帧之间重合一定的范围,前一帧与后一帧的距离称为“帧移”,通常将帧移设置为帧长的一半或者更少。
对于采样率为16kHz的信号,帧长、帧移一般为25ms、10ms。
傅里叶变换
一段连续的语音经过分帧加窗后,得到若干个语音帧,对他们分别进行傅里叶变换的操作,将时域信息转化为频域信息,取DFT系数的模,得到谱特征。
第t帧信号的DFT系数可表示为:
将每一帧的DFT系数按时间依次排列成一个矩阵,且。绘制该矩阵,并用渐变色表示DFT系数的大小,就得到了语谱图
梅尔滤波器组和对数操作
人耳对频率的感觉不是线性变化的,人耳对低频信号的敏感度比高频信号大,近似服从对数关系。为了使用梅尔滤波器进行处理,先将频率由线性域转化到梅尔域:
梅尔滤波器在频谱图上显示为一个三角形,公式为:

其中,f(m-1)、f(m)、f(m+1)分别表示该滤波器的起始频率、中间频率、终止频率。
梅尔滤波器的生成方式
根据梅尔滤波器的个数P和梅尔频率范围,等间隔的计算各个梅尔滤波器的起始频率、中间频率、以及终止频率,并且保证当前滤波器的中间频率是下一个滤波器的起始频率。
Fbank特征
使用P个梅尔滤波器(如128个),对经过DFT后的每个语谱特征进行滤波,得到P个滤波器组能量,进行log操作,得到Fbank特征。
倒谱分析
对于经过DFT后,获得的频谱图,可以看到有若干个能量较高的峰,他们是用于识别该语音的关键特征。一个频谱图可以被分解为“谱包络”和“谱细节”两个成分,使用分解后的“谱包络”成分有助于获得更丰富的特征信息。

具体的分解方式上,思路是对频谱图再做一次傅里叶变换。在频率域做傅里叶变换,又被称为“逆傅里叶变换”(IDFT)
使用数学符号表示,就是对于频谱X[k],将其写作两个部分的乘积,并取对数:
将log X[k]进行逆傅里叶变换(IDFT),获得
则可以从变换后的结果中,提取低频部分(如低12维),获得h[k],称为倒谱系数(Cepstral coefficients)。
MFCC特征
MFCC特征是将经过梅尔滤波器组滤波后的特征,进行倒谱分析,获得的倒谱系数。
除了计算每一帧的MFCC特征外,通常还要计算MFCC特征的变化情况,以及能量信息,计算方法为:
MFCC动态特征
一阶差分(Delta, Δ),类比速度
二阶差分(Delta, Δ),类比加速度
能量信息
一般常用的MFCC特征,包含39维,包括:
- 12维原始MFCC
- 12维Δ
- 12维Δ Δ
- 1维能量
- 1维能量Δe
- 1维能量Δ Δ
MFCC特征一般用于对角GMM训练,各维度之间相关性小
Fbank特征一般用于DNN训练



