Matlab:实现音频循环计时器
function [results,figHandle] = helperAudioLoopTimerExample( ...
setupObjectsOutsideLoop)
if nargin < 1
setupObjectsOutsideLoop = false;
end
numFrames = 100;
FrameSize = 512;
Fs = 44100;
at = audioexample.AudioLoopTimer(numFrames,FrameSize,Fs);
ticInit(at)
%% Define algorithm coefficients and objects
reader = dsp.AudioFileReader( ...
'Filename','SoftGuitar-44p1_mono-10mins.ogg', ...
'SamplesPerFrame',FrameSize);
N = 8;
G = -inf;
Q = 1.8;
Wo = 60/(Fs/2); % Notch at 60 Hz
BW = Wo/Q; % Bandwidth will occur at -3 dB
[B,A] = designParamEQ(N,G,Wo,BW);
SOS = [B', ones(N/2,1), A'];
notch = dsp.BiquadFilter('SOSMatrix',SOS);
%% Optionally perform object setup outside of the simulation look
if setupObjectsOutsideLoop
setup(reader);
setup(notch,zeros(FrameSize,1));
end
%% END initialization time measurement
tocInit(at)
%% BEGIN simulation loop
for index = 1:numFrames
ticLoop(at) % BEGIN loop timing measurement
audioIn = reader();
audioOut = notch(audioIn); %#ok
tocLoop(at) % END loop timing measurement
end
[results,figHandle] = generateReport(at);
该博文为原创文章,未经博主同意不得转。
本文章博客地址:https://cplusplus.blog.csdn.net/article/details/129303236