%function ccc=mfcc(x)   

%归一化mel滤波器组系数   

filename=input('input filename:','s');

[x,fs,bits]=wavread(filename);

bank=melbankm(24,256,fs,0,0.5,'m');   

bank=full(bank);   

bank=bank/max(bank(:));   

�T系数,12*24   

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);   

%预加重滤波器   

xx=double(x);   

xx=filter([1 -0.9375],1,xx);   

%语音信号分帧   

xx=enframe(xx,256,80);   

%计算每帧的MFCC参数   

for i=1:size(xx,1)   

    y=xx(i,:)   

    s=y' .*hamming(256);   

    t=abs(fft(s));   

    t=t.^2;   

    c1=dctcoef*log(bank*t(1:129));   

    c2=c1.*w';   

    m(i,:)=c2';   

end   

%差分参数   

dtm=zeros(size(m));   

for i=3:size(m,1)-2   

    dtm(i,:)=-2*m(i-2,:)-m(i-1,:)+m(i+1,:)+2*m(i+2,:);   

end   

dtm=dtm/3;   

%合并mfcc参数和一阶差分mfcc参数   

ccc=[m dtm];   

%去除首位两帧,因为这两帧的一阶差分参数为0   

ccc=ccc(3:size(m,1)-2,:);

subplot(211)

ccc_1=ccc(:,1);

plot(ccc_1);title('MFCC');

% ylabel('幅值');

% title('一维数组及其幅值的关系')

% [h,w]=size(ccc);

% A=size(ccc);

% subplot(212)

% plot([1,w],A);

% xlabel('维数');

% ylabel('幅值');

% title('维数于幅值的关系')

return

MFCC matlab code的更多相关文章

  1. plot a critical difference diagram , MATLAB code

    plot a critical difference diagram , MATLAB code 建立criticaldifference函数 function cd = criticaldiffer ...

  2. Compute Mean Value of Train and Test Dataset of Caltech-256 dataset in matlab code

    Compute Mean Value of Train and Test Dataset of Caltech-256 dataset in matlab code clc;imPath = '/ho ...

  3. Matlab Code for Visualize the Tracking Results of OTB100 dataset

    Matlab Code for Visualize the Tracking Results of OTB100 dataset 2018-11-12 17:06:21 %把所有tracker的结果画 ...

  4. Silence Removal and End Point Detection MATLAB Code

    转载自:http://ganeshtiwaridotcomdotnp.blogspot.com/2011/08/silence-removal-and-end-point-detection.html ...

  5. 支持向量机的smo算法(MATLAB code)

    建立smo.m % function [alpha,bias] = smo(X, y, C, tol) function model = smo(X, y, C, tol) % SMO: SMO al ...

  6. 求平均排序MATLAB code

    A0=R(:,1:2:end); for i=1:17 A1=A0(i,:); p=sort(unique(A1)); for j=1:length(p) Rank0(A1==p(j))=j; end ...

  7. word linkage 选择合适的聚类个数matlab code

    clear load fisheriris X = meas; m = size(X,2); % load machine % load census % % X = meas; % X=X(1:20 ...

  8. sequential minimal optimization,SMO for SVM, (MATLAB code)

    function model = SMOforSVM(X, y, C ) %sequential minimal optimization,SMO tol = 0.001; maxIters = 30 ...

  9. Applying vector median filter on RGB image based on matlab

    前言: 最近想看看矢量中值滤波(Vector median filter, VMF)在GRB图像上的滤波效果,意外的是找了一大圈却发现网上没有现成的code,所以通过matab亲自实现了一个,需要学习 ...

随机推荐

  1. Python 基礎 - 認識模塊

    什麼是模塊?簡單說就是別人寫好了一堆功能,封裝在一起. 模塊有分二種,一個是之前有提到的 標準庫,就是不需要透過額外的安裝就有的模塊 ,另一個叫 第三方庫,需要另外安裝才能使用的模塊 #!/usr/b ...

  2. python执行linux的shell命令

    python执行shell脚本常用的方法 import os val=os.system("shell语句")  >>> val=os.system(" ...

  3. 为CDH 5.7集群添加Kerberos身份验证及Sentry权限控制

    转载请注明出处:http://www.cnblogs.com/xiaodf/ 4. 为CDH 5集群添加Kerberos身份验证 4.1 安装sentry1.点击“操作”,“添加服务”:2.选择sen ...

  4. Java 设计一个贷款计算器 简易

    import javax.swing.*; import java.awt.*; import java.awt.event.*; import javax.swing.border.*; publi ...

  5. div滚动条弹出层效果 (所需要的css文件和js文件,都已经上传到文件里面了progressbar.rar)

    <%--总的弹出层--%> <div class="tcck" id="joinclub" style="display:none& ...

  6. vim文本编辑器

    一.vim相对于vi所做的提升 1.支持多级撤销(字母u, vi中只能撤销一部) 2.支持跨平台(unix为内核系统,windows也可以) 3.语法高亮 4.支持图形界面 二.vi编辑器的操作模式 ...

  7. JavaScript 字符串转日期

    一.将字符串装换为日期 var date= new Date(Date.parse(strTime.replace(/-/g,   "/"))); //转换成Data();

  8. EDIUS设置3D转场的教程

    当你们学习完了EDIUS 2D转场自定义后,一定也想了解3D是如何自定义的吧!其实用法都差不多,下面就和小编我一起来学习下EDIUS 3D转场自定义设置吧! 1.首先我们还是做好自定义转场的准备工作. ...

  9. windows下PHP批量生成打包android程序APK-渠道txt植入apk文件

    服务器安装php环境 下载 android-sdk-windows  下载JDK 1.打开zip支持 c:/windows/php.ini ,打开 exec 2.apk 支持mime添加 .apk a ...

  10. KO+bootstrap 模态窗全选绑定

    HTML <div id="modalAreaID01"> <button type="button" class="btn btn ...