首页 > 代码库 > Mel-Frequency-Warping
Mel-Frequency-Warping
好记性,不如烂笔头!读源码,做总结。 http://kaldi-asr.org http://kaldi-asr.org/doc/classkaldi_1_1MelBanks.html#a28c12e3d92fbb958fadef3b3688ac5be
本文重点总结一下,MelBanks() VtlnWarpMelFreq()
本文使用Mel频率计算公式 : mel_frequency = 1127.0 * ln(1.0 + frequency / 700.0) (还有一个计算公式为 2595.0 * lg(1.0 + frequency / 700.0), 计算结果只有细微差别)
差个图~~~
图一
所有小数保留小数点后4位,不足补0
高低通截止频率:low_freq = 40, high_freq = 7800 ; 滤波器个数: num_mel_bins = 23 ; vtln_low = 1000, vtln_high = 5000
不做弯折(para_warp = 1.0)
生成在梅尔频域等频带宽度的23个滤波器,相当于在在图一中y轴等距,那么在x轴上(现实频域)的效果就是越靠后的滤波器现实频带越宽,由于滤波器上点是根据现实频率等距跳动,所以最后效果就是约往后的滤波器上点越多,这些点的取值范围都是(0,1)
差图~~~
图二
弯折(para_warp = 2.0 > 1.0)
滤波器越往后,梅尔频域带宽越宽,那么现实频域这种带宽增长就更猛了,相较于para_warp=1.0,靠前滤波器,频带宽度变窄,点变少,靠后滤波器,频带宽度变宽,点变多。(应该具体值分的更细一些的。。。。。)
差图~~~
图三
弯折(para_warp = 0.5 < 1.0)
相较于para_warp=1.0,靠前滤波器,频带宽度变宽,点变多,靠后滤波器,频带宽度变窄,点变少。(应该具体值分的更细一些的。。。。。)
差图~~~
图四
未完待续,继续努力~~~
Mel-Frequency-Warping