MFCC特征提取(可用程序).docx

MFCC特征提取(可用程序).docx

ID:59253977

大小:21.42 KB

页数:10页

时间:2020-09-08

MFCC特征提取(可用程序).docx_第1页
MFCC特征提取(可用程序).docx_第2页
MFCC特征提取(可用程序).docx_第3页
MFCC特征提取(可用程序).docx_第4页
MFCC特征提取(可用程序).docx_第5页
资源描述:

《MFCC特征提取(可用程序).docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、/******************************************************MFCC特征提取程序*读取一个音频文件(.wav),将根据帧长分割后的每帧2阶MFCC*系数写在输出文件中,以","为间隔*******************************************************/#include#include#include#include#include#include#include

2、omplex>#include//MFCC的特征选取,最后提取了13维左右最后结果保存在文件中usingnamespacestd;#defineSP_EMPHASIS_FACTOR0.97f/*预加重的系数*/typedefstruct_TWavHeader{intrId;//标志符(RIFF)intrLen;//数据大小,包括数据头的大小和音频文件的大小intwId;//格式类型("WAVE")intfId;//"fmt"intfLen;//Sizeof(WAVEFORMATEX)shortwFormatTag;//编码格式,包括WAV

3、E_FORMAT_PCM,WAVEFORMAT_ADPCM等shortnChannels;//声道数,单声道为1,双声道为2intnSamplesPerSec;//采样频率intnAvgBytesPerSec;//每秒的数据量shortnBlockAlign;//块对齐shortwBitsPerSample;//WAVE文件的采样大小intdId;//"data"intwSampleLength;//音频数据的大小}TWavHeader;constintFS=16;/*修改帧长*/constlongFrmLen=1024;//可修改帧长constunsi

4、gnedlongFFTLen=512;//参与FFT运算的512个数据constdoublePI=3.;constintFiltNum=40;//滤波器组数,一共40组constintPCEP=13;//最后得到的关于的13个MFCC的系数doubleHamming[FrmLen];inttemp_1;//计算次数的vectorMFCCcoefficient;staticdoublelast=0;//一窗数据最后一个点的值,此点用于预加重voidpreemphasis(double*buf,double*result,shortFrmLe

5、n);//预加重voidInitHamming();voidHammingWindow(double*result,double*data);voidcompute_fft(double*buffer,vector>&vecList);voidFFT(constunsignedlong&ulN,vector>&vecList);//FFT的实际程序voidInitFilt(double*FiltCoe1,double*FiltCoe2,int*Num);//初始化滤波器voidCFilt(d

6、ouble*spdata,double*FiltCoe1,double*FiltCoe2,int*Num,double*En,vector>&vecList);//计算每个滤波器组内的总能量voidMFCC(double*En,double*Cep);//计算MFCC的13个系数intmain(){//TWavHeaderwaveheader;FILE*sourcefile,*MFCCFile;shortbuffer[FrmLen];doubledBuff[FrmLen];doubleresult[FrmLen];//预加

7、重结果doubledata[FrmLen];//加窗后得到的数据doubleFiltCoe1[FFTLen/2+1];//左系数doubleFiltCoe2[FFTLen/2+1];//右系数intNum[FFTLen/2+1];//一般而言,每个点会包含在相邻的两个滤波器中,这里是与该点相关的第二个滤波器doubleEn[FiltNum+1];//频带能量doubleCep[PCEP];//MFCC结果//对定义的变量赋初值temp_1=0;inti=0;for(i=0;i

8、[i]=data[i]=0.0f;}for(i=0;i

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。