Build with this node

Start with a prompt in Studio, or copy it into your own coding agent.

Ask Studio

@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 trim

The 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).

SetterRange the setter enforcesFallbackDefault
setVoicedWavefolderGain−32 to 3211
setVoicedWavefolderOffset−1 to 100
setVoicedWavefolderLowCutHz10 Hz to 0.45 × rate20 Hz20 Hz
setVoicedWavefolderToneCutoffHz200 Hz to min(16 kHz, 0.45 × rate)the maximumthe maximum
setVoicedWavefolderOutputDb−24 to +6 dB0 dB0 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.

Algorithm properties and proofs

No Lean 4 proof is mapped to this node.

Explore proofs alongside performance

Parameters

ParameterTypeSetter
Gain gain

Set pre-fold gain without clearing either post-fold filter history.

floatsetVoicedWavefolderGain
Offset offset

Set pre-fold offset without clearing either post-fold filter history.

floatsetVoicedWavefolderOffset
Voiced wavefolder low cut hz voicedWavefolderLowCutHz

Set the post-fold DC-blocker cutoff in the canonical Biquad domain.

floatsetVoicedWavefolderLowCutHz
Voiced wavefolder tone cutoff hz voicedWavefolderToneCutoffHz

Set post-fold low-pass Tone. A physical request is bounded by the current rate.

floatsetVoicedWavefolderToneCutoffHz
Output db outputDb

Set output trim after DC removal and Tone; dry/wet mix remains external.

floatsetVoicedWavefolderOutputDb

Ports

  • In ininput · audio · mono
  • Out outoutput · audio · mono

One sample per voicedWavefolderNodeTick call.

Dependencies

Dependents

Used by