www.pudn.com > asr.rar > ENERGY.M, change:2004-11-06,size:2147b
%%%%%%%%%%%%%%%
%% energy.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=100;
set(ip1hndl,'string',num2str(100));
end
winsize=str2num(ip2);
if(winsize==0 | isempty(winsize))
winsize=150;
set(ip2hndl,'string',num2str(150));
end
set(ip3hndl,'String','xxxx');
set(ip4hndl,'String','xxxx');
%% clear plot area %%
%%%%%%%%%%%%%%%%%%%%%
set(FigNumber,'CurrentAxes',fig);
cla
set(fig,'visible','off');
%% Start file processing %%
%%%%%%%%%%%%%%%%%%%%%%%%%%%
no_file=size(Files,1);
for i=1:no_file
%% clear previous figures %%
set(FigNumber,'CurrentAxes',fig21);
cla;
set(FigNumber,'CurrentAxes',fig22);
cla;
%% Read in and plot wave file(s) %%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
filename=[Pathname Files(i,:)];
filename=deblank(filename);
CrntFile=filename;
[sg,fs] = wavread(filename);
set(FigNumber,'CurrentAxes',fig21);
plot(sg);
msg=str2mat('Input Parameters: ', ...
' <fmrate > <not used >', ...
' <winsize > <not used >',...
' ',...
[' File Name: ',Files(i,:)]);
set(cmthndl,'string',msg);
crntmsg=msg;
%% Estimate average energy %%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
energyest=avgmag(sg,fmrate,winsize);
%% plot results %%
%%%%%%%%%%%%%%%%%%
set(FigNumber,'CurrentAxes',fig22);
plot(energyest);
pause(1);
%% Save result if Saveflag = 1 %%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
if(Saveflag==1)
[outfile,outpath]=uiputfile('*.egy',...
'Save Energy Curve To A File');
if(outfile ~= 0)
outfile=strcat(outfile,'.egy');
outfilename=[outpath outfile];
eval(['save ' outfilename ' energyest -ascii;']);
end
end
end