Build with this node

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

Ask Studio

@maruaudio/dsp/reverbs/stereo-schroeder presents two @maru/reverbs-schroeder cores as a wet-only stereo reverb. Both cores run at mix 1. Two identical mono cores give identical output under mono excitation, so the right wet path has a fixed delay of max(1, round(23 × rate / 48000)) frames, a modest decorrelation offset. An optional integer-frame pre-delay sits in front; the caller (the multi-effect) supplies the outer dry/wet law.

Parameters

SetterRange the setter enforcesDefault
setStereoSchroederRoomSize0 to 1 on both cores (feedback 0.72 to 0.94)Feedback 0.72
setStereoSchroederDamping0 to 1 on both cores (damping 0.05 to 0.5)Damping 0.05
setStereoSchroederPredelay0 to 150 ms, floored to frames; NaN or −∞ → 0, +∞ → 1500 (direct)

Lifecycle

initStereoSchroederNode(rate) allocates both cores, the decorrelation line and two 150 ms pre-delay rings → setters → stereoSchroederNodeTick(state, left, right, output) → resetStereoSchroederNode, an immediate clear outside realtime that restores mix 1. Live replacement uses clearStereoSchroederNodeStep, sharing one budget of at most 256 stores per call across both cores and three adapter lines until it returns stereoSchroederClearStoreCount(state), then finalizeStereoSchroederNodeClear (26 scalar stores). Ticks allocate nothing.

When to use it

A small stereo reverb slot with a pre-delay, where the Schroeder core's fixed cost suits the chain.

Limits

  • Under mono input the right channel is the left channel delayed by the decorrelation offset; it is not an independent stereo field.
  • At zero pre-delay the cores are fed directly while the rings keep recording.
  • The cores' outputs are doubles; parameter changes apply at once.

Algorithm properties and proofs

No Lean 4 proof is mapped to this node.

Explore proofs alongside performance

Parameters

ParameterTypeSetter
Stereo schroeder room size stereoSchroederRoomSizefloatsetStereoSchroederRoomSize
Stereo schroeder damping stereoSchroederDampingfloatsetStereoSchroederDamping
Milliseconds milliseconds

Integer-frame physical pre-delay; at zero it is direct while the rings stay live.

floatsetStereoSchroederPredelay

Dependencies

Dependents

Used by