BellyDSP

Free and open source. macOS and Windows.

A guitar amp sim and multi-effects app.

Plug your guitar into an audio interface and play through neural amp captures, a three-mic cab, drives, and a full set of effects, with a tuner, presets, scenes, and MIDI footswitch control. Every block runs with zero added latency.

The BellyDSP window on the Amp page: the shelf of eight small amp heads along the top, the Glass amp head with its seven knobs, the output spectrum below it, the input, gate, and output controls, and the signal chain along the bottom.

What it does

One signal chain, in this order. Click a block in the app to open its page, or its dot to bypass it.

InputPre FXAmpEQCabPost FXOutput

Eight amps, one at a time

Glass, Ember, Monolith, Lantern, Basalt, Comet, Forge, and Quartz, from clean to a saturated lead, each with a head of its own. Pick one from the shelf of small heads at the top of the Amp page, or with a MIDI footswitch (program change 1 to 8). Each amp remembers its own knobs, and its Gain blends five captures across the knob, so it changes how hard the amp distorts, not just how loud it is.

Only the amp you hear runs; a switch fades the new one in about a tenth of a second later, without a click. The amps are NAM captures trained from BellyDSP's own amp models, not captures of real amps. Load your own .nam file as a ninth.

A cab with mics you can move

Two close mics and a stereo room mic, each an impulse response with level, pan, polarity, delay, and mute, with automatic phase alignment and low and high cuts. Load a cab pack and drag a close mic across the speaker to morph between positions.

21 public-domain (CC0) cab IRs are built in, from a vintage and a modern 4x12. Load your own .wav IRs too.

Pre FX

  • Gate before the amp and after it, linked, listening to the clean guitar signal, with adaptive release and a Learn button
  • Compressor, in a studio and a pedal style
  • Boost and overdrive, modelled from circuit schematics and oversampled, with several modes each
  • EQ: a 9-band graphic or a 5-band parametric

Drag the blocks to reorder them.

Post FX

  • EQ and compressor
  • Harmonizer: up to four voices in key, reading the pitch from the clean guitar signal
  • Multivoicer: up to eight voices for stacks and doubles
  • Bloom: bitcrusher, phaser, and flanger in one block, in any order
  • Chorus, delay (digital, analog, tape; stereo, ping-pong, dual; ducking), and reverb (room, hall, plate; freeze; shimmer)

Delay and reverb tails ring on when you switch them off. Drag to reorder.

Tuner, tempo, presets, scenes, MIDI

  • A tuner with a needle on a ±50 cent scale, four tunings, A4 from 430 to 450 Hz, and a mute
  • One tempo, tapped from the panel or a footswitch; delay, chorus, phaser, flanger, and reverb pre-delay can sync to it
  • Presets with eight scenes each, undo and redo, A/B compare, and five factory presets
  • Right-click any control to MIDI-learn a footswitch or an expression pedal; mappings save with the preset

Match tone

Load a song, pick a section where the lead guitar stands out, and BellyDSP sets the amp, its Gain and tone, a pedal and compressor if they help, the cab, and a fine correction curve to get close to that recording. It can pull the guitar out of a full mix first. Play the part along with the song (with a count-in) and it compares your notes with the recording's one by one, and can use them to clean the rest of the band out of the recording.

Switch between the song, the match, and your current sound before you apply it. Applying is one undo step.

A real-time audio engine

Zero added latency. The one exception is opt-in: the flanger's through-zero setting delays the signal by 5 ms while it's switched on, and says so. The audio thread never allocates memory, frees it, or waits on a lock, and an automated test checks that for every feature. The default rig uses about 6% of the time a 128-sample buffer allows on the developer's Apple silicon Mac, and every block on at its heaviest about 22%. A CPU saver switch on the Output page helps older computers.

It runs at 48 kHz, the rate NAM captures are trained at.

New in 0.2.0

Already installed? BellyDSP updates itself. The full list is on the download page.

Eight amps, one at a time

Five more built-in amps, Lantern, Basalt, Comet, Forge, and Quartz, join Glass, Ember, and Monolith, each with a head of its own. Pick one from a shelf of small heads; each remembers its own knobs. Only the amp you hear runs, so the amp section uses far less CPU.

A closer Match tone

After you play along, it compares your notes with the recording's one by one, tries pedals and a compressor in front of the amp, and adds a fine correction curve after the cab. It can also clean the rest of the band out of the recording using your take. Measured on BellyDSP's own test set of hidden rigs, it gets closer than 0.1.0 did.

Lighter on slower computers

The amp models run about twice as fast. A CPU saver switch for older machines idles the drives you aren't using, runs them at lower oversampling, and steps the Gain, cutting the app's CPU by about a third to a half.

A look around

Snapshots of the app, rendered by its own test suite.

Free and open source

BellyDSP is free software under the GNU Affero General Public License, version 3 or later (AGPL-3.0-or-later). You can use it, study it, change it, and share it. It comes with no warranty.

Every release is built from a commit that's public and tagged first, so the exact source of every download is on GitHub. In the app, BellyDSP (top left) > Source code for this version opens it.

Bring your own tones

The amps are NAM captures: load any amp-only .nam file as your own amp, or make your own with NAM's open trainer. The cab takes any impulse response as a .wav file. Presets remember which files they use and find them again if you move them.

The built-in IRs are public domain (CC0). The built-in captures are Sean's, under CC BY 4.0.

Credits

BellyDSP is made by Sean Snaider and stands on these open projects. Their licences ship with the app (BellyDSP > About / licenses).

NeuralAmpModelerCore
The official engine of NAM (Neural Amp Modeler), by Steven Atkinson. It runs every amp capture. MIT licence.
JUCE
The framework for audio, the app window, and the interface, used under the AGPLv3.
Eigen
The linear algebra library NAM runs on. MPL 2.0.
nlohmann/json
Reads NAM's capture files. MIT licence.
Sparkle and WinSparkle
The updaters on macOS and Windows. MIT licence.
Geist and Fraunces
The typefaces in the app (Geist on this site too, served from here). SIL Open Font License.
Jester Dyne Productions
The built-in cab IRs, by Bastian Karschewski, released into the public domain (CC0). Thank you.
Claude Code
Sean designed and directed BellyDSP, decided how it should work and look, and plays it; Anthropic's Claude Code wrote much of the code, the tests, and this site under his direction.