0. 前言
关于MFCC相关原理,这里就不过多叙述了,网上的参考资料也比较多,自己对MFCC原理理解也不是很深刻(方向不一样),主要介绍本人对kaldi mfcc特征提取代码裁剪后的接口,此处开源的MFCC不含pitch特征提取。
1. Github代码结构介绍
在介绍之前,提及一点,若要运行,请先阅读README.md编译外部库。
特征提取的代码在src/feat目录下,测试代码在src/main/feat-test.cc
MFCC最后提交commit 1d1d3fef56b3325352f29e1e08c78516a5ba12f5,切换到commit后,可以知道调用了哪些数学运算,其中openblas调用了两个接口:**cblas_sdot **、cblas_sgemv
文件源程序结构:
如果想要编译测试代码src/main/feat-test.cc,请修改src/build/Makefile
以上代码文件中,计算特征的接口在compute-feat.h中,其他mel-banks和srfft相关操作可以不用管。
关于mfcc参数设置,代码中采用的宏定义的方式,具体的配置在feat-params.h中,