语音情感特征MFCC

MFCC(Mel-frequency cepstral coefficients):梅尔频率倒谱系数。

梅尔频率是基于人耳听觉特性提出来的,与频率成非线性对应关系。

梅尔频率倒谱系数利用它们之间的这种关系,计算得到频率的频谱特征。

主要用于语音特征提取和降低运算维度。

步骤:预加重,分帧,加窗,快速傅里叶变换(FFT),梅尔滤波器组,离散余弦变换(DCT)。

*最重要是FFT和梅尔滤波器组,这两个主要是降维。

预加重(pre-emphasis)

将经采样后的数字语音信号s(n)通过一个高通滤波器(high pass filter)

y(t)=x(t)-\alpha x(t-1),一般\alpha取值为0.95或0.97

作用:

  • 加强高频信息,使信号更平坦,保持在低频到高频的整个频带中,能用同样的信噪比求频谱
  • 避免FFT操作中数值问题
  • 可能增大信噪比
  • 消除发声过程中声带和嘴唇效应,补偿语音信号受到发音系统所抑制的高频部分,也为了突出高频的共振峰

注意:可用mean normalization代替

分帧(framing)

这里的帧(frame)代表一小段时间t的语音数据。帧由N个采样点组成。 

我们要对语音数据做傅里叶变换,将信息从时域转化为频域。但是如果对整段语音做FFT,就会损失时序信息。因此,我们假设在很短的一段时间t内的频率信息不变,对长度为t的帧做傅里叶变换,就能得到对语音数据的频域和时域信息的适当表达。

一般来说,帧的长度取值区间在20ms到40ms之间,相邻帧有50%的重叠(overlapping)。 

常用的参数设置:帧长25ms,步长(stride)10ms(15ms的重叠)

帧长(T),语音数据采样频率(F )和帧的采样点(N)之间的关系:

T=N/F

 加窗(window)

将信号分帧后,我们将每一帧代入窗函数,窗外的值设定为0

目的:消除各个帧两端可能会造成的信号不连续性(即谱泄露 spectral leakage)。

常用的窗函数有方窗、汉明窗和汉宁窗等,根据窗函数的频域特性。

常采用汉明窗(hamming window)。公式如下:

w[n]=0.54-acos(2\Pi nN-1)

窗口长度为N,a一般取0.46,0≤n≤N−10≤n≤N−1 , 该函数形状如下

 

 快速傅里叶变换(Fast-Fourier-Transform)

对分帧加窗后的各帧信号进行N点傅里叶变换得到各帧的频谱。N为每帧的采样点,通常情况下N的值为256或512。这也叫STFT(Short-Time Fourier-Transform)。

其中xi是信号x的第i个帧。

这里需要先介绍下Nyquist频率。

奈奎斯特频率(Nyquist频率)是离散信号系统采样频率的一半,因哈里·奈奎斯特(Harry Nyquist)或奈奎斯特-香农采样定理得名。

采样定理指出,只要离散系统的奈奎斯特频率高于被采样信号的最高频率或带宽,就可以避免混叠现象。

在语音系统中我通常采样率取16khz,而人发生的频率在300hz~3400hz之间,按照Nyquist频率的定义就有Nyquist频率等于8khz高于人发生的最高频率,满足Nyquist频率的限制条件。

FFT就是根据Nyquist频率截取采样率的一半来计算,具体来说就是,假设一帧有512个采样点,傅里叶变换的点数也是512,经过FFT计算后输出的点数是257(N/2+1),其含义表示的是从0(Hz)到采样率/2(Hz)的N/2+1点频率的成分。

也就是说在经过FFT计算时不仅把信号从时域转到了频域并且去除了高于被采样信号的最高频率的点的影响,同时也降低了维度。

梅尔滤波器组(Mel Filter Banks)

由于人耳对不同频率的敏感程度不同,且成非线性关系,因此我们将频谱按人耳敏感程度分为多个Mel滤波器组。

在Mel刻度范围内,各个滤波器的中心频率是相等间隔的线性分布,但在频率范围不是相等间隔的,这个是由于频率与Mel频率转换的公式形成的,公式如下:

F mel(f)=1125ln(1+f/700)

Fmel​是以Mel为单位的感知频率,f是以Hz为单位的实际频率

将能量谱通过一组Mel尺度的三角形滤波器组,定义一个有M个滤波器的滤波器组(滤波器的个数和临界带的个数相近),采用的滤波器为三角滤波器,一般用40个滤波器。

每个滤波在中心频率的响应都是1,然后线性下降,一直到相邻三角滤波的中心频率处为0,如图所示:

 

 m=2595log_{10}(1+\frac{f}{700})

f=700(10^{\frac{m}{2595}}-1)

通过以下建模,三角滤波器的频率响应定义为:

 

离散余弦变换(Discrete Cosine Transform) 

滤波器组得到的系数是相关性很高的,因此我们用离散余弦变换(Discrete Cosine Transform)来去相关并且降维。一般来说,在自动语音识别(Automatic Speech Recognition)领域,保留得到的倒频谱系数的第2-13个,剩下的抛弃。

离散余弦变换经常用于信号处理和图像处理,用来对信号和图像进行有损数据压缩,这是由于离散余弦变换具有很强的"能量集中"特性:大多数的自然信号(包括声音和图像)的能量都集中在离散余弦变换后的低频部分,实际就是对每帧数据在进行一次将维

将上述每个滤波器的对数能量带入离散余弦变换,求出L阶的Mel-scale Cepstrum参数。L阶指MFCC系数阶数,通常取12-16。这里M是三角滤波器个数。

动态差分参数的提取

标准的倒谱参数MFCC只反映了语音参数的静态特性,语音的动态特性可以用这些静态特征的差分谱来描述。实验证明:把动、静态特征结合起来才能有效提高系统的识别性能。

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值