Matlab:实现音频循环计时器(附完整源码)

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

源代码大师

赏点狗粮吧

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值