收藏 分享(赏)

MFCC详解.doc

上传人:kpmy5893 文档编号:7349941 上传时间:2019-05-15 格式:DOC 页数:3 大小:26KB
下载 相关 举报
MFCC详解.doc_第1页
第1页 / 共3页
MFCC详解.doc_第2页
第2页 / 共3页
MFCC详解.doc_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

1、作了一段时间的语音识别,看到坛子里有人问起 MFCC,现在就整理一下有关 MFCC 参数的资料。在语音辨识(Speech Recognition)和语者辨识(Speaker Recognition)方面,最常用到的语音特征就是梅尔倒频谱系数 (Mel-scale Frequency Cepstral Coefficients,简称MFCC) ,此参数考虑到人耳对不同频率的感受程度,因此特别适合用在语音辨识。下面简单的介绍一下求解 MFCC 的过程。1.预强调(Pre-emphasis):将语音讯号 s(n) 通过一个高通滤波器。H(z)=1-a*(z-1) 系数其中 a 介于 0.9 和 1.

2、0 之间。若以时域的表达式来表示,预强调后的讯号 s2(n) 为 s2(n) = s(n) - a*s(n-1) 这个目的就是为了消除发声过程中声带和嘴唇的效应,来补偿语音信号受到发音系统所压抑的高频部分。 (另一种说法则是要突显在高频的共振峰。 )2.音框化(Frame blocking):先将 N 个取样点集合成一个观测单位,称为音框( Frame) ,通常 N 的值是 256 或 512,涵盖的时间约为 2030 ms 左右。为了避免相邻两音框的变化过大,所以我们会让两相邻因框之间有一段重迭区域,此重迭区域包含了 M 个取样点,通常 M 的值约是 N 的一半或 1/3。通常语音辨识所用的

3、音讯的取样频率为 8 KHz 或 16 KHz,以 8 KHz 来说,若音框长度为 256 个取样点,则对应的时间长度是 256/8000*1000 = 32 ms。3.汉明窗(Hamming window):将每一个音框(frame)乘上汉明窗,以增加音框左端和右端的连续性(请见下一个步骤的说明) 。假设音框化的讯号为 S(n), n = 0,N-1。N 为frame 的大小,那么乘上汉明窗后为 S(n) = S(n)*W(n),此 W(n) 形式如下: W(n, a) = (1 - a) - a *cos(2n/(N-1),0nN-1 ?不同的 a 值会产生不同的汉明窗。一般我们都取 a

4、= 0.46。4.快速傅利叶转换(Fast Fourier Transform, or FFT):由于讯号在时域( Time domain)上的变化通常很难看出讯号的特性,所以通常将它转换成频域(Frequency domain)上的能量分布来观察,不同的能量分布,就能代表不同语音的特性。所以在乘上汉明窗后,每个音框还必需再经过 FFT 以得到在频谱上的能量分布。 乘上汉明窗的主要目的,是要加强音框左端和右端的连续性,这是因为在进行 FFT 时,都是假设一个音框内的讯号是代表一个周期性讯号,如果这个周期性不存在,FFT 会为了要符合左右端不连续的变化,而产生一些不存在原讯号的能量分布,造成分析

5、上的误差。当然,如果我们在取音框时,能够使音框中的讯号就已经包含基本周期的整数倍,这时候的音框左右端就会是连续的,那就可以不需要乘上汉明窗了。但是在实作上,由于基本周期的计算会需要额外的时间,而且也容易算错,因此我们都用汉明窗来达到类似的效果。5.三角带通滤波器(Triangular Bandpass Filters):将能量频谱 能量乘以一组 20 个三角带通滤波器,求得每一个滤波器输出的对数能量(Log Energy) ,共 20 个。必须注意的是:这 20 个三角带通滤波器在梅尔频率 (Mel Frequency)上是平均分布的,而梅尔频率和一般频率 f 的关系式如下: mel(f)=2

6、595*log10(1+f/700) 或是 mel(f)=1125*ln(1+f/700) 梅尔频率代表一般人耳对于频率的感受度,由此也可以看出人耳对于频率 f 的感受是呈对数变化的: 在低频部分,人耳感受是比较敏锐 。在高频部分,人耳的感受就会越来越粗糙 。三角带通滤波器有两个主要目的: 对频谱进行平滑化,并消除谐波的作用,突显原先语音的共振峰。 (因此一段语音的音调或音高,是不会呈现在 MFCC 参数内,换句话说,以 MFCC 为特征的语音辨识系统,并不会受到输入语音的音调不同而有所影响。 ) 降低资料量。 6.离散余弦转换(Discrete cosine transform, or DC

7、T):将上述的 20 个对数能量 Ek 带入离散余弦转换,求出 L 阶的 Mel- scale Cepstrum 参数,这里 L 通常取 12。离散余弦转换公式如下: C(m)= ,m=1,2, ., LNkm1 E(k)/N)5.0(cosCm=Sk=1Ncosm*(k-0.5)*p/N*Ek, 其中 Ek 是由前一个步骤所算出来的三角滤波器和频谱能量的内积值,这里 N 是三角滤波器的个数。由于之前作了 FFT,所以采用 DCT 转换是期望能转回类似 Time Domain 的情况来看,又称 Quefrency Domain,其实也就是 Cepstrum(倒谱) 。又因为之前采用 Mel-

8、Frequency 来转换至梅尔频率,所以才称之 Mel-scale Cepstrum。 7.对数能量(Log energy):一个音框的音量(即能量) ,也是语音的重要特征,而且非常容易计算。因此我们通常再加上一个音框的对数能量(定义为一个音框内讯号的平方和,再取以 10 为底的对数值,再乘以 10) ,使得每一个音框基本的语音特征就有 13 维,包含了 1 个对数能量和 12 个倒频谱参数。 (若要加入其它语音特征以测试辨识率,也可以在此阶段加入,这些常用的其它语音特征,包含音高、过零率、共振峰等。 ) 8.差量倒频谱参数(Delta cepstrum):虽然已经求出 13 个特征参数,然而在实际应用于语音辨识时,我们通常会再加上差量倒频谱参数,以显示倒频谱参数对时间的变化。它的意义为倒频谱参数相对于时间的斜率,也就是代表倒频谱参数在时间上的动态变化,公式如下: Cm(t) = St=-MMCm(t+t)t / St=-MMt2 Cm(t)=Mt1(这里 M 的值一般是取 2 或 3。因此,如果加上差量运算,就会产生 26 维的特征向量;如果再加上差量运算,就会产生 39 维的特征向量。一般我们在 PC 上进行的语音辨识,就是使用 39 维的特征向量。 希望大家愉快!

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报