Working on implementing the modulated APF from the book (11.27 figure) and just wanted to check about the structure of it --
I was thinking I would just run an LFO within the current APF structure and check the current value every time I run processAudio, then instead access the modulated delay index directly of the APF while processing the frame. The new value would be the original value in samples +/- the current scaled LFO value.
Is this a good way of thinking about it?
I know it's only supposed to modulate "at the end of the delay line" but that part confuses me a bit.
That modulationÂ is kind of like a special very low depth chorus modulation. I would implement this as a bipolar modulation about the center of the modulation range. This equation is setup for a floating point modulator so you will get a integer + fractional component, as shown in the circular buffer chapter. It will be up to you whether or not to do interpolation on this. The generalized equation I use for chorusing is:
float range = (MAX_DELAY - MIN_DELAY) / 2.f;
float midpoint = range + MIN_DELAY;
float delaySample =Â LFOValue*(range) + midpoint;
MAX_DELAY: length of delay line
MIN_DELAY: the minimum delay time (MAX_DELAY - delayDepth in samples)
LFOValue: the output of a bipolar LFO [-1.0, +1.0]
I think the book lists very low depths of around +/-8 samples or so, therefore the delayDepth above would be 16 for the +/-8 version. So, the range would be 8 in the above equations.Â
Not to double post but I figured this was acceptable given the time passed -- I'm looking at modulating a filter by a pretty substantial amount of time (min 3.0mS, max 15.0mS) to get a spacey modulated reverb sound, any suggestions on how to remove artifacts?
I was looking at storing the last read index from frame to frame then interpolating from that instead of simply interpolating the value one index earlier.
EDIT: did that with linear interpolation, exploring other options because the jumps still cause some artifacts.
Most Users Ever Online: 152
Currently Browsing this Page:
Guest Posters: 2
Newest Members:F_Marchal, plenge, Kevin_1, jkarstedt, JohnW, Sean, loss1234, Murray J, Dave, jclounge
Moderators: W Pirkle: 698