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