www.pudn.com > asr.rar > ENDPTDETMulti.M, change:2004-11-06,size:2709b


%%%%%%%%%%%%%%%%%% 
%% endptdetMulti.m   %% 
%%%%%%%%%%%%%%%%%% 
%% Determine if file type is matched%% 
if( isempty(Files) | (isempty(findstr(lower(CrntFile),'.wav')))) 
  msg=str2mat('Error Message: ',... 
              '  ',... 
              'Selected files are',... 
              'not in wav format.'); 
  set(cmthndl,'string',msg); 
  return; 
end 
 
%% Set parameters %% 
%%%%%%%%%%%%%%%%%%%% 
fmrate=str2num(ip1); 
if(fmrate==0 | isempty(fmrate)) 
   fmrate=128; 
   set(ip1hndl,'string',num2str(128)); 
end 
winsize=str2num(ip2); 
if(winsize==0 | isempty(winsize)) 
   winsize=256; 
   set(ip2hndl,'string',num2str(256)); 
end 
set(ip3hndl,'String','xxxx'); 
set(ip4hndl,'String','xxxx'); 
 
figure; 
 
%% Endpoint detection for a batch wave file  
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
no_of_obsv=size(Files,1); 
for j=1:no_of_obsv 
   %% load model 
    obsvfile=[Pathname Files(j,:)]; 
    obsvfile=deblank(obsvfile); 
    [sg,fs] = wavread(obsvfile); 
%    sgmax=abs(max(sg)); 
%    sg=sg./sgmax; 
 
    %erase the first 200 points, maybe the beginning includes interverence 
    sg=sg(200:length(sg)); 
 
%% clear previous figures %% 
%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
%    set(FigNumber,'CurrentAxes',fig21); 
%    cla; 
%    set(fig21,'visible','off'); 
%    set(FigNumber,'CurrentAxes',fig22); 
%    cla; 
%    set(fig22,'visible','off'); 
%    set(FigNumber,'CurrentAxes',fig); 
%    cla; 
%    set(fig,'visible','on','box','on'); 
 
    %% Show message %% 
    %%%%%%%%%%%%%%%%%% 
    slashpos=findstr(obsvfile,'\'); 
    name=obsvfile(slashpos(length(slashpos))+1:... 
              length(obsvfile)); 
    msg=str2mat('Input Parameters:        ', ... 
            ' <fmrate   >  <not used >', ... 
            ' <winsize  >  <not used >',... 
            '                         ',... 
            ' SINGLE FILE PROCESSING  ',... 
           [' File Name: ',name]); 
    set(cmthndl,'string',msg);  
    crntmsg=msg; 
 
    %% Compute Endpoints in single speech %% 
    %% it is more accurrary. 
    %%%%%%%%%%%%%%%%%%%%%%% 
    [y,N1,N2] = pepEndPoint(sg,fmrate,winsize,0); 
    %% Display Results %% 
    %%%%%%%%%%%%%%%%%%%%% 
    clf; 
    plot(sg); 
    title(name); 
    hold on; 
    drange=max(sg)-min(sg); 
    d=min(sg):drange/9:max(sg); 
    x1=N1*ones(1,length(d)); 
    x2=N2*ones(1,length(d)); 
    plot(x1,d,'g--'); 
    plot(x2,d,'r--'); 
    hold off 
        
    %% Save result if Saveflag = 1 %% 
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
    if(Saveflag==1) 
         outfile=strcat('pure_',Files(j,:));     
         outfilename=[Pathname outfile]; 
         outfilename=deblank(outfilename); 
         wavwrite(y,fs,outfilename); 
    end 
    pause; 
     
end 
return