@maruaudio/dsp/distortion/classic-amp is the classic nonlinear amp v1 pre-cabinet voice, mono, with no captured model:
× input gain (f32) → 70 Hz high-pass → +4 dB / 1.8 kHz high shelf
→ preamp waveshaper (4×) → 180 Hz low shelf → 750 Hz peak → 3.2 kHz high shelf
→ power waveshaper (4×)The filters are @maru/filters-biquad sections and both waveshapers are @maru/distortion-oversampled-waveshaper, in the arithmetic order of the persistent-classic-amp kernel, which now ticks this DSP node. The cabinet and output trim are not part of it.
Parameters
| Setter | Range the setter enforces | v1 voicing |
|---|---|---|
setClassicAmpStageInput | Position 0 to 1 (NaN → 0), gain 0.25 + 3.75 × position | 1.8 |
setClassicAmpStagePreampDrive | 0 to 1 (NaN → 0) | 0.55, at −3 dB output |
setClassicAmpStagePowerDrive | 0 to 1 (NaN → 0) | 0.3, at −4 dB output |
setClassicAmpStageBassDb, MidDb, TrebleDb | −12 to +12 dB (NaN → 0) | 0 dB |
Lifecycle
initClassicAmpStage(rate) allocates only; call resetClassicAmpStage before the first tick to apply the v1 voicing, flatten the tone stack and clear every history → prepareClassicAmpStageSampleRate when the rate changes, keeping the corner frequencies and clearing history → setters → classicAmpStageTick. clearClassicAmpStage clears history and keeps settings. Tone setters recompute one biquad each. Ticks allocate nothing and do no I/O.
When to use it
The amp half of a guitar or bass rig ahead of a cabinet convolver, as Amp Rig's Classic engine uses it.
Limits
- Mono sample tick; each waveshaper adds 3.75 samples of FIR delay.
- Without
resetClassicAmpStageafter init the filters are unconfigured. - Tone and drive changes apply at once, with no smoothing.