Audio DSP

JUCE guitar amp VST

A C++/JUCE guitar amplifier plugin that loads the same JSON patch format as the browser engine.

Published

  • C++
  • JUCE
  • VST3
  • JSON

What it is

A guitar amp simulation written in C++ with the JUCE framework and built as a VST plugin for desktop audio software. It is the native counterpart to GK Heart Engine: the plugin reads the same JSON patch description, so a tone can move between the browser and a DAW.

How it is built

An amp model is a chain of stages: input gain, tone shaping filters, non-linear waveshaping for distortion, and speaker-cabinet style filtering. Each stage is a small C++ class with a prepare/process/reset lifecycle, so the chain can be reordered or extended from the JSON description without touching the audio callback.

JUCE handles the host integration (parameter automation, state save and restore, the editor window), which keeps the custom code focused on DSP and on translating JSON into the internal parameter tree.

Why a shared format matters

Maintaining two separate implementations of the same sound is where drift creeps in. Describing the chain once and loading it in both runtimes means a fix in the schema reaches both places, and a test patch can be rendered in each to compare the output.

The C++ is written by hand; the shared schema is what keeps the two runtimes honest, with test patches rendered in both and compared.

Related