目录
第三章 语音特征提取
原始语音是不定长的时序信号,不适合直接作为传统机器学习算法的输入,一般需要转换成特定的特征向量表示,这个过程称为语音特征提取。
虽然随着深度学习的发展,原始信号也可以直接作为网络的输入,但是由于其在时域上具有较大的冗余度,会增加训练的难度,因此,特征提取仍是语音信号处理技术的关键环节之一。
3.1预处理
首先对原始语音时域信号进行预处理,主要包括预加重、分帧和加窗。
(1)预加重
补偿语音信号高频部分的振幅。假设输入信号第 n 个采样点为 x[n] ,则公式如下:
其中, 为预加重系数,可取1或比1稍小的数值,一般取
= 0.97 。
(2)分帧
短时分析主要采用分帧方式,一般每帧帧长为20ms或25ms。假设采样率是16kHz,帧长为25ms,则一帧有 16000 x 0.025 = 400 个采样点,如下所示:
相邻帧之间存在重叠部分,一般采用重叠取帧的方式(帧移一般为10ms,重叠50%--60%),如下图所示:
(3)加窗
上面的分帧方式相当于对语音信号进行了加矩形窗处理,在时域上对信号进行有限截断,对应的频域的通带较窄,边界处存在多个旁瓣,从而导致了严重的频谱泄露。
矩形窗的窗函数为:
其中,N是窗的长度。当 N = 400 时,如下图所示:
为了减少频谱泄露,通常对每帧的信号进行其他形式的加窗处理。常用的窗函数有:汉明窗(Hamming)、汉宁窗(Hanning)、布莱克曼窗(Blackman)等。
汉明窗的窗函数为:
其中, 是窗的长度。当N=400时,如下所示:
汉宁窗的窗函数为:
布莱克曼窗的窗函数为:
考虑语音信号的短时平稳性,对每帧语音信号进行加窗处理,得到短时加窗的语音信号,如下所示:
其中,w[n]是窗函数,N是窗长, 是帧索引,L是帧移。
3.2 短时傅立叶变换
每个频率的信号可以用正弦波表示,采用正弦函数建模。基于欧拉公式,可将正弦函数对应到统一的指数形式。
正弦函数具有正交性,即任意两个不同频率的正弦波的乘积,在两者的公共周期内的积分等于零。正交性用复指数运算表示 如下:
,如果
基于正弦函数的正交性,通过相关处理可从语音信号分离出对应不同频率的正弦信号。
对于离散采样的语音信号,可采用离散傅里叶变换(DFT)。DFT的第k个点计算如下:
注:时域信号转换为频域信号。
其中, 是时域波形第n个采样点值,
是第k个点的傅里叶频谱值,
是采样点序列的点数,
是频谱系数的点数,且
。
DFT系数通常是复数形式,因为
则
其中
假设 N 个采样点的时域信号经离散傅里叶变换(DFT)后,对应K个频率点,如下图所示。
序号为0的点对应 0 Hz的频率点,序号为 K-1 的点对应 (K-1)/ K x 采样率 Fs / 2 的频率点。K个频率点在频率轴上均匀分布。
经DFT变换得到信号的频谱表示,其频谱幅值和相位随着频率变化而变化。
在语音信号处理中主要关注信号的频谱幅值,也称为了振幅频谱,表示如下:
能量频谱用振幅频谱的平方表示:
通过对频域信号进行逆傅里叶变换(IDFT),可恢复时域信号:
各种声源发出的声音大多是由许多不同强度、不同频率的声音组成的复合音。
在复合音中,不同频率成分的声波具有不同的能量,这种频率成分与能量分布的关系称为声音的频谱(frequency spectrum)。频谱图用来表示各频率成分与能量分布之间的关系,如下所示:
离散傅里叶变换(DFT)的计算复杂度是。根据复数的奇、偶、虚、实关系,采用快速傅里叶变换(FFT),可简化计算复杂度,在
的时间内计算出DFT。
在实际应用中,对语音信号进行分帧加窗处理,将其分割成一帧帧的离散序列,可视此为短时傅里叶变换(STFT):
其中,K 是DFT后的频率点个数,k 是频率索引,。
建立起索引为
的时域信号与索引为 k 的频域信号的关系。对于采样率
,相应的索引为时间
和频率
。
3.3听觉特性
音调的单位 mel 频率,用来模拟人耳对不同频率语音的感知,1 mel相当于 1 kHz音调感知程度的1/1000。
人类对不同频率语音有不同的感知能力:
1kHz以下,与频率呈线性关系。
1kHz以上,与频率成对数关系。
3.4线性预测
气流、声门可以等效为一个激励源,声道等效为一个时变滤波器,语音信号 可以被看成激励信号
与时变滤波器的单位取样响应
的卷积:
根据语音信号的产生模型,语音信号 可以等价为以
为激励的一个全极点(AR模型)或者一个零极点(ARMA模型)滤波器的响应。如果用一个p 阶全极点系统模拟激励产生语音的过程,设这个AR模型的传递函数为:
其中,p是阶数,G是增益。
由此,语音信号 和激励信号
之间的关系如下所示:
3.5倒谱分析
处理过程如下:
(1)傅里叶变换。将时域的卷积信号转化为频域的乘积信号:
(2)对数运算。将乘积信号转变为加性信号:
(3)傅里叶反变换。得到时域的语音信号倒谱。
一般采用DCT反变换代替傅里叶变换,直接获取低频倒谱系数。故上式可改为
其中,X[k]是DFT变换系数,N是DFT系数的个数,M是DCT变换的个数。