← All modules
AvailableEffect

Amp Rig

Tube-style drive into a real cabinet.

Input · Built-in clip

124 BPM · loops

Don't have a keyboard handy? These are short MIDI clips, not recordings — they play through whichever instrument is loaded, so switching tools re-voices the same part.

Amp Rig

A guitar amp built from the FX-1 chain plus cabinet impulse responses. Ships with a real guitar take so you can hear it before you plug anything in.

AMP RIGDrive · Cab · Delay

Amp

Drive
35%
Dist Mix
100%
Tone
2.50 kHz
Presence
30%
Level
90%

Delay

Time
250 ms
Fdbk
35%
Mix
25%

Cabinet

Cabinet
ON
Mic Pos
Between
Cab Level
90%
Impulse response

Turn the cabinet off once to hear why it exists.

Output · Audio signal

Waveform appears once sound is running.

The signal leaving Amp Rig, tapped after the output stage. It's a picture of what your speakers are getting.

Preview engine (Web Audio)

Presets

Preset names do work: they teach the parameter space faster than the table below does.

InitBedroom CleanEdge of BreakupSmall Tweed Bark4x12 CrunchFuzzed Out Fuzz OutSlapback CountryDoom Cathedral

About

Most of what makes an amp sound like an amp isn't the distortion - it's the speaker. A guitar cabinet is a small, resonant, badly-behaved loudspeaker in a wooden box, and it throws away everything above about 5 kHz that makes plain distortion sound like a wasp in a jar. Amp Rig takes the FX Mini chain you can already play - drive, tone, delay - and puts a real cabinet impulse response at the end of it. The difference between Cabinet on and Cabinet off is the whole demo; there's a bypass switch on the cabinet block for exactly that reason.

The drive stage is a waveshaper, not a circuit model. We're not going to tell you it's a component-level simulation of a specific 1968 amplifier, because it isn't. It's a well-behaved saturation curve with a tone control in a sensible place and a cabinet convolution that does the rest, and in a mix it holds up better than that description suggests. If you want a tweed-versus-plexi argument, this is not that plugin.

The demo you're hearing is an amateur electric guitar recording, dry and unpolished on purpose - a clean DI-ish take shows what the chain is actually doing far better than a professionally produced clip would. It's public domain, and you can drop your own file in with the Your file chip, which decodes locally and never uploads anything.

Take it into your DAW.

macOS (arm64 · x64)Windows (x64)Linux (x64)
Same DSP as this page. The plugin isn't a rebuild — it's the identical kernel from the identical TypeScript source, compiled native instead of to WASM.

Free forever, no account, and playing it in the browser will never ask you for one. VST3 and standalone today; AU and CLAP are on the roadmap.

Every knob, and what it actually does.

Generated from the module's parameter schema — the same source as the web UI, the worklet transport and the VST3 parameter table, so it cannot drift.

ParamRangeDefaultUnitsWhat it doesAutomatable
Amp
Drivedistortion.drive0 … 10.35How hard the input hits the saturation curve. Below about 0.2 it's a clean boost; above about 0.7 the note's attack disappears into the sustain.Yes
Dist Mixdistortion.wet0 … 11Blend of driven against clean. Pull it back for the parallel trick that keeps pick attack while the rest melts.Yes
Tonetone.cutoff200 … 80002500HzLow-pass after the drive - the amp's tone stack. This is the single most useful knob for making a patch sit in a mix.Yes
Presenceamp.presence0 … 10.3High-shelf lift after the tone stack, before the cabinet. Adds string noise and air; too much brings the wasp back.Yes
Cabinet
Cabinetcab.enabledoff · ononThe impulse response convolution. Turn it off once to hear why it exists, then turn it back on.Yes (stepped)
IRcab.ir1x12 Combo · 2x12 Open Back · 4x12 Closed · Small Tweed · Direct4x12 ClosedWhich cabinet. Bigger boxes give more low end and a duller top; Direct bypasses the convolution with a gentle roll-off instead.Yes (stepped)
Mic Positioncab.micPos0 … 10.35Sweeps the virtual mic from dust cap (0, bright and nasal) to cone edge (1, dark and thick). Crossfades between captured IR positions.Yes
Cab Levelcab.level0 … 10.9Output of the cabinet stage. Convolution changes loudness a lot between IRs; this is where you fix that.Yes
Delay
Timedelay.time0.02 … 10.25sRepeat spacing. Under about 0.05 s it stops being a delay and starts being a comb filter, which is also fine.Yes
Feedbackdelay.feedback0 … 0.90.35How much of each repeat feeds back. Capped below 1 on purpose so it can't run away.Yes
Delay Mixdelay.wet0 … 10.25Level of the repeats against the dry amp.Yes
Master
Levelmaster.level0 … 10.9Final output. Drive changes perceived loudness enormously; trim here when you A/B.Yes

Parameter paths (filter.cutoff) are what you'll see in your DAW's automation list and in the SDK. Same names everywhere.

How it works.

Signal order is drive into tone into presence into the cabinet IR into delay into level. The drive stage is a static waveshaper: a fixed nonlinear curve, oversampled so the harmonics it generates fold back in as little as possible rather than aliasing into ugly inharmonic junk. Tone is the same biquad low-pass FX Mini uses, sitting after the distortion where an amp's tone stack sits. Presence is a high shelf just before the speaker.

The cabinet is a partitioned convolution against a recorded impulse response - literally the measured response of a real speaker in a real box with a real microphone in front of it. Convolving your signal with that recording imposes the cabinet's frequency response and time smear onto whatever you play. It's the least clever stage in the chain and by far the most important to the sound. Mic Position crossfades between two captured positions rather than modelling mic movement, so extreme settings are interpolations, not measurements.

The delay sits after the cabinet on purpose, so repeats don't get re-filtered on every pass and turn to mud - which is what happens on real rigs with the pedal in front, and is occasionally what you want. It's a single-tap feedback delay with the feedback capped below unity.

Latency: convolution is partitioned, so the plugin reports its exact block latency to the host and your DAW compensates. The number will be published with the first build rather than guessed at here.

It's yours to read and to fork.

Research preview

npx codex clone amp-rig
npm run dev

The codex CLI name is proposed, not shipped. That command gives you this module's DSP, schema, presets and UI as a local project — change a number, hear it immediately.

@codex-music/audio-kernels · profiles/fx1-chain.profile.json + IR convolver · ABI scfx_

Goes well with.

Available
Drive, tone, and a delay that knows when to stop.

Effects

Runs onlineVST3
Guitar takeMicDemo phrase
Available
A small subtractive synth with nothing to hide.

Instruments

Runs onlineVST3
KeyboardMIDIDemo phrase
Available
Bit depth, sample rate, and bad decisions.

Effects

Runs onlineVST3

Part of OSC-1

KeyboardMIDIDemo phraseGuitar takeMic