03 / Audio Plugin
Ultimate Distortion
Eight distortion modes in one audio effect plugin
A C++ audio effect plugin built with JUCE, combining eight distortion modes with intensity, dry/wet mix, tone, and output controls.
- Type
- Audio effect plugin
- Built with
- C++ · JUCE
- Processing
- 8 distortion modes · Mono / stereo
- Controls
- Intensity · Mix · Tone · Output
The plugin
Ultimate Distortion brings eight forms of nonlinear audio processing into a single interface. I built the DSP engine, audio processor, and plugin interface in C++ using JUCE, with a shared set of controls for shaping each mode.

Eight distortion modes
Full-wave rectification flips the negative half of the waveform above zero; half-wave rectification removes it. Hard clipping limits the signal at a fixed threshold.
Three soft-clipping modes use different transfer functions: a piecewise curve, an arctangent curve, and a scaled hyperbolic tangent curve. Saturation uses different shaping functions for the positive and negative halves of the signal.
Bit reduction quantizes sample amplitudes into discrete levels. In this mode, the Intensity control adjusts the number of quantization intervals rather than the input gain.
Shaping the signal
Intensity provides up to 24 dB of input gain in the rectification, clipping, and saturation modes. Mix blends the original and processed signals, while Output adjusts the level from −24 to +24 dB.
Tone controls the cutoff of a Linkwitz–Riley low-pass filter at the end of the signal chain, shaping the combined output after distortion and dry/wet mixing.
Plugin integration
The processor supports mono and stereo audio. Mode selection and all four controls are exposed as host parameters through JUCE’s AudioProcessorValueTreeState, with parameter state saved and restored by the plugin.
Algorithm reference
Some of the distortion algorithms reference Hack Audio.