Skip to content

std/effects

Import: use "std/effects";

Effect constructors for use with track.fx(#[...]).

Built-in DSP filter effects (SVF topology).

State-variable filters for shaping a track’s spectrum: Lowpass, Highpass, Bandpass, Notch, Allpass, and Peak. Each takes a cutoff and resonance and goes onto a track’s chain with track.fx(#[...]).

fn Allpass(name: String, cutoff: Number = NUL, resonance: Number = NUL) -> Effect

Creates an allpass filter effect (SVF topology).

Passes all frequencies at equal amplitude but shifts phase. Useful for phaser-style effects when modulated.

drums.fx(#[Allpass("ap", 1000, 2.0)]);

Parameters:

  • name (String) — slot name (identity in a track’s effect chain)
  • cutoff (Number, optional) — center frequency in Hz (default: 1000.0, range: 20–20000)
  • resonance (Number, optional) — filter resonance / Q (default: 0.707 Butterworth, range: 0.1–30)

Returns: Effect — a built-in DSP allpass filter

fn Bandpass(name: String, cutoff: Number = NUL, resonance: Number = NUL) -> Effect

Creates a bandpass filter effect (SVF topology).

drums.fx(#[Bandpass("bp", 500, 2.0)]);

Parameters:

  • name (String) — slot name (identity in a track’s effect chain)
  • cutoff (Number, optional) — center frequency in Hz (default: 1000.0, range: 20–20000)
  • resonance (Number, optional) — filter resonance / Q (default: 0.707 Butterworth, range: 0.1–30)

Returns: Effect — a built-in DSP bandpass filter

fn Highpass(name: String, cutoff: Number = NUL, resonance: Number = NUL) -> Effect

Creates a highpass filter effect (SVF topology).

bass.fx(#[Highpass("hp", 80)]);

Parameters:

  • name (String) — slot name (identity in a track’s effect chain)
  • cutoff (Number, optional) — cutoff frequency in Hz (default: 1000.0, range: 20–20000)
  • resonance (Number, optional) — filter resonance / Q (default: 0.707 Butterworth, range: 0.1–30)

Returns: Effect — a built-in DSP highpass filter

fn Lowpass(name: String, cutoff: Number = NUL, resonance: Number = NUL) -> Effect

Creates a lowpass filter effect (SVF topology).

drums.fx(#[Lowpass("lp", 800)]);
drums.fx(#[Lowpass("lp", 2000, 4.0)]);

Parameters:

  • name (String) — slot name (identity in a track’s effect chain)
  • cutoff (Number, optional) — cutoff frequency in Hz (default: 1000.0, range: 20–20000)
  • resonance (Number, optional) — filter resonance / Q (default: 0.707 Butterworth, range: 0.1–30)

Returns: Effect — a built-in DSP lowpass filter

fn Notch(name: String, cutoff: Number = NUL, resonance: Number = NUL) -> Effect

Creates a notch (band-reject) filter effect (SVF topology).

drums.fx(#[Notch("notch", 3000, 8.0)]);

Parameters:

  • name (String) — slot name (identity in a track’s effect chain)
  • cutoff (Number, optional) — center frequency in Hz (default: 1000.0, range: 20–20000)
  • resonance (Number, optional) — filter resonance / Q (default: 0.707 Butterworth, range: 0.1–30)

Returns: Effect — a built-in DSP notch filter

fn Peak(name: String, cutoff: Number = NUL, resonance: Number = NUL) -> Effect

Creates a peak (bell) filter effect (SVF topology).

Boosts or cuts a narrow band of frequencies around the center frequency.

drums.fx(#[Peak("peak", 5000, 4.0)]);

Parameters:

  • name (String) — slot name (identity in a track’s effect chain)
  • cutoff (Number, optional) — center frequency in Hz (default: 1000.0, range: 20–20000)
  • resonance (Number, optional) — filter resonance / Q (default: 0.707 Butterworth, range: 0.1–30)

Returns: Effect — a built-in DSP peak filter

Built-in DSP delay effect: a feedback delay line with time and feedback controls, for echo and slapback textures.

fn Delay(name: String, time: Number = NUL, feedback: Number = NUL) -> Effect

Creates a delay effect with feedback.

drums.fx(#[Delay("echo", 0.25, 0.5)]);
drums.fx(#[Delay("echo", 0.125).param_set("Mix", 0.3)]);

Parameters:

  • name (String) — slot name (identity in a track’s effect chain)
  • time (Number, optional) — delay time in seconds (default: 0.25, range: 0.001–2.0)
  • feedback (Number, optional) — feedback amount (default: 0.5, range: 0.0–0.99)

Returns: Effect — a built-in DSP delay effect Additional parameters (set via param_set()): “Mix” — dry/wet mix 0.0–1.0 (default: 1.0)

Reverb effects, CLAP-backed. Freeverb (room) and Dattorro (plate) algorithms.

fn PlateReverb(name: String, size: Number = NUL, damping: Number = NUL, diffusion: Number = NUL, predelay: Number = NUL, mix: Number = NUL) -> Effect

Creates a plate reverb effect (Dattorro algorithm).

Implemented as a CLAP plugin (resonon-reverb-plate), not a dsp effect block.

drums.fx(#[PlateReverb("plate", 0.7, 0.3, 0.8)]);

Parameters:

  • name (String) — slot name (identity in a track’s effect chain)
  • size (Number, optional) — tank size (default: 0.5, range: 0.0–1.0)
  • damping (Number, optional) — high-frequency damping (default: 0.5, range: 0.0–1.0)
  • diffusion (Number, optional) — diffusion amount (default: 0.7, range: 0.0–1.0)
  • predelay (Number, optional) — pre-delay amount (default: 0.0, range: 0.0–1.0)
  • mix (Number, optional) — dry/wet mix (default: 0.33, range: 0.0–1.0)

Returns: Effect — a CLAP-backed plate reverb effect

fn Reverb(name: String, room: Number = NUL, damp: Number = NUL, width: Number = NUL, mix: Number = NUL) -> Effect

Creates a reverb effect (Freeverb algorithm).

Implemented as a CLAP plugin (resonon-reverb), not a dsp effect block.

drums.fx(#[Reverb("verb", 0.7, 0.3)]);
drums.fx(#[Reverb("short", 0.5, 0.5, 1.0, 0.2)]);

Parameters:

  • name (String) — slot name (identity in a track’s effect chain)
  • room (Number, optional) — room size 0.0–1.0 (default: 0.5)
  • damp (Number, optional) — high-frequency damping 0.0–1.0 (default: 0.5)
  • width (Number, optional) — stereo width 0.0–1.0 (default: 1.0)
  • mix (Number, optional) — dry/wet mix 0.0–1.0 (default: 0.33)

Returns: Effect — a CLAP-backed reverb effect

Built-in DSP saturation effects — waveshaping drive for warmth and grit.

fn Distortion(name: String, drive: Number = NUL, tone: Number = NUL) -> Effect

Creates a distortion effect (asymmetrical/transistor-style clipping).

Uses tanh for positive half-cycles and soft clipping for negative, producing odd and even harmonics. Includes DC blocker and tone filter.

bass.fx(#[Distortion("dist", 0.6, 0.4)]);

Parameters:

  • name (String) — slot name (identity in a track’s effect chain)
  • drive (Number, optional) — distortion intensity (default: 0.5, range: 0.0–1.0)
  • tone (Number, optional) — post-distortion brightness (default: 0.7, range: 0.0–1.0)

Returns: Effect — a built-in DSP distortion effect Additional parameters (set via param_set()): “Level” — output level 0.0–1.0 (default: 0.5) “Mix” — dry/wet mix 0.0–1.0 (default: 1.0)

fn Overdrive(name: String, drive: Number = NUL, tone: Number = NUL) -> Effect

Creates an overdrive effect (symmetrical/tube-style tanh clipping).

Includes a DC-blocking filter before clipping and a one-pole tone filter after.

bass.fx(#[Overdrive("drive", 0.3, 0.5)]);

Parameters:

  • name (String) — slot name (identity in a track’s effect chain)
  • drive (Number, optional) — distortion intensity (default: 0.5, range: 0.0–1.0)
  • tone (Number, optional) — post-distortion brightness (default: 0.7, range: 0.0–1.0)

Returns: Effect — a built-in DSP overdrive effect Additional parameters (set via param_set()): “Level” — output level 0.0–1.0 (default: 0.5) “Mix” — dry/wet mix 0.0–1.0 (default: 1.0)