overdrive~ algorithm / overdrive~ in rnbo~

Ryu Sunkyung's icon

Hey everyone,

I'm converting some patches to RNBO and noticed that overdrive~ isn't available outside the MSP environment.

Does anyone know how overdrive~ is implemented internally, or have suggestions for a lightweight alternative that sounds similar?

I'm mainly looking for an analog tube-style saturation effect, and I'd be happy to recreate it in gen~ if I knew roughly what the algorithm was doing.

Thanks!

Namakemon's icon

RNBO Guitar Pedals package has an overdrive.

Documentation says overdrive~ is a soft clipping waveshaping function (if you intend to replicate the "intended bug" with Drive values less than 1, then I have no idea).

elizabeth collinsa's icon

Yeah this is more or less a state mismatch problem in the Python track.

deprecated exercises shouldn't reuse the same "unlock this exercise" UI - that's what's confusing people. Currently, URL access still works, but the frontend displays it as a locked exercise, so users cannot tell if it is removed or just locked.

A quick band-aid message could help, but the real fix has to be upstream: separate “deprecated/retired” and “locked/unavailable” states so that the Python track behaves consistently across all exercises.

Roman Thilenius's icon

hello bot...

i believe a softclipping starting at somewhere around 0.5 to 0.7, combined with a hard clipping, comes very close to the old object.

👽!t W∆s ∆lienz!👽's icon

you can also use any 'sigmoid' style function. for example, in gen~, you could start with 'tanh'...

you could even go to an online graph like 'Desmos', begin with the standard 'sigmoid' function or 'tanh' and modify them so that they change the sharpness of their curvature, but still remain within -1 and 1, with 0 crossing point, like so, where 'tanh' is the blue, and the standard sigmoid(but multiplied by 2, then added with '-1'), is the red:

Then after creating your own style of sigmoid, enter that same equation into gen~ and you'll have your very own saturation function. Graham Wakefield described how saturation works elsewhere on these forums, i won't remember it exactly but it was fascinating, something to the point of: as you push the signal's average power (or maybe it was RMS) level into the upper curvature part of a sigmoid(so that it is not all clipping, but only clipping larger peaks), this is where total harmonic distortion happens, which gives the nice 'color' effect the ears enjoy most from saturation.

couple more just to give you an idea, where i combined the two, then sharpen the curve with coefficients:

There's many more interesting one's in Graham's 'Generating Sound and Organizing Time' book.

Hope this can help (but not help that Python bot 🤖🤣)