Smoothing output in delay plugin
1 view (last 30 days)
Show older comments
Pablo Panitta
on 20 Apr 2021
Edited: Pablo Panitta
on 27 Apr 2021
Hi
I´m trying to simulate audio room reflection using dsp.VariableIntegerDelay ,where distance parameter dictates the delay amount. The issue I´m experiencing are the glitches and artifacts every time I change the "distance" parameter fast. As I´m thinking in a plugin where the objects can be moved, I need to solve this.
I understand that this can be overcome, smoothing the output (or may be "distance" parameter?), but I don´t find the way of how to implement it here.
I would really appreciate If anybody can give me a hint or propose an alternative solution / method.
Thanks
Pablo
classdef Delay_Test< audioPlugin
properties
distance=1;
end
properties (Access = private)
FractionalDelayDI
delayInSamplesDI
pSR
end
properties (Constant)
PluginInterface = audioPluginInterface('PluginName','Delay_Test',...
'InputChannels',2,'OutputChannels',2, ...
audioPluginParameter('distance',...
'DisplayName','',...
'Mapping',{'lin',0.5,19.5},...
'Label','mts'));
end
methods
function plugin=Delay_Test
plugin.pSR = getSampleRate(plugin);
plugin.FractionalDelayDI = dsp.VariableIntegerDelay('MaximumDelay',65535);
needtocalculateDelay(plugin);
end
function out=process(plugin,in)
echo=plugin.FractionalDelayDI(in,plugin.delayInSamplesDI);
out=in+echo;
end
function set.distance(plugin, val)
plugin.distance = val;
needtocalculateDelay(plugin);
end
function needtocalculateDelay(plugin)
plugin.delayInSamplesDI=(plugin.distance/330)*plugin.pSR;
end
function reset(plugin)
reset(plugin.FractionalDelayDI);
end
end
end
0 Comments
Accepted Answer
Brian Hemmat
on 25 Apr 2021
The example plugin, audiopluginexample.DampedVolumeController, might be helpful for this issue.
More Answers (0)
See Also
Categories
Find more on Audio Plugin Creation and Hosting in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!