A JSFX (Reaper) library that explores a non-skeuomorphic approach to guitar tone.
Instead of simulating physical circuits (capacitors, tubes, voltage), this project builds tone using pure mathematical functions and signal processing concepts. I call this "Tone Shading"—similar to how graphics shaders calculate color, I calculate sound.
Most amp sims try to replicate 50-year-old hardware, limiting you to the flaws and interfaces of the past.
Here, I deconstruct the guitar amp into its mathematical functions rather than simulating physical components:
- Distortion is Waveshaping: I use kernels (
tanh,sigmoid) and Chebyshev polynomials to shape harmonics, not tube simulations. - Tone Stack is EQ: I use precise digital Biquad filters, avoiding the messy interaction of passive analog circuits.
- Cabinet is Convolution: I use procedural Impulse Responses and envelope followers to shape the frequency and dynamics.
A comparison to verify that this approach produces a usable tone (it doesn't have to be "better" here).
| Sample | Description | Playback |
|---|---|---|
| Riff 1 (A) | Modern High Gain | |
| Riff 1 (B) | Modern High Gain |
🔍 Click to reveal sources
- A: Logic Pro's Amp Designer, "Modern British Stack" (Circuit Emulation)
- B: Kai's Tone Shader (Functional "Shading")
The DSP is split into three modules:
- Core (Preamp): Handles waveshaping and harmonic distortion.
- Tone Stack (EQ): A flexible 3-Band EQ.
- Output (Power Amp/Cab): Handles physically-inspired EQ and final time-domain smearing (procedural IR).
- Download this repository.
- Open Reaper.
- Create a new JSFX plugin and paste the code from the
effectsfolder.