www.pudn.com > voiceprocessingtoolbox.rar > epDetect03.m


wavefile='清華大學資訊系.wav'; 
[wave, fs, nbits] = wavReadInt(wavefile);	% wave 是整數 
 
frameSize = 256; 
overlap = 128; 
 
wave=wave-mean(wave);				% 零點校正 
frameMat=buffer2(wave, frameSize, overlap);	% 切出音框 
frameNum=size(frameMat, 2);			% 音框的個數 
sumAbs=sum(abs(frameMat));			% 計算音量 
sumAbsDiff1=sum(abs(diff(frameMat))); 
sumAbsDiff2=sum(abs(diff(diff(frameMat)))); 
sumAbsDiff3=sum(abs(diff(diff(diff(frameMat))))); 
 
subplot(5,1,1); 
time=(1:length(wave))/fs; 
plot(time, wave); ylabel('Amplitude'); title('Waveform'); axis([-inf inf -2^nbits/2 2^nbits/2]); 
subplot(5,1,2); 
frameTime=frame2sampleIndex(1:frameNum, frameSize, overlap); 
plot(frameTime, sumAbs, '.-'); title('sum(abs(frameMat))'); axis tight 
subplot(5,1,3); 
plot(frameTime, sumAbsDiff1, '.-'); title('sum(abs(diff(frameMat)))'); axis tight 
subplot(5,1,4); 
plot(frameTime, sumAbsDiff2, '.-'); title('sum(abs(diff(diff(frameMat))))'); axis tight 
subplot(5,1,5); 
plot(frameTime, sumAbsDiff3, '.-'); title('sum(abs(diff(diff(diff(frameMat)))))'); axis tight