zoukankan      html  css  js  c++  java
  • 语音信号MFCC的特征提取Matlab源码

    语音信号处理MFCC提取的Matlab源码,

    Matlab调试运行的时候注意添加语音工具箱voicebox查找路径。即,

    MatlabFile->Set Path…->Add Folder… 选择你所解压的voicebox文件夹路径。

    %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(:));   
    
    %DCT系数,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
  • 相关阅读:
    aspcms产品详情页调取相关产品
    构造函数中返回一个对象对结果有什么影响
    跨域的几种方法及案例代码
    localStorage兼容方案
    H5 拖放事件详解
    由作用域安全的构造函数想到的
    valueOf和toString的区别
    网页布局--自适应
    【MongoDB系列】简介、安装、基本操作命令
    【JavaWeb】之Servlet
  • 原文地址:https://www.cnblogs.com/sxzheng/p/3420796.html
Copyright © 2011-2022 走看看