/JS-808-Ultra

Model of the classic Ibanez Tube Screamer 808 using Nodal Analysis and WDF with a few new features added!

Primary LanguageC++GNU General Public License v3.0GPL-3.0

JS-808-Ultra

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

Screenshot of the JS-808-Ultra plugin

Building

# 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

Basis of circuits simulated

The circuit schematics of the TS808 Ultra are based off Electrosmash's analysis.

Clipping Circuit

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:

WDF implementation of TS-808

Tone Circuit

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:

TS-808 tone analog vs digital simulations

Other features

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.

Potentiometers

Drive

The drive potentiometer is modelled with the following function, which emulates a classic audio taper potentiometer:

audiotaper

Tone

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.

inverselogtaper