www.pudn.com > SpeechTestDTW.rar > SpeechTest.m


function SpeechTest 
clear; 
fprintf('begin \n'); 
FS=22050; 
time=2; 
y=wavrecord(time*FS,FS,1); 
fprintf('end \n'); 
%   fname=sprintf('Ref9.wav'); 
%   y=wavread(fname); 
% disp(fname); 
[tx1,tx2,tframe]=FrameDetect(y,FS); 
% tvector=ones(12,tx2-tx1+1); 
for i=1:tx2-tx1+1 
     [tA,tB,tK,tR]=Durbin(tframe(i,:)); 
%     tA=abs(lpc(tframe(i,:),12)); 
%     tC=Cepstrum(tA',60); 
    tvector(:,i)=tA'; 
end 
 
distance=zeros(10,1); 
 
for j=1:10 
    clear rvectortemp; 
    clear rvector; 
    clear rc; 
    filename=sprintf('%d.mat',mod(j,10)); 
    fid=fopen(filename,'r'); 
    if fid==-1  
        fprintf('Can''t open the file!\n'); 
        return; 
    end 
    rc=fread(fid,2,'int32');   
    [rvectortemp,count]=fread(fid,'double'); 
    fclose('all'); 
    if count==0 
        fprintf('Read Error!\n'); 
        return; 
    end 
    rvector=reshape(rvectortemp,rc(1),rc(2)); 
    distance(j)=dtw(tvector,rvector); 
end 
 
distance=distance/sum(distance); 
[error,result]=min(distance); 
fprintf('The result is %d\n',mod(result,10)); 
% fname=sprintf('ref%d.wav',mod(result,10)); 
% soundplay(fname); 
disp(distance'); 
%end