马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
- % MFCC,即倒谱系数,也是语音的一个特征之一,能够充分利用人耳的特性
- % 具体的求法就是预处理,然后加窗,进行傅立叶变换,再求出功率普
- % 然后得出其自然对数,最后进行dct变换
- % 代码是用matlab写的,用到的一个语音工具箱,可以从网络上下载。
- function mfcoef=mfcccoef(filename);
- x=wavread(filename);
- %归一化mel filter cof
- bank=melbankm(24,256,8000,0,0.5,'m');
- bank=full(bank);
- bank=bank/max(bank(:));
- % dct 系数
- for k=1:12
- n=0:23;
- dctcoef(k,:)=cos((2*n+1)*k*pi/(2*24));
- end
- %归一化倒普窗口
- w=1+6*sin(pi*[1:12]./12);
- w=w/max(w);
- % 一阶高通滤波器 1-0.9375z(-1)
- xx=double(x);
- xx=filter([1 -0.9375],1,xx);
- % 分帧
- y=enframe(xx,256,80);
- [NumFrame,FrameLen]=size(y);
- for i=1:NumFrame
- y=xx(i,:);
- s=y'.*hamming(256); %hamming 窗
- t=abs(fft(s)); %傅立叶变换
- t=t.^2; %功率普
- c1=dctcoef*log(bank*t(1:129)+eps);
- %c1=dct(log(bank*t(1:129)+eps));
- c2=c1.*w';
- m(i,:)=c2';
- end
- NumFrame
- mfcoef=m;
复制代码 |