Sample Reduction Request

I had an idea for a sample rate reduction effect that would work differently than the typical S+H + fast clock reducer.

In some of our plugins, we wrap significant portions of the DSP in a variable timer (Unfiltered Audio's Sandman - Making Ambient Textures - YouTube). I got this idea from the Z-DSP, which has a manual clock input. This affects the clock rate of the entire active DSP program. When changing the clock of a delay program, for example, it drops the sampling rate of the delay while simultaneously expanding the delay “time”.

In other words, instead of input->SR->output like most effects, it would be more like SR(other DSP unit)->output.

This would be a unit like a mixer channel. If it receives an input, it would sample-and-hold that in the typical fashion. However, if a unit is loaded inside of the SR unit, that unit’s DSP callback would only be called when the S+H is updated.

So, something like this pseudocode:

if(checkSampleRateClock())
{
       return internalUnitDSP() + nextInput();
}
3 Likes

Unfortunately, units generate their output in frames not samples. :sweat:

1 Like

Well, that complicates things :laughing:

It would probably just make sense to wait for the API and write some units with “variable” SR only where it would sound good then. I can’t wait to get my hands on it!

1 Like