22-2 ???基?聲學特?

bR@qTɡAڭ̳q`NTuA٬ء]frame^Aq`@ӭإ]tƭӰ򥻶g]fundamental period^A~R^TSxCۧڭ̴NiHq@ӭؤnǯSx]acoustic features^AHKii@BRCq`ڭ̤\ةMؤiH|AӨCX{ؼƫh٬زv]frame rate^AزvVAhһݭnp귽VjCHUOq@qTXhӭتܷNϡG


5.GѤ@qTXءC

ڭ̤Hť@qTAߧYiHPSʦq]volume^B]pitch^M]timbre^Aڭ̭nϥιqӤRTANϥμƾǤӴyzWCSʡAHuGvHժPıCoǥѨC@ӭةҩXӪƭȩΦVqN٬nǯSx]acoustic features^ApUC

WznǯSxA{bɰ쪺iΤ譱AiHܦpUG


5.GnǯSxܩɰ쪺{C

Example 3: frameDisp4fea01.mwaveFile='taiwan.wav'; au=myAudioRead(waveFile); n=2; au.fs=au.fs/n; au.signal=au.signal(1:n:end, 1); % Down sampling index1=round(0.66*au.fs); frameSize=256; index2=index1+frameSize-1; frame=au.signal(index1:index2); % Take the frame for display subplot(2,1,1); plot(au.signal); grid on %xlabel('Sample index'); ylabel('Amplitude'); title(waveFile); xlabel('Iޭ'); ylabel('iήT'); axis([1, length(au.signal), -1 1]); line(index1*[1 1], [-1 1], 'color', 'r', 'linewidth', 1); line(index2*[1 1], [-1 1], 'color', 'r', 'linewidth', 1); subplot(2,1,2); plot(frame, '.-'); grid on %xlabel('Sample index within the frame'); ylabel('Amplitude'); xlabel('ؤIޭ'); ylabel('iήT'); axis([1, length(frame), -1 1]); boxOverlay([60.5 -0.7 52 1.4], 'r', 1, 'G򥻶gi', 'top'); %boxOverlay([60.5 -0.7 52 1.4], 'r', 1, '', 'top'); subplot(211); loc1=get(gca, 'position'); subplot(212); loc2=get(gca, 'position'); % ===== arrow 1 x1=[loc1(1)+(index1(1)-1)/(length(au.signal)-1)*loc1(3), loc2(1)]; y1=[loc1(2), loc2(2)+loc2(4)]; ah=annotation('arrow', x1, y1, 'color', 'r', 'linewidth', 1); % ====== arrow 2 x2=[loc1(1)+(index2-1)/(length(au.signal)-1)*loc1(3), loc2(1)+loc2(3)]; y2=[loc1(2), loc2(2)+loc2(4)]; ah=annotation('arrow', x2, y2, 'color', 'r', 'linewidth', 1);

YOϥ FFTN@ӭتTনTWСAWznǯSxiHܦpUG


5.GnǯSxܩW쪺{C

Example 4: frameDisp4fea02.mwaveFile='taiwan.wav'; au=myAudioRead(waveFile); n=2; au.fs=au.fs/n; au.signal=au.signal(1:n:end, 1); % Down sampling index1=round(0.66*au.fs); frameSize=256; index2=index1+frameSize-1; frame=au.signal(index1:index2); % Take the frame for display frameBasic=frame.*hanning(frameSize); frameExtended=zeros(8*frameSize, 1); frameExtended(1:frameSize)=frameBasic; [magSpec, phaseSpec, freqVec, powerSpecInDb]=fftOneSide(frameExtended, au.fs); figure; plot(freqVec, powerSpecInDb); grid on %title('Power spectrum'); %xlabel('Frequency (Hz)'); ylabel('Power (dB)'); axis tight %xlabel('Wv (Hz)'); ylabel('T (dB)'); order=10; p=polyfit(freqVec/max(freqVec), powerSpecInDb, order); f=polyval(p, freqVec/max(freqVec)); line(freqVec, f, 'color', 'g', 'linewidth', 2);

@qTتXAڭ̴NiHwCӭبөnǯSx]iO@ӼƭȡAҦpqάOAάO@ӦVqAҦpWЩάO MFCC^APη|ݭnΨ줣PnǯSxAq۰ʦapoǯSxA~i@Bi򪺤RΤCHUUp`NTѪUΡAHΥiΨ쪺nǯSxάDzߤkC

@~

  1. @qTWvO 16 kHzAYOت׬O 320 ӨIAЦ^UCDG
    1. pGؤ|O 120 IAزvOH
    2. pGزvO 100 frame/secAhؤ|ӬOXIH
  2. ]ڱqڪyTX@ӭءApUϡCpGWvO 8 kHzAЭpoӭتWvC]b򥻶gӶi業ɡA򥻶gӼƥVhVnAHDíwC^


    5.GХѦحpWvC

  3. бqWMTAӸUCW]кɶqϥμƾǤ{ӻ^Aûb`ͬAɷ|JoDz{HG
    1. W]beat frequency^
    2. Ǯ]Doppler effect^

Audio Signal Processing and Recognition (TBzP)