Sanic Boom

Automation

Animate parameters over time

Overview

Use env() to animate any effect parameter over beats. Create filter sweeps, volume builds, and evolving textures.

Basic Usage

// Filter sweep over 4 beats
bass |> lowpass(env(0: 200, 4: 4000))

// Volume build
drums |> gain(env(0: 0.3, 4: 1.0))

// Auto-pan
lead |> pan(env(0: -1, 2: 1, loop: true))

Syntax

env(beat1: value1, beat2: value2, ..., curve: "type", loop: bool)
ParameterTypeDefaultDescription
beat: valuepairsrequiredKeyframes at beat positions
curvestring"linear"Interpolation curve
loopboolfalseLoop envelope at last keyframe

Curves

  • linear - Straight line interpolation (default)
  • exp - Exponential curve (good for frequencies)
  • log - Logarithmic curve (good for volume)
  • step - Jump to value at keyframe (no interpolation)

Examples

// Psytrance filter sweep with exponential curve
bass |> saw |> lowpass(env(0: 200, 4: 4000, curve: "exp"))

// Looping auto-pan for stereo movement
lead |> pan(env(0: -1, 2: 1, loop: true))

// Volume riser
riser |> gain(env(0: 0, 8: 1.0))

// Step modulation for rhythmic effects
synth |> lowpass(env(0: 500, 0.5: 2000, 1: 500, 1.5: 2000, loop: true, curve: "step"))

Supported Parameters

Envelope automation works with:

  • lowpass(cutoff, resonance)
  • highpass(cutoff, resonance)
  • bandpass(cutoff, resonance)
  • notch(cutoff, resonance)
  • diode(cutoff, resonance)
  • reverb(size, mix)
  • convolve(mix)
  • delay(time, feedback)
  • distortion(drive, tone)
  • clip(threshold)
  • gain(level)
  • pan(position)
  • wavetable(position)

On this page