📄 recognise_noun.m
字号:
function [out1,out2]=Recognise_noun(in,fs)
in=in./max(in);
Em=envextract(in.^2,size(in),fs,0.05);
embrace=DownSample(Em,100);
windowlong=floor(fs/500)*10;
matix=linetomatix(in,windowlong,windowlong/2);
MelMatix=MFCC_3(matix,36,fs);
load('MFCC_noun');
if(size(MelMatix,2)>70|size(MelMatix,2)<18) distance(1)=0;distance(3)=0;else distance(1)=dtw(Door1,MelMatix);distance(3)=dtw(Door3,MelMatix);end
if(size(MelMatix,2)>60|size(MelMatix,2)<15) distance(2)=0;else distance(2)=dtw(Door2,MelMatix);end
% if(size(MelMatix,2)>60|size(MelMatix,2)<13)
% distance(1)=-1;distance(2)=-1;distance(3)=-1;
% else
% distance(1)=dtw(Door1,MelMatix);distance(2)=dtw(Door2,MelMatix);distance(3)=dtw(Door3,MelMatix);
% end
if(size(MelMatix,2)>56|size(MelMatix,2)<13)
distance(4)=0;distance(5)=0;distance(6)=0;
else
distance(4)=dtw(Light1,MelMatix);distance(5)=dtw(Light2,MelMatix);distance(6)=dtw(Light3,MelMatix);
end
if(size(MelMatix,2)>110|size(MelMatix,2)<32)
distance(7)=0;distance(8)=0;distance(9)=0;
else
distance(7)=dtw(Ctrl1,MelMatix);distance(8)=dtw(Ctrl2,MelMatix);distance(9)=dtw(Ctrl3,MelMatix);
end
distance(find(distance==0))=max(distance);
out1=distance;
load('Embrace_noun');
if(size(embrace,2)>195|size(embrace,2)<38)
distance(1)=-1;distance(2)=-1;distance(3)=-1;
else
distance(1)=dtw(Door1,embrace);distance(2)=dtw(Door2,embrace);distance(3)=dtw(Door3,embrace);
end
if(size(embrace,2)>195|size(embrace,2)<58)
distance(4)=-1;distance(5)=-1;distance(6)=-1;
else
distance(4)=dtw(Light1,embrace);distance(5)=dtw(Light2,embrace);distance(6)=dtw(Light3,embrace);
end
if(size(embrace,2)>400|size(embrace,2)<190)
distance(7)=-1;distance(8)=-1;distance(9)=-1;
else
distance(7)=dtw(Ctrl1,embrace);distance(8)=dtw(Ctrl2,embrace);distance(9)=dtw(Ctrl3,embrace);
end
distance(find(distance<0))=max(distance);
out2=distance;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -