Build with this node

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

Ask Studio

@maruaudio/dsp/filters/stereo-high-lowpass is a wet-only stereo pair of filter sections, a high-pass and a low-pass, each with independent left and right @maru/filters-biquad histories at the fixed Butterworth Q 0.7071. A cutoff of exactly 0 is the explicit Off state: an Off section does not tick its biquads and copies its inputs to its outputs exactly.

const state = initStereoHighLowpassNode(48000)
setStereoHighLowpassHighpassCutoffHz(state, 80)
stereoHighLowpassNodeTick(state, left, right) // state.lowpassOutLeft,...Right

Parameters

SetterRange the setter enforcesDefaultUnit
setStereoHighLowpassHighpassCutoffHz0, negative or non-finite is Off; otherwise 10 to 0.45 × the rate, rounded to f32OffHz
setStereoHighLowpassLowpassCutoffHzSameOffHz

A setter recomputes coefficients only when the section turns on or the f32 cutoff changes. Turning a section Off clears only that section's histories; turning it on starts from cleared histories.

Lifecycle

initStereoHighLowpassNode(sampleRate) (rate bounded to about 22.2 Hz to 384 kHz, NaN gives 48 kHz; both sections Off) → setters → either stereoHighLowpassNodeTick (high-pass then low-pass in series) or the two section ticks, stereoHighLowpassHighpassTick and stereoHighLowpassLowpassTick, called separately → resetStereoHighLowpassNode, or the per-section resets, which clear histories and outputs and keep the cutoffs. There is no prepare step.

When to use it

Trimming rumble and top end from a stereo bus or effect return. The split ticks let a caller blend a section's output against its input, for example to fade a section out before setting it Off.

Limits

  • Stereo, sample tick, no delay lines, buffers or latency.
  • Changes apply at once. The leaf owns neither a blend nor a dry path; a click-free Off is the caller's job: blend back to the input, then set 0.

Algorithm properties and proofs

No Lean 4 proof is mapped to this node.

Explore proofs alongside performance

Parameters

ParameterTypeSetter
Stereo high lowpass highpass cutoff hz stereoHighLowpassHighpassCutoffHz

Configure the physical high-pass cutoff. Zero is an immediate exact bypass and clears just this section. Non-positive or non-finite values also select Off; positive finite values are bounded by the canonical Biquad domain.

floatsetStereoHighLowpassHighpassCutoffHz
Stereo high lowpass lowpass cutoff hz stereoHighLowpassLowpassCutoffHz

Configure the physical low-pass cutoff. Zero is an immediate exact bypass and clears just this section. Non-positive or non-finite values also select Off; positive finite values are bounded by the canonical Biquad domain.

floatsetStereoHighLowpassLowpassCutoffHz

Dependencies

Dependents

Used by