Cabbage Logo
Back to Cabbage Site

Fuzz distortion

Has anyone here built a fuzz distortion? Seems like a relatively obscure/difficult thing to build, especially in Csound… Any help is appreciated

I’m sure it could be done. Have you looked at the distortion opcodes in Csound? There are quite a few. Also, check out this waveshaping tutorial. Some waveshaping with a tanh function gives a pretty nice overdrive. Do you have a fuzz pedal you are trying to model?

I have been messing with the distort and distort1 opcodes, but not super pleased with my results thus far. I have not seen that tutorial, will check out right now, thanks!

I think you will get better results using your own transfer functions.

Those tutorials were very helpful, thanks!

I dont have a tutorial, but the one time I tried to make a multiband compressor in Csound, I got fuzz-like results when I pushed the compression way up and focused on mid-range bands. The extreme version of the effect, basically. Almost like brickwall limiting using dam or similar.

For a typical overdrive style distortion, I made a REALLY simple tanh UDO wrapper, you can get it here if you’d like to check it out:
https://raw.githubusercontent.com/tgrey1/Flex-Cabbage/master/includes/udo/tanh.udo.csd

It basically takes audio in (mono or stereo version) and a k-rate “drive” setting that should be between 0 and 1. It adjusts pre and post gain levels feeding into tanh to keep a roughly “balanced” output level, but if you want to tweak it, you can adjust:

#define TANH_PRE_MIN #-3#
#define TANH_PRE_MAX #50#

#define TANH_POST_MIN #3#
#define TANH_POST_MAX #-27#

Another option I’m fond of is Steven Yi’s “tubewarmth” opcode, which is available here:
http://www.csounds.com/udo/displayOpcode.php?opcode_id=80