梅尔倒谱系数

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,写的非常详细,我看过这个之后才真正理解)
---------------------
作者:richard2357
来源:CSDN
原文:https://blog.csdn.net/richard2357/article/details/17147249
版权声明:本文为博主原创文章,转载请附上博文链接!

萍水相逢逢萍水,浮萍之水水浮萍!
原文地址:https://www.cnblogs.com/AIBigTruth/p/10315044.html