Smoothing output in delay plugin
1 次查看(过去 30 天)
显示 更早的评论
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 个评论
采纳的回答
Brian Hemmat
2021-4-25
The example plugin, audiopluginexample.DampedVolumeController, might be helpful for this issue.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Audio Plugin Creation and Hosting 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!