Model of the classic Ibanez Tube Screamer 808 using Nodal Analysis and Wave Digital Filters (WDF) with a few new features added!
Plugins currently available are:
- Standalone
- VST3
- AU
- AUv3
- LV2
- CLAP
# clone repository
git clone https://github.com/grawlinson/JS-808-Ultra.git && cd JS-808-Ultra
# setup all submodules
git submodule update --init --recursive
# setup cmake & start building!
cmake -B build -S . && cmake --build build
# plugins should be found in the following directory
cd build/JS-808-Ultra_artefacts/Release
The circuit schematics of the TS808 Ultra are based off Electrosmash's analysis.
Jatin Chowdury's WDF library was used to simulate the clipping stage of the TS808. The clipping stage of the TS808 can be broken down into 3 WDF stages based on ideal opamp circuit analysis. This is demonstrated in this paper and is shown below:
The tone circuit analog transfer function can be found by nodal analysis, and is shown in section 4.3 on page 6 of this paper. The analog transfer function can then be converted into a digital transfer function using the bilinear transform. No frequency warping was used in the plugin, as it was found no frequency warping produces a better sound.
A comparison between the analog and digital transfer function for the tone circuit is seen below:
To make the iconic tube screamer circuit more usable in applications other than in front of a guitar amp the following is added to the plugin:
- Input Gain.
- Mix.
- Direct Low Pass Filter.
- Direct Compression.
- Output Gain.
These extra features are implemented in the digital domain.
The drive potentiometer is modelled with the following function, which emulates a classic audio taper potentiometer:
According to Electrosmash's analysis, the physical Tube Screamer uses a G taper potentiometer. However, during development, it was found an inverse log taper allows for more control of the upper settings, so the inverse log taper potentiometer emulation below is used in the plugin.