testdtw.m
来自「DTW算法」· M 代码 · 共 36 行
M
36 行
disp('Prepare reference model...')
for i=1:10
fname = sprintf('%da.wav',i-1);
x = wavread(fname);
[x1 x2] = vad(x);
x = filter([1 -0.9375], 1, x);
m = melcepst(x,8000,'M',12,24,256,80);
m = m(x1:x2,:);
ref(i).mfcc = m;
end
disp('Calculate test model...')
for i=1:10
fname = sprintf('%db.wav',i-1);
x = wavread(fname);
[x1 x2] = vad(x);
x = filter([1 -0.9375], 1, x);
m = melcepst(x,8000,'M',12,24,256,80);
m = m(x1:x2,:);
test(i).mfcc = m;
end
disp('Matching...')
dist = zeros(10,10);
for i=1:10
for j=1:10
dist(i,j) = dtw(test(i).mfcc, ref(j).mfcc);
end
end
disp('Result...')
for i=1:10
[d,j] = min(dist(i,:));
fprintf('Test model %d is recognized as:%d\n', i, j);
end
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?