@maruaudio/dsp/distortion/voiced-overdrive is a wet-only mono overdrive built from reviewed DSP nodes:
RBJ high-pass → @maru/distortion-tone-shape × compensation → RBJ low-pass → dB trimBoth filters are Butterworth (Q 0.7071) sections of @maru/filters-biquad. The tone-shape transfer has a small-signal gain of (3 + 100 × drive)/9; the stored compensation 3/(1 + drive × 100/3) restores it to one, so drive 0 is a linear high-pass, low-pass and level stage.
Parameters
Setters use clampFiniteWithFallback (@maru/math-range).
| Setter | Range the setter enforces | Fallback | Default |
|---|---|---|---|
setVoicedOverdriveDrive | 0 to 1 | 0 | 0 |
setVoicedOverdriveInputLowCutHz | 20 to 500 Hz | 20 Hz | 20 Hz |
setVoicedOverdriveToneCutoffHz | 250 Hz to min(18 kHz, 0.45 × rate) | the maximum | the maximum |
setVoicedOverdriveOutputDb | −24 to +24 dB (@maru/math-decibels) | 0 dB | 0 dB |
Lifecycle
initVoicedOverdriveNode(rate) (8 to 384 kHz, fallback 48 kHz) → setters → voicedOverdriveNodeTick → resetVoicedOverdriveNode, which clears both filter histories and keeps the controls. Filter setters recompute their coefficients. Ticks allocate nothing and do no I/O.
When to use it
A practical overdrive slot for guitar, bass or keys with an input low-cut, a post-drive tone and an output trim. A stereo caller runs two states and applies dry/wet outside.
Limits
- Mono sample tick, wet only, no oversampling or latency.
- Inputs below 0.001 after the low-cut give 0, from the tone-shape silence gate.
- Control changes apply at once, with no smoothing.
- Distinct from
@maru/distortion-direct-overdrive, whose drive 0 is not a clean stage.