MFCC梅尔倒谱系数

MFCC梅尔倒谱系数是说话人识别、语音识别中最为常用的特征。我曾经对这个特征困惑了很久,包括为什么步骤中要取对数,为什么要最后一步要做DCT等等,以下将把我的理解记录下来,我找到的参考文献中最有价值的要数【1】了。是CUM一个教授做的PPT。


整个流程如下:

时域的波形图如下


图1. 时域波形图


第一步

获得语谱图,语谱图是一个非常有力的工具,因为人耳就是进行的频率分析。


图2. 语谱图


第二步

经过梅尔滤波器组。为什么要经过梅尔滤波器组?答:上面的图需要降维。根据生理学的发现,上面的语谱图实际上可以用经过一系列的梅尔滤波器组来进行降维。


图3. 梅尔滤波器组

滤波后的图像如下,假如一共有24个滤波器组,那么在下图在纵向上就降成了24维。


图4. 经过梅尔滤波器组后的频谱图


第三步

取对数。为什么要取对数?解答如下。

人类的发声系统发出的信号是由基音信息与声道信息卷积而成。记作"s卷积v"

经过语谱图FFT变换后,卷积变成了乘法。即"FFT(s)*FFT(v)"。

取对数后,乘法变成了加法。即"Log(FFT(s))+Log(FFT(v))"

把卷积信号转换成加性信号,这就是取FFT和对数的原因。


图5. 取对数后


第四步

DCT(离散余弦变换)

在上一步中,我们成功地把基音信息与声道信息变成了加性的。那么如何分离呢?它们有如下性质:

频谱图中(注意是一帧FFT变换内)

(1)基音信息在频域是快速变化的。

(2)声道信息在频域是缓慢变化的。

因此再做一次DCT可以将其分离。我们称之为"倒谱域"。因此倒谱域的低频部分刻画了声道信息,高频部分刻画了基音信息。为什么是DCT而不是FFT?因为DCT变换之后的值仍为实数,因此更方便。


图6. DCT变换后


第五步

对DCT变换后的谱图进行降维。

(1)去掉第0维,因为第0维只是图5的均值,并不包含任何信息。

(2)去掉13-24维,因为DCT本身就是用来去相关的,而图5没有太高频的成分,因此可以去掉。


图7. 降维后的MFCC谱图


图7就是最终的MFCC特征了!


小结

1. MFCC特征适用于说话人分类、语音识别,并且已经有了较好的识别结果。

2. 虽然MFCC是个不错的特征,但是同时也丢掉了很多细节(图2至图4的过程),因此并不是非常完美。


参考资料

【1】http://download.csdn.net/detail/richard2357/6664585 (CMU的PPT,写的非常详细,我看过这个之后才真正理解)


阅读更多
文章标签: 语音信号处理
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

MFCC梅尔倒谱系数

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭