@maruaudio/dsp/distortion/voiced-wavefolder is a wet-only composite for an effect slot:
@maru/distortion-wavefolder → RBJ high-pass (Q 0.7071) → one-pole tone → dB trimThe high-pass (@maru/filters-biquad) removes the DC a non-zero offset produces without changing the fold formula; the tone filter is @maru/filters-tone and the trim @maru/mixing-gain-db.
Parameters
Setters use clampFiniteWithFallback (@maru/math-range).
| Setter | Range the setter enforces | Fallback | Default |
|---|---|---|---|
setVoicedWavefolderGain | −32 to 32 | 1 | 1 |
setVoicedWavefolderOffset | −1 to 1 | 0 | 0 |
setVoicedWavefolderLowCutHz | 10 Hz to 0.45 × rate | 20 Hz | 20 Hz |
setVoicedWavefolderToneCutoffHz | 200 Hz to min(16 kHz, 0.45 × rate) | the maximum | the maximum |
setVoicedWavefolderOutputDb | −24 to +6 dB | 0 dB | 0 dB |
Repeating a value changes nothing; no setter clears filter history.
Lifecycle
initVoicedWavefolderNode(rate) (8 to 384 kHz, fallback 48 kHz) → setters → voicedWavefolderNodeTick → resetVoicedWavefolderNode, which clears the filter histories and keeps the clamped controls. A low-cut change recomputes the biquad coefficients. Ticks allocate nothing and do no I/O.
When to use it
A wavefolder slot on synth or bass that needs the fold's DC removed, a low-pass and a level trim. A stereo caller runs two states and applies dry/wet outside.
Limits
- Mono sample tick, wet only; the fold aliases as in the raw DSP node. The tone stage is a single one-pole low-pass.