Jitter

Envelopes & ModjitterLight CPU

Randomly-segmented drift — new target, new duration, every segment.

What it does

Randomly-segmented random line — irregular, organic drift.

Wraps daisysp::Jitter (LGPL). It interpolates toward a fresh random target, and when it arrives it draws both a new target and a new segment duration between Rate Min and Rate Max. Every setter on the class calls its internal Reset(), so the two rate bounds are baked once at init; Amp is instead applied as a post-multiply on the output, which leaves it modulatable without restarting the segment.

Parameters

  • Rate Min (Hz)

    cpsMin
    Default 0.5Range 0.01 … 100

    The slowest a segment may be. Each new segment picks its own duration at random between Rate Min and Rate Max, which is what makes the drift irregular rather than merely smooth. Set at build time — changing it while the patch runs would restart the segment on every sample.

  • Rate Max (Hz)

    cpsMax
    Default 4Range 0.01 … 100

    The fastest a segment may be. Bring it close to Rate Min for an almost-regular wobble; open the gap wide for movement that lurches and then hangs. Set at build time, for the same reason as Rate Min.

  • Amplitude

    amplitude
    Default 1Range 0 … 1

    Output depth. Applied as a post-multiply rather than through the class's own amplitude setter, so this one IS safe to modulate — wire an envelope here to fade the drift in and out.

Random drift with a random rhythm: each segment slews to a new random value over a duration drawn between Rate Min and Rate Max. Output is unipolar 0..Amp. Rate Min / Max are baked at build time; Amp is per-sample (modulatable). Compare Smooth Random, whose rate is fixed.

Ports

In

  • Amp amplitude

Out

  • Out output

Audio Control

Inputs

Amp
Post-multiply depth — wire an envelope or knob.

Outputs

Out
Drifting value, 0..amp. Unipolar, despite what the DaisySP header says.

Rules and gotchas

  • Rate Min / Rate Max are baked at build time and have no ports — every setter on this class resets the segment, so a per-sample setter would turn the drift into noise.
  • Output is UNIPOLAR 0..Amp, not −Amp..+Amp: it carries a DC offset. Subtract with Math or re-centre with Scale / Offset if a destination expects bipolar travel.
  • Rate Min above Rate Max is swapped at emit rather than trusted — an inspector bound does not constrain the pair.
  • This module is LGPL and links only because the Makefile sets USE_DAISYSP_LGPL = 1, as with Balance, Comb and Line / Ramp.