Presets

Save, load & write tones

Presets are plain .toml files. Load one while playing, save your own without restarting, or hand-write a preset from scratch.

Where presets live

rusty-amp searches these directories, in order:

  1. ./presets/ — bundled presets (read-only, shipped with the repo).
  2. ~/.config/rusty-amp/presets/ — your personal presets.

Press P while playing to open the preset browser. Press S (from anywhere) to save the current state as a new user preset. The browser updates instantly — no restart required.

Bundled presets are marked as system presets and cannot be deleted from within the app. User presets show a [user] tag and can be deleted with D.

Preset browser (P)

Press P while playing to open the browser overlay. Move the cursor with / and press Enter to apply — the change takes effect immediately, with the audio uninterrupted.

Presets
metallicaMarshall JCM800 · Marshall Greenback
panteraRandall Warhead · Mesa V30
slipknotMesa Dual Rectifier · Mesa V30
my lead toneMesa Dual Rectifier · Mesa V30user
/ navigate Enter apply S save D delete Esc close
/ Navigate the preset list
Enter Apply the selected preset (audio uninterrupted)
S Open the save dialog for the current state
D Delete the selected preset (user presets only)
Esc / P Close without changing anything

User presets are marked with a [user] tag in the list. The D hint appears in the footer only when the cursor is on a deletable preset.

Save dialog (S)

Press S from anywhere to capture the current rig as a new preset. Tab moves between the two fields; Enter writes the file.

Save preset
Name
My Lead Tone
Description
Sustain-focused, delay + reverb…
Tab switch field Enter save Esc cancel
Tab Switch between Name and Description
Enter Save the preset and return to the browser
Esc Cancel without saving

The preset is written to ~/.config/rusty-amp/presets/<name>.toml and appears in the browser immediately — no restart required.

Bundled presets

File Amp Cabinet Description
metallica.toml Marshall JCM800 Marshall Greenback Hetfield's rhythm tone — TS clean boost, scooped mids, bone dry
pantera.toml Randall Warhead Mesa V30 Dimebag's rhythm tone — DS-1, deep mid-scoop, Furman PQ-3 EQ
pantera_floods.toml Randall Warhead Mesa V30 Floods solo — DS-1 light, open mids, delay + reverb
slipknot.toml Mesa Dual Rectifier Mesa V30 Mick Thomson / Jim Root — TS boost, modern EQ scoop, full saturation
death.toml Mesa Dual Rectifier Mesa V30 Chuck Schuldiner — TS boost, mids-up for note clarity
slayer.toml Marshall JCM800 Marshall Greenback Hanneman & King's thrash assault — cranked JCM800, extreme mid-scoop, zero mercy
metalcore_shred.toml Mesa Dual Rectifier Mesa V30 Modern metalcore shred — ML-2 tight boost, djent-adjacent EQ, slapback delay
solo_seeker.toml Mesa Dual Rectifier Mesa V30 Lead tone — sustain-focused, delay + reverb, on-axis mic for pick-attack clarity
clean_melodic.toml Marshall JCM800 Marshall Greenback Warm glassy clean — gentle compression, edge-of-breakup gain, delay + hall reverb
disturbed.toml Mesa Dual Rectifier Mesa V30 Dan Donegan's nu-metal chug — TS boost, scooped-but-punchy grind, bone-dry rhythm
deftones.toml Mesa Dual Rectifier Mesa V30 Stephen Carpenter's thick, warm wall — un-scooped mids, compressed, chorus + reverb wash
crowbar.toml Marshall JCM800 Orange PPC412 (V30) Kirk Windstein's NOLA sludge — TS tightening boost, forward low-mid wall, cavernous room
cosmic_lead.toml Marshall JCM800 Mesa V30 Floating synth-like lead — octave-up whammy shimmer, liquid phaser swirl, deep delay + reverb wash
alice_in_chains_would.toml Mesa Dual Rectifier Mesa V30 Moody, dark lead — subtle wah sweep and slow phaser movement
detuned_doom_wash.toml Marshall JCM800 Orange PPC412 (V30) Seasick stoner-doom — octave-down whammy sub, Big-Muff fuzz wall, slow deep phaser, cavernous reverb

Writing your own preset

A preset is a TOML file. Every section except [tube_screamer], [amp], and [reverb] is optional — omitting a section leaves that effect's current state unchanged. All knob values are normalised 0.0–1.0.

name        = "My Preset"
description = "Optional one-line description shown in the preset browser."

# All sections except [tube_screamer], [amp], and [reverb] are optional.
# Omitting a section leaves that effect's current state unchanged.

[noise_gate]
enabled   = true    # optional, defaults to true
threshold = 0.20    # 0.0 – 1.0  (0 = barely open, 1 = always open)
release   = 0.30    # 0.0 – 1.0  (0 = instant close, 1 = very slow)

# Omit [compressor] entirely to leave it off,
# or include it with enabled = false to store values but keep it bypassed.
[compressor]
enabled = false     # optional, defaults to true when the section is present
sustain = 0.40      # 0.0 – 1.0  (compression amount)
attack  = 0.30      # 0.0 – 1.0  (0.5 ms → 50 ms)
level   = 0.50      # 0.0 – 1.0  (output makeup, 0.5 = unity)

# Omit [pitch] entirely to leave it off (the default for the bundled presets),
# or include it with enabled = false to store values but keep it bypassed.
[pitch]
enabled = false     # optional, defaults to true when the section is present
pitch = 0.50        # 0.0 – 1.0  (0 = −12 st, 0.5 = unison, 1 = +12 st)
mix   = 0.50        # 0.0 – 1.0  (dry/wet blend)
tone  = 0.70        # 0.0 – 1.0  (wet low-pass, 0 = dark, 1 = open)

# Omit [wah] entirely to leave it off (the default for the bundled presets),
# or include it with enabled = false to store values but keep it bypassed.
[wah]
enabled = false     # optional, defaults to true when the section is present
freq = 0.40         # 0.0 – 1.0  (base peak position, ~300 Hz–1.5 kHz)
sens = 0.55         # 0.0 – 1.0  (auto-sweep amount; 0 = static cocked wah)
q    = 0.50         # 0.0 – 1.0  (resonance / sharpness of the quack)
mix  = 0.90         # 0.0 – 1.0  (dry/wet; a real wah is fully wet)

# Omit [fuzz] entirely to leave it off (the default for the bundled presets),
# or include it with enabled = false to store values but keep it bypassed.
[fuzz]
enabled = false     # optional, defaults to true when the section is present
fuzz  = 0.70        # 0.0 – 1.0  (sustain/gain)
tone  = 0.50
level = 0.60

[tube_screamer]
enabled = true      # optional, defaults to true
drive = 0.40        # 0.0 – 1.0
tone  = 0.60
level = 0.70

# Omit [distortion] entirely to leave it off,
# or include it with enabled = false to store values but keep it bypassed.
[distortion]
enabled = true
drive = 0.50
tone  = 0.55
level = 0.65

# Boss ML-2 Metal Core — ultra-high-gain distortion with an active two-band EQ.
# Omit [metal_core] entirely to leave it off,
# or include it with enabled = false to store values but keep it bypassed.
[metal_core]
enabled = false       # optional, defaults to true when the section is present
dist  = 0.65          # 0.0 – 1.0  (gain into the two cascaded clip stages)
low   = 0.50          # 0.0 – 1.0  (active low shelf @ 120 Hz, ±15 dB; 0.5 = flat)
high  = 0.50          # 0.0 – 1.0  (active high shelf @ 3.2 kHz, ±15 dB; 0.5 = flat)
level = 0.60          # 0.0 – 1.0  (output volume)

# Pre-amp EQ — shapes the signal before the amp's gain stage.
# Omit [preamp_eq] entirely to leave it off, or include it with enabled = false.
[preamp_eq]
enabled = false       # optional, defaults to true when the section is present
low  = 0.50           # 0.0 = −12 dB, 0.5 = flat, 1.0 = +12 dB
mid  = 0.50
high = 0.50

[amp]
model  = "marshall"   # "marshall" (default), "mesa", or "randall"
gain   = 0.65
bass   = 0.50
mid    = 0.45
treble = 0.65
master = 0.55

[cabinet]
model     = "mesa"    # "mesa" (default), "marshall", or "orange"
mic_pos   = 0.5       # 0.0 = edge/dark, 0.5 = neutral, 1.0 = center/bright (default 0.5)
mic_blend = 0.15      # 0.0 = SM57 dynamic, 1.0 = R121 ribbon (default 0.15)
mic_room  = 0.15      # 0.0 = dry close mic, 1.0 = full room mic (default 0.15)

[eq]
enabled = true        # optional, defaults to true
low  = 0.50           # 0.0 = −15 dB, 0.5 = 0 dB, 1.0 = +15 dB
mid  = 0.50
high = 0.50

# Omit [flanger] entirely to leave it off (the default for the bundled presets),
# or include it with enabled = false to store values but keep it bypassed.
[flanger]
enabled  = false      # optional, defaults to true when the section is present
rate     = 0.30       # 0.0 – 1.0  (LFO speed, 0.05–5 Hz, exponential)
depth    = 0.55       # 0.0 – 1.0  (sweep width; delay swings ~0.5–5 ms)
feedback = 0.35       # 0.0 – 1.0  (regeneration, capped at 90%)
mix      = 0.50       # 0.0 = dry, 0.5 = deepest flange, 1.0 = fully wet

# Omit [chorus] entirely to leave it off (the default for the bundled presets),
# or include it with enabled = false to store values but keep it bypassed.
[chorus]
enabled  = false      # optional, defaults to true when the section is present
rate     = 0.25       # 0.0 – 1.0  (LFO speed, 0.05–5 Hz, exponential)
depth    = 0.50       # 0.0 – 1.0  (sweep width; delay swings ~8–20 ms)
mix      = 0.50       # 0.0 = dry, 0.5 = classic chorus, 1.0 = fully wet

# Omit [phaser] entirely to leave it off (the default for the bundled presets),
# or include it with enabled = false to store values but keep it bypassed.
[phaser]
enabled  = false      # optional, defaults to true when the section is present
rate     = 0.30       # 0.0 – 1.0  (LFO speed, 0.05–5 Hz, exponential)
depth    = 0.70       # 0.0 – 1.0  (sweep width; break freq glides ~200 Hz–1.6 kHz)
feedback = 0.40       # 0.0 – 1.0  (regeneration, capped at 90%; higher = resonant)
mix      = 0.50       # 0.0 = dry, 0.5 = deepest phase, 1.0 = fully wet

[delay]
enabled  = true       # optional, defaults to true
time     = 0.30       # 0.0 = 0 ms, 1.0 = 500 ms
feedback = 0.40       # 0.0 – 1.0 (internally capped at 85%)
mix      = 0.30       # 0.0 = dry, 1.0 = fully wet

[reverb]
enabled = true        # optional, defaults to true
room = 0.55
damp = 0.40
mix  = 0.25
Drop the file in ~/.config/rusty-amp/presets/ and it will appear in the preset browser the next time you open it (or save another preset to trigger a reload).
← Back
Amps, cabinets & IRs