我們可以將音訊通過截止頻率為 1000 Hz 的低通濾波器,看是否能夠把過濾高音,範例如下:
cutOffFreq=1000; % Cutoff frequency
filterOrder=5; % Order of filter
au=myAudioRead('wubai_solicitude.wav');
[b, a]=butter(filterOrder, cutOffFreq/(au.fs/2), 'low');
au.signal=au.signal(60*au.fs:90*au.fs); % 30-second signal
y=filter(b, a, au.signal);
% ====== Plot the result
time=(1:length(au.signal))/au.fs;
subplot(2,1,1);
plot(time, au.signal);
subplot(2,1,2);
plot(time, y);
% ====== Save output files
myAudioWrite(au, 'wubai_solicitude_orig.wav');
au.signal=y;
myAudioWrite(au, sprintf('wubai_solicitude_%d.wav', cutOffFreq));
我們可以聽看看原訊號和濾波器輸出訊號的差異:
可以很明顯地聽到,高音部分都幾乎被刪除了。
|