Processing 2 effects at once?


In my attempt to program the daisy seed in c++ i am currently trying to process 2 effects simultaneously. Not knowing if this is even possible i have tried a few approaches.

I am using the predefined class for chorus and the hard/soft-clip function for overdrive, and i am trying to combine them, so i get both chorus and overdrive at the same time.

My thought was to input the overdrive function containing the audio buffer into the chorus function, like this:

out[0][i] = ch.Process( hardClip(in[0][i]) );

But im just getting the chorus effect. I’ve tried inserting the different functions in different places in the processing chain but getting the same result.

Perhaps more buffers are needed to store the signal before processing the different parts?

Not much seems to work atm. So if anyone has advice would be much appreciated.


I don’t see a hardClip() function in DaisySP.

SoftClip() isn’t really an effect, it’s used to prevent a way too hot signal from hard clipping, which would sound nasty.

Ah was probably phrasing it a bit unclear. The clipping functions are not part of the daisySP library, but just functions in the petal ‘distortion’ code that i have copied into my own program. The hardclip function is just a short function that clips the signal when a certain threshold value is reached

The hardClip() function does nothing on signals between -1.0 and 1.0, and your input never exceeds that range.

To hear it, you’d need something like:

out[0][i] = ch.Process( hardClip(10 * in[0][i]) );

Yup this was the problem. Thanks for taking your time to help out :slight_smile:

1 Like