Contents

Filters

Filters shape the frequency content of signals by attenuating or boosting certain frequencies.

All effects in this file expose dry and wet as their last two parameters (Category B defaults dry=0, wet=1 for transform effects). See Effect Parameters Convention for the full spec.

lp

Lowpass filter - Passes frequencies below the cutoff, attenuates above.

ParamTypeDefaultDescription
insignal-Input signal
cutsignal-Cutoff frequency in Hz
qnumber0.707Resonance (0.5-20)
drynumber0.0Dry signal level (Category B)
wetnumber1.0Wet (processed) signal level (Category B)

Aliases: lowpass, svflp

A state-variable lowpass filter. Higher Q values add resonance at the cutoff frequency.

// Basic lowpass at 800 Hz
saw(220) |> lp(@, 800) |> out(@)
// Envelope-controlled filter sweep
saw(110) |> lp(@, 200 + ar(trigger(4)) * 2000) |> out(@)
// Resonant filter
saw(110) |> lp(@, 500, 8) |> out(@)

Related: hp, bp, moog


hp

Highpass filter - Passes frequencies above the cutoff, attenuates below.

ParamTypeDefaultDescription
insignal-Input signal
cutsignal-Cutoff frequency in Hz
qnumber0.707Resonance (0.5-20)
drynumber0.0Dry signal level (Category B)
wetnumber1.0Wet (processed) signal level (Category B)

Aliases: highpass, svfhp

Removes low frequencies. Useful for thinning out sounds or creating transitions.

// Remove sub frequencies
saw(110) |> hp(@, 200) |> out(@)
// Hi-hat from noise
noise() |> hp(@, 8000) * ar(trigger(8), 0.001, 0.05) |> out(@)

Related: lp, bp


bp

Bandpass filter - Passes frequencies around the cutoff, attenuates others.

ParamTypeDefaultDescription
insignal-Input signal
cutsignal-Center frequency in Hz
qnumber0.707Bandwidth (higher = narrower)
drynumber0.0Dry signal level (Category B)
wetnumber1.0Wet (processed) signal level (Category B)

Aliases: bandpass, svfbp

Isolates a band of frequencies. Higher Q values create a narrower, more resonant band.

// Telephone effect
saw(220) |> bp(@, 1000, 4) |> out(@)
// Vocal formant
saw(110) |> bp(@, 500, 10) |> out(@)

Related: lp, hp


moog

Moog ladder filter - Classic 4-pole resonant lowpass filter.

ParamTypeDefaultDescription
insignal-Input signal
cutsignal-Cutoff frequency in Hz
resnumber1.0Resonance (0-4, self-oscillates near 4)
max_resnumber4.0Maximum resonance / self-oscillation threshold
input_scalenumber0.5Input preamp drive (higher = more saturation)
drynumber0.0Dry signal level (Category B)
wetnumber1.0Wet (processed) signal level (Category B)

Aliases: moogladder

The Moog ladder filter, known for its warm, creamy sound. At high resonance values, it can self-oscillate.

// Classic Moog bass
saw(55) |> moog(@, 400, 2) |> out(@)
// Filter sweep with high resonance
saw(110)
    |> moog(@, 100 + sine(0.5) * 1000, 3.5)
    |> out(@)
// Self-oscillating filter (use as oscillator)
noise() * 0.01 |> moog(@, 440, 3.9) |> out(@)
// Hot input with more saturation
saw(110) |> moog(@, 800, 2, 4.0, 0.8) |> out(@)

Related: lp


sallenkey

Sallen-Key filter - MS-20 style filter with aggressive resonance.

ParamTypeDefaultDescription
insignal-Input signal
cutsignal-Cutoff frequency in Hz
resnumber1.0Resonance (0-4, very aggressive)
modenumber0.0Filter mode (0.0 = lowpass, 1.0 = highpass)
clip_threshnumber0.7Feedback clipping threshold
drynumber0.0Dry signal level (Category B)
wetnumber1.0Wet (processed) signal level (Category B)

Aliases: sk, ms20

Based on the Korg MS-20 filter topology with diode clipping in the feedback path. Produces the aggressive, screaming resonance of that design.

// Classic MS-20 bass
saw(55) |> sallenkey(@, 600, 3) |> out(@)
// Screaming resonance
saw(110)
    |> sallenkey(@, 400 + sine(0.2) * 800, 3.8)
    |> out(@)
// Highpass mode
saw(110) |> sallenkey(@, 500, 2, 1.0) |> out(@)

Related: moog, diode