读入语音数据,端点检测,计算mfcc,利用端点位置截取mfcc系数中语音部分。作图。
一般来说mfcc针对整段语音计算,获取端点位置后截取mfcc计算后的结果。
代码如下:(mfcc_vad.m)
%% 计算 x1=wavread('2a2.wav'); x2=wavread('2a9.wav'); [x1s x1e]=vad(x1); [x2s x2e]=vad(x2); m1=mfcc(x1); m2=mfcc(x2); m1v=m1(x1s:x1e,:); m2v=m2(x2s:x2e,:); %% 作图 figure(1) subplot(221),mesh(m1),title('端点截取前样本1'),xlabel('特征'),ylabel('帧'),zlabel('幅度') subplot(222),mesh(m2),title('端点截取前样本2'),xlabel('特征'),ylabel('帧'),zlabel('幅度') subplot(223),mesh(m1v),title('端点截取后样本1'),xlabel('特征'),ylabel('帧'),zlabel('幅度') subplot(224),mesh(m2v),title('端点截取后样本2'),xlabel('特征'),ylabel('帧'),zlabel('幅度')
可以看到mfcc系数中浮动较大的帧范围被提取出来。