mfcc总结,这个mel三角滤波器分组到底是如何起作用的呢? |
您所在的位置:网站首页 › mel频率的参数是什么 › mfcc总结,这个mel三角滤波器分组到底是如何起作用的呢? |
先看fft频谱图(这是4096字节取样fft计算,横轴频率是从0到512,后边意义不大,未取,纵轴是振幅),那些我随便画的蓝色线,你有什么联想?: 再看,这绿色线,是否有一种上升后,便逐渐式微的感觉,都是三角形的,这或许也是mel当初和绝大多数人看到的: 如果在振幅上加上一条限制的黑线(振幅门槛限制),黑色线以下很多频率就没有意义了,你看,有用的频率连一半(512/2=256)都占不到: 振幅的大小真是一个烦人的事情,变化很大,你不可能总是这么大的音量吧!取对数,这应该不是mel等人的专利,取对数产生了分贝的概念,他有一个好处,你立马可以看到,A=Math.Log10(10)=1,B=Math.Log10(100)=2,很明显A和B只相差1,而振幅相差很大,如果纵轴变为取对数,即分贝,那么,声音中的高频就会拔高,振幅大的低频就会降下来,振幅差别就变得没那么突兀了,但是fft纵轴没有取对数前,指示出来了你想要的那个区域,上面那个绿色的大三角,我们是否可以合并他呢?mel试了两个公式,来计算这个绿色三角形,假定f0=9,f1=16,f2=25,k属于【9,25】: 第1个公式,H(k)=(k-f0)/(f1-f0),k属于【9,16);H(k)=(f2-k)/(f2-f1),k属于【16,25】,那么
=|X(9)|^2*H(9)+|X(10)|^2*H(10)+...+|X(16)|^2*H(16)+|X(17)|^2*H(17)+...+|X(24)|^2*H(24)+|X(25)|^2*H(25) =0+|X(10)|^2*1/7+...+|X(15)|^2*6/7+|X(16)|^2*9/9+|X(17)|^2*8/9+...+|X(24)|^2*1/9+0
第2个公式,H(k)=2*(k-f0)/[(f1-f0)*(f2-f0)],k属于【9,16);H(k)=2*(f2-k)/[(f1-f0)*(f2-f0)],k属于【16,25】,那么 计算分母[(f1-f0)*(f2-f0)]=7*16=112;
=|X(9)|^2*H(9)+|X(10)|^2*H(10)+...+|X(16)|^2*H(16)+|X(17)|^2*H(17)+...+|X(24)|^2*H(24)+|X(25)|^2*H(25) =2*(0+|X(10)|^2*1+...+|X(15)|^2*6+|X(16)|^2*9+|X(17)|^2*8+...+|X(24)|^2*1+0)/112
第一种方便,第二种复杂一些,似乎取整后 但这不是最厉害的,mel发现了那个公式mel=2595*Math.Log10(1+f/700),还有人用mel=1125*Math.Log(1+f/700),这是我们望尘莫及的,这需要多少探索,经验,经历啊!在我国声学专家梁之安先生专著中(听觉感受和辨别的神经机制),好像都未发现这个公式,mel或许也是一个声学专家吧! 以上是mel分组的第一组测试,然后又试了第二组,均有取整后 顺眼是什么意思?似曾相识,却又想不起来的一种好感,取整后 再看下图,是否豁然开朗了呢?以上就是第一个mel分组三角滤波器的全过程,他就是这样起作用的(简并出特征,使用了归一化思想)。 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |