MFCC

MFCC

MFCC特征全称为Mel频率倒谱系数(Mel-Frequency Ceptral Coefficients,MFCC),它能够反映人对语音的感知特性。两个响度不等的声音作用于人耳时,则响度较高的频率成分的存在会影响到对响度较低的频率成分的感受,使其变得不易察觉,这种现象称为掩蔽效应。由于频率较低的声音在内耳蜗基底膜上行波传递的距离大于频率较高的声音,故一般来说,低音容易掩蔽高音,而高音掩蔽低音较困难。在低频处的声音掩蔽的临界带宽较高频要小。所以,人们从低频到高频这一段频带内按临界带宽的大小由密到疏安排一组带通滤波器,对输入信号进行滤波。将每个带通滤波器输出的信号能量作为信号的基本特征,对此特征经过进一步处理后就可以作为语音的输入特征。

梅尔倒谱系数(Mel-scale Frequency Cepstral Coefficients,简称MFCC)是在Mel标度频率域提取出来的倒谱参数,Mel标度描述了人耳频率的非线性特性,它与频率的关系可用下式近似表示:

式中f为频率,单位为Hz。下图展示了Mel频率与线性频率的关系:

语音特征参数MFCC提取过程:连续语音--预加重--加窗分帧--FFT--MEL滤波器组--对数运算--DCT

 

(1)预处理

预处理包括预加重、分帧、加窗函数。

预加重:预加重处理其实是将语音信号通过一个高通滤波器:式中μ的值介于0.9-1.0之间,我们通常取0.97。

预加重的目的是提升高频部分,使信号的频谱变得平坦,保持在低频到高频的整个频带中,能用同样的信噪比求频谱。同时,也是为了消除发生过程中声带和嘴唇的效应,来补偿语音信号受到发音系统所抑制的高频部分,也为了突出高频的共振峰

分帧:先将N个采样点集合成一个观测单位,称为帧。通常情况下N的值为256或512,涵盖的时间约为20~30ms左右。为了避免相邻两帧的变化过大,因此会让两相邻帧之间有一段重叠区域,此重叠区域包含了M个取样点,通常M的值约为N的1/2或1/3。通常语音识别所采用语音信号的采样频率为8KHz或16KHz,以8KHz来说,若帧长度为256个采样点,则对应的时间长度是256/8000×1000=32ms。

加窗:语音在长范围内是不停变动的,没有固定的特性无法做处理,所以将每一帧代入窗函数,窗外的值设定为0,其目的是消除各个帧两端可能会造成的信号不连续性。常用的窗函数有方窗、汉明窗和汉宁窗等,根据窗函数的频域特性,常采用汉明窗。

将每一帧乘以汉明窗,以增加帧左端和右端的连续性。假设分帧后的信号为S(n), n=0,1…,N-1, N为帧的大小,那么乘上汉明窗后 ,W(n)形式如下:

不同的a值会产生不同的汉明窗,一般情况下a取0.46。

(2)FFT

由于信号在时域上的变换通常很难看出信号的特性,所以通常将它转换为频域上的能量分布来观察,不同的能量分布,就能代表不同语音的特性。所以在乘上汉明窗后,每帧还必须再经过快速傅里叶变换以得到在频谱上的能量分布。对分帧加窗后的各帧信号进行快速傅里叶变换得到各帧的频谱。并对语音信号的频谱取模平方得到语音信号的功率谱。设语音信号的DFT为:

\mathbf{X_{a}(k)=\sum_{n=0}^{N-1}x(n)e^{-j2\pi k/N},0\leq k \leq N}

(3)计算通过Mel滤波器的能量

将能量谱通过一组Mel尺度的三角形滤波器组,定义一个有M个滤波器的滤波器组(滤波器的个数和临界带的个数相近),采用的滤波器为三角滤波器,中心频率为f(m) 。M通常取22-26。各f(m)之间的间隔随着m值的减小而缩小,随着m值的增大而增宽,如图所示:

三角滤波器的频率响应定义为:

             式中
对频谱进行平滑化,并消除谐波的作用,突显原先语音的共振峰。(因此一段语音的音调或音高,是不会呈现在MFCC 参数内,换句话说,以MFCC 为特征的语音辨识系统,并不会受到输入语音的音调不同而有所影响)此外,还可以降低运算量。

(4)对数运算

计算每个滤波器组输出的对数能量为:

(5)计算DCT倒谱

离散余弦变换(DCT)得到MFCC系数 :

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

 

  • 2
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
mfcc (Mel频率倒谱系数) 是一种常用的音频特征提取方法,常用于语音识别和音频处理领域。 mfcc是一种用于描述声音特征的系数,通过对信号的频谱进行加权得到。Mel频率可以有效模拟人类听觉系统对声音频率的感知,因此采用Mel频率将频谱进行压缩,得到更符合人类听觉感知的特征。倒谱分析则是获取信号的包络线,通过倒谱分析可以得到信号的时频特征。 在sklearn中,可以使用`librosa`库来提取mfcc特征。该库提供了一系列用于音频处理的函数和工具,包括提取音频特征、加载音频文件等。使用`librosa.feature.mfcc`函数可以方便地提取mfcc特征。通过设置参数可以控制提取mfcc的样本数、提取时的窗口大小和重叠等。 使用sklearn提取mfcc特征的步骤如下: 1. 加载音频文件,可以使用`librosa.load`函数加载音频文件,该函数返回音频数据和采样率。 2. 对音频数据进行预处理,例如去除静音部分、降噪等。 3. 使用`librosa.feature.mfcc`函数提取mfcc特征,该函数返回mfcc系数矩阵。 4. 可以对mfcc系数矩阵进行进一步处理,例如归一化、降维等。 5. 最后可以将提取的mfcc特征输入到机器学习模型中进行训练或应用。 mfcc特征在语音识别、音频分析和音乐信息检索等领域有广泛应用,能够有效地提取音频的语音特征和内容信息。通过sklearn中的librosa库,我们可以方便地使用mfcc特征进行音频处理和分析。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值