📄 wenjiansb.m
字号:
%文件识别的实现
clc;
if fname~=0
disp('正在计算参考模板的参数...')
for i=1:10
fn= sprintf('..\\DTW\\%dc.wav',i-1);
x = wavread(fn);
[x1 x2] = vad(x);
m = mel(x);
m = m(x1-2:x2-2,:);
ref(i).mel = m;
end
disp('正在计算测试模板的参数...')
i=1
x=wavread(fname);
[x1 x2] = vad(x);
m = mel(x);
m = m(x1-2:x2-2,:);
test(i).mel = m;
disp('正在进行模板匹配...')
dist = zeros(10,10);
i=1
for j=1:10
dist(i,j) = dtw(test(i).mel, ref(j).mel);
end
disp('正在计算匹配结果...')
[d,j] = min(dist(i,:));
if j-1==0
fname = sprintf('\\DTW\\0.wav');
uicontrol('Style','text',...
'Position',[230 10 340 270],...
'String','识别结果为: 0 ',...
'FontSize',20.,...
'Callback',[]);
[s,fs] = wavread(fname);
sound(s,fs);
else if j-1==1
fname = sprintf('\\DTW\\1.wav');
uicontrol('Style','text',...
'Position',[230 10 340 270],...
'String','识别结果为: 1 ',...
'FontSize',20.,...
'Callback',[]);
[s,fs] = wavread(fname);
sound(s,fs);
else if j-1==2
fname = sprintf('\\DTW\\2.wav');
uicontrol('Style','text',...
'Position',[230 10 340 270],...
'String','识别结果为: 2 ',...
'FontSize',20.,...
'Callback',[]);
[s,fs] = wavread(fname);
sound(s,fs);
else if j-1==3
fname = sprintf('\\DTW\\3.wav');
uicontrol('Style','text',...
'Position',[230 10 340 270],...
'String','识别结果为: 3 ',...
'FontSize',20.,...
'Callback',[]);
[s,fs] = wavread(fname);
sound(s,fs);
else if j-1==4
fname = sprintf('\\DTW\\4.wav');
uicontrol('Style','text',...
'Position',[230 10 340 270],...
'String','识别结果为: 4 ',...
'FontSize',20.,...
'Callback',[]);
[s,fs] = wavread(fname);
sound(s,fs);
else if j-1==5
fname = sprintf('\\DTW\\5.wav');
uicontrol('Style','text',...
'Position',[230 10 340 270],...
'String','识别结果为: 5 ',...
'FontSize',20.,...
'Callback',[]);
[s,fs] = wavread(fname);
sound(s,fs);
else if j-1==6
fname = sprintf('\\DTW\\6.wav');
uicontrol('Style','text',...
'Position',[230 10 340 270],...
'String','识别结果为: 6 ',...
'FontSize',20.,...
'Callback',[]);
[s,fs] = wavread(fname);
sound(s,fs);
else if j-1==7
fname = sprintf('\\DTW\\7.wav');
uicontrol('Style','text',...
'Position',[230 10 340 270],...
'String','识别结果为: 7 ',...
'FontSize',20.,...
'Callback',[]);
[s,fs] = wavread(fname);
sound(s,fs);
else if j-1==8
fname = sprintf('\\DTW\\8.wav');
uicontrol('Style','text',...
'Position',[230 10 340 270],...
'String','识别结果为: 8 ',...
'FontSize',20.,...
'Callback',[]);
[s,fs] = wavread(fname);
sound(s,fs);
else if j-1==9
fname = sprintf('\\DTW\\9.wav');
uicontrol('Style','text',...
'Position',[230 10 340 270],...
'String','识别结果为: 9 ',...
'FontSize',20.,...
'Callback',[]);
[s,fs] = wavread(fname);
sound(s,fs);
end
end
end
end
end
end
end
end
end
end
else return;
end;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -