语音识别原理与应用 第三章 语音特征提取

目录

第三章 语音特征提取

3.1预处理

3.2 短时傅立叶变换

3.3听觉特性

3.4线性预测

 3.5倒谱分析

3.6常用的声学特征


第三章 语音特征提取

原始语音是不定长的时序信号,不适合直接作为传统机器学习算法的输入,一般需要转换成特定的特征向量表示,这个过程称为语音特征提取

虽然随着深度学习的发展,原始信号也可以直接作为网络的输入,但是由于其在时域上具有较大的冗余度,会增加训练的难度,因此,特征提取仍是语音信号处理技术的关键环节之一。

3.1预处理

首先对原始语音时域信号进行预处理,主要包括预加重分帧加窗

(1)预加重

    补偿语音信号高频部分的振幅。假设输入信号第 n 个采样点为 x[n] ,则公式如下:

x^{'}[n] = x[n] - ax[n-1]

            其中,a 为预加重系数,可取1或比1稍小的数值,一般取a = 0.97 。

 (2)分帧

      短时分析主要采用分帧方式,一般每帧帧长为20ms或25ms。假设采样率是16kHz,帧长为25ms,则一帧有 16000 x 0.025 = 400 个采样点,如下所示:

相邻帧之间存在重叠部分,一般采用重叠取帧的方式(帧移一般为10ms,重叠50%--60%),如下图所示:

   (3)加窗

        上面的分帧方式相当于对语音信号进行了加矩形窗处理,在时域上对信号进行有限截断,对应的频域的通带较窄,边界处存在多个旁瓣,从而导致了严重的频谱泄露。

         矩形窗的窗函数为:

W_{reg}[n]=\left\{\begin{matrix} 1 ,& 0\leqslant n\leqslant N-1 & \\ 0, & n\leqslant 0,n\geqslant N-1 & \end{matrix}\right.

                                     其中,N是窗的长度。当 N = 400 时,如下图所示:

         为了减少频谱泄露,通常对每帧的信号进行其他形式的加窗处理。常用的窗函数有:汉明窗(Hamming)、汉宁窗(Hanning)、布莱克曼窗(Blackman)等。

        汉明窗的窗函数为:

W_{ham}[n]=0.54 - 0.46\cos (\frac{2\pi n}{N}-1)

                       其中,0\leqslant n\leqslant N-1,N 是窗的长度。当N=400时,如下所示:

         

      汉宁窗的窗函数为:

 W_{han}[n]=0.5[1-\cos (\frac{2\pi n}{N}-1)]

      布莱克曼窗的窗函数为:

W_{bm}[n]=0.42-0.5\cos (\frac{2\pi n}{N})0.08\cos (\frac{4\pi n}{N})

  考虑语音信号的短时平稳性,对每帧语音信号进行加窗处理,得到短时加窗的语音信号x_{l}[n],如下所示:

x_{l}[n]=w[n]x[n+lL], \quad \quad 0\leqslant n\leqslant N-1

 其中,w[n]是窗函数,N是窗长,l 是帧索引,L是帧移。

3.2 短时傅立叶变换

每个频率的信号可以用正弦波表示,采用正弦函数建模。基于欧拉公式,可将正弦函数对应到统一的指数形式。

e^{jwn}=\cos (wn)+j\sin(wn)

正弦函数具有正交性,即任意两个不同频率的正弦波的乘积,在两者的公共周期内的积分等于零。正交性用复指数运算表示 如下:

\int_{-\infty }^{-\infty }{e^{j\alpha t}e^{-j\beta t}dt=0},如果 \alpha \neq \beta

 基于正弦函数的正交性,通过相关处理可从语音信号分离出对应不同频率的正弦信号。

对于离散采样的语音信号,可采用离散傅里叶变换(DFT)。DFT的第k个点计算如下:

X[k]=\sum_{n=0}^{N-1}x[n]e^{-\frac{j2\pi kn}{K}},k=0,1,2,\cdots ,K-1

  注:时域信号转换为频域信号。 

其中,x[n] 是时域波形第n个采样点值,X[k] 是第k个点的傅里叶频谱值,N是采样点序列的点数,K是频谱系数的点数,且K\geq N 。

DFT系数通常是复数形式,因为

e^{-\frac{j2\pi kn}{K}}=\cos (\frac{2\pi kn}{K})-j\sin (\frac{2\pi kn}{K})

 则 

X[k]=X_{real}[k]-jX_{imag}[k]

 其中

X_{real}[k]=\sum_{n=0}^{N-1}x[n]\cos (\frac{2\pi kn}{K})\\ X_{imag}[k]=\sum_{n=0}^{N-1}x[n]\sin (\frac{2\pi kn}{K})

    假设 N 个采样点的时域信号经离散傅里叶变换(DFT)后,对应K个频率点,如下图所示。

序号为0的点对应 0 Hz的频率点,序号为 K-1 的点对应 (K-1)/ K x 采样率 Fs / 2 的频率点。K个频率点在频率轴上均匀分布。

经DFT变换得到信号的频谱表示,其频谱幅值和相位随着频率变化而变化。

在语音信号处理中主要关注信号的频谱幅值,也称为了振幅频谱,表示如下:

 X_{magnitude}[k]=sqrt({X_{real}[k]}^2+{X_{imag}[k]}^2)

 能量频谱用振幅频谱的平方表示:

X_{power}[k]={X_{real}[k]}^2+{X_{imag}[k]}^2

 通过对频域信号进行逆傅里叶变换(IDFT),可恢复时域信号:

x[n]=\frac{1}{K}\sum_{k=0}^{K-1}X[k]e^{\frac{j2\pi kn}{N}},n=0,1,\cdots ,N-1

 各种声源发出的声音大多是由许多不同强度、不同频率的声音组成的复合音。

在复合音中,不同频率成分的声波具有不同的能量,这种频率成分与能量分布的关系称为声音的频谱(frequency spectrum)。频谱图用来表示各频率成分与能量分布之间的关系,如下所示:

离散傅里叶变换(DFT)的计算复杂度是O(N^2)。根据复数的奇、偶、虚、实关系,采用快速傅里叶变换(FFT),可简化计算复杂度,在O(N\log _2N)的时间内计算出DFT。

在实际应用中,对语音信号进行分帧加窗处理,将其分割成一帧帧的离散序列,可视此为短时傅里叶变换(STFT):

X[k,l]=\sum_{n=0}^{N-1}x_l[n]e^{-\frac{j2\pi nk}{K}}=\sum_{n=0}^{N-1}w[n]x[n+lL]e^{-\frac{j2\pi nk}{K}}

其中,K 是DFT后的频率点个数,k 是频率索引,0\leqslant k< KX[k,l] 建立起索引为 lL 的时域信号与索引为 k 的频域信号的关系。对于采样率F_{s},相应的索引为时间 lL/F_s 和频率 kF_s/K

3.3听觉特性

音调的单位 mel 频率,用来模拟人耳对不同频率语音的感知,1 mel相当于 1 kHz音调感知程度的1/1000。

mel(f)=2595\lg (1+f/700)

人类对不同频率语音有不同的感知能力:

1kHz以下,与频率呈线性关系。

1kHz以上,与频率成对数关系。

3.4线性预测

气流、声门可以等效为一个激励源,声道等效为一个时变滤波器,语音信号 x[n] 可以被看成激励信号 e[n] 与时变滤波器的单位取样响应 v[n] 的卷积:

x[n] = e[n]*v[n]

根据语音信号的产生模型,语音信号x[n] 可以等价为以 e[n] 为激励的一个全极点(AR模型)或者一个零极点(ARMA模型)滤波器的响应。如果用一个p 阶全极点系统模拟激励产生语音的过程,设这个AR模型的传递函数为:

V(z)=\frac{X(z)}{E(z)}=\frac{G}{1-\sum_{i=1}^{p}a_iz^{-i}}=\frac{G}{A(z)}

其中,p是阶数,G是增益。

由此,语音信号x(n) 和激励信号 e(n) 之间的关系如下所示:

x[n]=G\cdot e[n]+\sum_{i=1}^{p}a_ix[n-i]

 3.5倒谱分析

处理过程如下:

(1)傅里叶变换。将时域的卷积信号转化为频域的乘积信号:

DFT(x[n])=X[z]=E[z]V[z]

 (2)对数运算。将乘积信号转变为加性信号:

\log X[z]=\log E[z]+\log V[z]=\hat{E}[z]+\hat{V}[z]=\hat{X}[z]

 (3)傅里叶反变换。得到时域的语音信号倒谱。

Z^{-1}(\hat{X}[z])=Z^{-1}(\hat{E}[z]+\hat{V}[z])=\hat{e}[n]+\hat{v}[z]\approx \hat{x}[n]

一般采用DCT反变换代替傅里叶变换,直接获取低频倒谱系数。故上式可改为

\hat{c}[m]=\sum_{k=1}^{N}\log X[k]\cos(\frac{\pi (k-0.5)m}{N}),\quad m=1,2,\cdots ,M

            其中,X[k]是DFT变换系数,N是DFT系数的个数,M是DCT变换的个数。

3.6常用的声学特征

  • 15
    点赞
  • 80
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值