Dunes

Dual function generator with GROW/DECAY/WAIT phases, analog logic outputs, and a central VU/mixer section.

Panel map

DUNES is two independent function generators (I and II) with a shared analog logic center.

Each side runs a three-phase GROWTH → DECAY → WAIT cycle with morphable curve shapes and independent time range switching. Polyphonic inputs are supported.

Key controls (each side):
- RISE / FALL / WAIT (phase duration sliders)
- GROW (curve shape: log ↔ linear ↔ exp)
- DECAY (curve shape for fall stage)
- MIXER (control the levels of I and II)
- TRIG (trigger input + button)
- GATE (sustain input + button)
- CYCLE (latch continuous looping + button)
- RANGE switch (LOW / MID / FULL — sets time decade)
- MODE switch (AD / AHD / ADSR-like behavior)

Center section:
- MIN / SUM / MAX outputs (analog min, sum, max of both sides)
- VU meters (5 columns × 10 rows: I, MIN, SUM, MAX, II)
- Phase gate outputs: RISE / FALL / WAIT for each side

Basic use

1. Choose a time range:
   - SLOW: 0.4 s – 409 s (long modulation)
   - MID: 10 ms – 10 s (musical envelopes)
   - FAST: 0.4 ms – 400 ms (fast/percussive)

2. Set phase durations:
   - RISE, FALL, and WAIT sliders set each stage length.
   - Patch CV into the attenuverted inputs to modulate times.

3. Trigger or gate:
   - TRIG fires a single cycle (or retriggers from current position).
   - GATE holds the function at peak while high; decay begins on release.
   - CYCLE button/input sets continuous looping.

4. Shape the curve:
   - GROW and DECAY sliders morph each stage between log, linear, and exponential.
   - MIXER blends the raw output with the shaped signal.

5. Center logic:
   - MIN, SUM, MAX combine both sides for derived modulation without extra modules.
   - Use phase gates (RISE / FALL / WAIT) for sequencing, resets, or chaining.

Context menu:
- Gate threshold (V): adjustable Schmitt comparator level.
- Cycle I/II Jack: Toggle Mode (default: Momentary).

Patching suggestions

• Classic envelope: Patch a gate to GATE I, take OUT I to a VCA.

• Dual correlated envelopes: Run both sides from the same trigger; use GROW/DECAY to give each a different shape. Feed MIN/MAX to filter cutoff and VCA for natural envelope tracking.

• Cycling LFO pair: Enable CYCLE on both sides; dial RISE/FALL for asymmetric ramps. Modulate GROW for continuous waveshaping.

• Phase-clock logic: Patch WAIT I gate → TRIG II for serial function chains. RISE/FALL gates can drive drum voices or sequencer advances.

• Polyphonic envelopes: Patch a poly gate; each voice gets its own independent envelope cycle.

Crosswinds

16-step rhythmic gate displacement sequencer with per-step offset, ratcheting, and an animated waveform display.

Panel map

CROSSWINDS displaces 16 gate events within a sequence by shifting each step's position forward or backward.

The result is a groove or polyrhythm generator where you control not which steps fire, but *when* they land relative to the clock grid.

Key controls:
- 16 OFFSET sliders (per-step displacement, −1 to +1 of one step width)
- 16 STEP BUTTONS (enable/disable each step)
- 16 STEP CV inputs (per-step CV override)
- DEPTH (global displacement amount)
- DEPTH ATT + CV
- LEN (sequence length, 1–16)
- LEN ATT + CV
- MAP CV input (16-ch poly: targets ratchets, offsets, or step gates — set in context menu)
- ON/OFF button + jack (pause/resume)
- BEAT button + CLOCK jack (tap tempo when unplugged)
- RESET button + jack
- GATE OUT (displaced gate output)
- END OUT (fires at end of sequence loop)
- Waveform display (shows displaced gate pattern, current phasor position)

Basic use

1. Patch a clock to CLOCK (BEAT jack at the bottom).
   - If no clock is connected, tap BEAT for tempo.

2. Enable steps:
   - Each button toggles a step on or off (lit = active).

3. Dial offsets:
   - Each OFFSET slider shifts that step earlier (−) or later (+) within the beat.
   - DEPTH scales the total displacement range.

4. Set length:
   - LEN selects how many steps play before the sequence loops.
   - END OUT fires a gate on each loop.

5. Watch the display:
   - The waveform shows the resulting gate pattern across the sequence.
   - The moving cursor shows real-time playback position.

6. On/Off:
   - ON/OFF pauses gate output without stopping the clock.

Context menu:
- Gate Width (0 = 1 ms trigger, up to 99% of beat = sustained gate).
- MAP CV Destination: Ratchets / Offsets / Step Gates.
- Step Gate CV: Toggle mode vs Direct Set.
- Per-step ratchet counts (Steps 1–8 and 9–16 submenus).

Patching suggestions

• Swing/groove: Set most offsets to 0; nudge beats 2 and 4 slightly positive for swing.

• Polyrhythmic displacement: Set different OFFSET amounts on alternating steps for complex rhythmic displacement at consistent tempo.

• Ratchet accents: Use the MAP CV submenu to send a poly CV to ratchet counts; modulate with an LFO or envelope for fills that respond to patch energy.

• Pattern gating: Use END OUT to reset a sequencer or trigger a new section every N beats.

• Humanise: Modulate DEPTH with a slow LFO to make displacement drift in and out over time.

Drifts

Four-layer clock-synced oscillator with morphable waveshapes, harmonic ratios, and a summed wave output. Also features audio-rate capabilities.

Panel map

DRIFTS runs four independently-clocked phasor layers that sum into a single melodic CV output.

Each layer has a frequency ratio (numerator/denominator), a pitch range (min/max semitones), a waveshape morph, and a phase offset. Designed as a melodic source for MIRAGE.

Key controls (per layer, ×4):
- RATIO NUM / DEN (frequency ratio relative to master clock)
- RANGE MIN / MAX (semitone output window)
- WAVE SHAPE slider + CV trimpot (morphs through wave set)
- PHASE slider + CV trimpot (phase offset)
- LAYER BUTTON (enable/disable)
- GATE CV input (per layer)

Global controls:
- CLOCK input (external clock / V/oct pitch input)
- RESET input + button
- OFFSET knob + CV (global transpose)
- REVERSE button + CV (run phasors backward)
- V/OCT button (toggle CLOCK as V/oct pitch source)
- SYNC button (lock all layers to master clock)
- OscSync button (lock layers 1–3 to layer 0)
- WAVE SET switch (A / B / C — 3 wave families)
- CV RANGE switch (Reflect / Wrap / Clip)
- OUT MIN / OUT MAX (output window clamp)

Outputs:
- MIX OUT (sum of active layers)
- LAYER 1–4 individual outs
- POLY OUT (4-ch poly: phasor, layer CV, or bipolar — context menu)

Basic use

1. Set the master clock:
   - Patch a clock to CLOCK for tempo-synced drift.
   - Or enable V/OCT mode (V/OCT button) and patch pitch CV to CLOCK for pitch-driven behavior.

2. Set layer ratios:
   - NUM and DEN define each layer's period relative to the master. e.g., 1/2 = half speed, 3/1 = triple speed.

3. Set output range:
   - Use RANGE MIN / MAX per layer to set the pitch excursion of each oscillator.
   - Use OUT MIN / OUT MAX to clamp the final summed output.

4. Shape the waves:
   - WAVE SHAPE morphs through the selected wave set (A = classic shapes, B = sands shapes, C = phrase shapes).
   - PHASE offsets a layer's start position for stagger.

5. Enable/disable layers:
   - Use the LAYER buttons to bring voices in and out.

6. Try SYNC:
   - SYNC locks all layers to the master clock for tight alignment.
   - OscSync locks layers 1–3 to layer 0 for sync-locked harmonic ratios.

Context menu:
- Reverse CV Mode: Momentary (default) or Toggle.
- Oscillator Sync Mode: Soft Sync (default) or Hard Sync.
- Layer Outs: Semitone Scaled.
- Supersampling + Bandlimit Filter (Audio Mode).
- Oversampling Factor: 2x / 4x / 8x.
- Filter Cutoff slider.
- Poly Output Mode: Phasor / Layer CV semitone / Layer CV bipolar.

Patching suggestions

• Melodic source for MIRAGE: Patch MIX OUT → MIRAGE CV IN. Set ratios to slow musical divisions for wandering lead lines that stay harmonically coherent.

• Slow poly modulation: Patch POLY OUT (phasor mode) into a poly destination for four independently-drifting mod signals.

• Harmonic LFO bank: Set V/OCT mode off, use clock sync; set each layer to a different integer ratio for related but non-repeating motions.

• Audio-rate oscillator: Use V/OCT mode; enable supersampling + bandlimit filter. OscSync layer 0 → locks for sync-style timbres.

Arcs

Probabilistic 8×8 signal router with crossfade, crosstalk control, and an envelope output.

Panel map

ARCS randomly routes up to 8 inputs to up to 8 outputs each time it is triggered, crossfading smoothly between routing states.

Four probability sliders let you control how many inputs participate, how much crosstalk occurs, how long crossfades last, and how many outputs receive signal.

Key controls:
- 8 AUDIO IN jacks (left column)
- 8 AUDIO OUT jacks (right column)
- Routing display (shows arc connections between active ins and outs)
- IN slider + attenuverter + CV (input participation probability)
- CROSS slider + attenuverter + CV (crosstalk arc probability)
- FADE slider + attenuverter + CV (crossfade duration range, 0–4 s)
- OUT slider + attenuverter + CV (output participation probability)
- TRIG button + jack (fire a new routing)
- HOLD button + jack (freeze current routing)
- ENV OUT (crossfade progress envelope, 0→10V)

Poly input support: a poly signal patched to IN 1 spreads across IN 1–N automatically.

Basic use

1. Patch sources into IN 1–8 and destinations from OUT 1–8.
   - You can use fewer than 8 of each — only connected jacks participate.

2. Set probabilities:
   - IN at max: all connected inputs always participate.
   - IN at mid: each input has ~50% chance of being included per trigger.
   - CROSS adds extra arcs between non-primary in/out pairs (crosstalk).
   - OUT works the same way on the output side.

3. Set fade time:
   - FADE sets the max crossfade duration (random pick in [0, max] by default).
   - Set to 0 for immediate switching.

4. Trigger a new routing:
   - TRIG button or jack selects a new random routing and begins crossfading.

5. Hold:
   - HOLD freezes the current routing (momentary gate by default; toggle mode available in context menu).

6. Use ENV OUT:
   - Rises from 0V to 10V as each crossfade completes — useful for syncing other actions to routing changes.

Context menu:
- IN/OUT: guarantee at least 1 active (default: on).
- FADE: Random time in [0, max] (default: on — off = always use exact max).
- Hold CV: Latching Toggle (default: Momentary Gate).
- Randomize routing now.
- Reset to identity routing (1→1, 2→2, …).

Patching suggestions

• Probabilistic send/return: Patch several FX returns to INs, patch dry signals to other INs; trigger for new send configurations.

• Evolving texture routing: Patch 4–8 oscillator or noise voices; use slow FADE and occasional triggers for slowly morphing timbral blends.

• Poly spread: Patch a poly source into IN 1; ARCS distributes channels across outputs probabilistically.

• ENV-synced events: Patch ENV OUT to a trigger module (using a comparator threshold) to fire events synchronized with routing changes.

• Frozen routing with occasional change: HOLD most of the time; un-hold momentarily every few bars for surprise re-routes.

Mirage

Chord-aware quantizer with expression-graded passing notes, microtonal modes, and velocity output.

Panel map

MIRAGE is a lead quantizer that expands a chord into a scale by scoring and prioritizing passing notes based on the chord's harmonic character.

Key controls and I/O:
- CV IN (lead melody input, V/oct)
- POLY IN (chord input — poly V/oct sets the active chord tones)
- ROOT (root note knob or CV)
- EXPRESSION (how many passing notes are active)
- GATE (open = chord + passing notes; closed = chord tones only; unpatched defaults open)
- MODE (12TET / 24TET / Just — sets the tuning grid of passing notes)
- TRIG IN (optional sample-hold trigger)
- CV OUT (quantized lead output)
- TENSION OUT (always quantizes to full extended scale, ignores gate)
- DELTA OUT (microtonal offset of tension from nearest 12TET semitone, 0V in 12TET mode)
- TRIG OUT (fires on each quantization event)
- VEL OUT (0–10V velocity: 10V for chord tones, graded 1–9V for passing notes by priority)

LED strip: dots show chord tones (bright gold) and active passing notes (dimmer, gate-graded). Dot positions reflect the mode's tuning grid. Interval name labels appear below the top-priority passing notes.

Basic use

1. Set the chord:
   - Toggle notes on the keyboard widget, or patch a poly V/oct to POLY IN.
   - Set ROOT to match your chord root.

2. Choose a mode:
   - 12TET: passing notes are chromatic semitones only. DELTA always 0V.
   - 24TET: adds quarter-tone positions. DELTA = ±1/24 V.
   - Just: adds harmonic series ratios from root. DELTA reflects JI deviations.

3. Dial in expression:
   - EXPRESSION = 0: chord tones only.
   - Turning up adds passing notes in order of harmonic priority (musically important intervals first).
   - The LED strip shows labels (M2, b7, ~P4, 7/4 etc.) for the top active passing notes.

4. Use the gate:
   - With no cable: gate is always open (passing notes active).
   - Patch a gate: high = passing notes accessible; low = chord tones only.
   - Passing note LEDs turn grey when gate is closed.

5. Sample-hold mode:
   - Patch a trigger to TRIG IN to latch the quantized output on each trigger.
   - All outputs (CV, TENSION, DELTA, VEL) hold until the next trigger.
   - TRIG OUT fires on each latch event.

Patching suggestions

• Melodic lead over chord changes: Patch Weave POLY out → POLY IN. Sweep EXPRESSION with an envelope to add passing color only at phrase peaks.

• Microtonal inflection layer: Use TENSION OUT for a second voice detuned by DELTA. Patch DELTA → a VCA or oscillator FM input for subtle just-intonation color.

• Velocity-aware playing: Patch VEL OUT → envelope or VCA amount. Chord tones hit full strength; passing notes are softer, giving melodic lines natural phrasing without extra envelopes.

• Directional scale: The quantizer applies upward snap when the input is rising and downward snap when falling, so a sine LFO sweeping through the scale produces clean ascending and descending lines.

• Just intonation chords: Set MODE to Just, set ROOT, enable only the chord tones on the keyboard. Use TENSION OUT to drive a second oscillator for a naturally-tuned unison or fifth.

Sirocco

Desert ecosystem simulator: evolving grass and locust populations drive CV outputs for wind, rain, and spatial movement.

Panel map

SIROCCO is a spatial predator–prey simulator. Grass and locusts follow Lotka–Volterra predator–prey dynamics in four phases: grass grows and spreads seeds; locusts find the grass and multiply; locusts eat the grass faster than it recovers and their population crashes; grass regrows and the cycle begins again. Because this plays out across a 64-strip circular field rather than a single point, different regions of the strip are at different stages of the cycle simultaneously. Swarms form, move, graze an area bare, and dissolve somewhere else. The outputs never quite repeat.

The four ecology knobs set the four terms of the L–V equations directly. BLOOM is the grass growth rate (prey births). EAT is the predation rate (how fast locusts convert grass into more locusts). GROW is locust survival time (predator lifespan without food). WILT adds a grass death term that is independent of locusts — a drought pressure that destabilizes the cycle and pushes the system toward irregular, aperiodic behavior. Wind disperses seeds spatially, so GUST and SQUALL change how far and how unpredictably grass spreads between strip positions, which in turn shapes where the next swarm forms.

Weather controls:
- GUST (wind strength: seed dispersal distance, storm intensity)
- SQUALL (wind variability: direction change rate, dust storm frequency)

Ecology controls:
- BLOOM (grass growth rate — L–V prey birth term)
- WILT (drought die-off — independent grass death term, destabilizes periodicity)
- EAT (predation rate — L–V interaction term)
- GROW (locust lifespan — L–V predator decay term)

All knobs have attenuverters and CV inputs.

Trigger buttons + jacks:
- RAIN (force a rain event — sudden grass bloom across the strip)
- STORM (trigger a dust storm — wind surge that redistributes seeds)
- WADI (toggle circular vs bounded strip topology)
- RESET (reseed the ecosystem from current parameter state)

Outputs:
- GRASS (total grass population, 0–10V)
- SEED (1 ms pulse on each natural seed dispersal event)
- GRASS POLY (16-ch poly: grass density per spatial bin)
- WIND (wind velocity, ±5V — changes direction with weather conditions)
- RAIN (rain/storm intensity, 0–10V)
- POP (locust population, 0–10V)
- SWARM (locust centroid position across the strip, 0–10V)

Visual display: animated strip showing grass (green), moisture (blue), seeds, and locust swarm position (yellow).

Basic use

1. Let it run:
   - At default settings the ecosystem self-organizes. Watch the display for grass growth, locust blooms, and rain events.

2. Adjust weather:
   - Increase GUST to drive seeds and trigger storms; increase SQUALL to make wind direction erratic.
   - Press RAIN to force a rain burst; press STORM for a dust storm.

3. Tune the ecology:
   - BLOOM controls how fast grass recovers after a locust pass.
   - EAT and GROW together control locust boom/bust timing.
   - WILT adds drought stress independent of locusts — useful for slower cycles.

4. Change the terrain:
   - WADI toggles the strip between circular (wrapping) and bounded (reflecting walls).

5. Patch outputs:
   - GRASS and POP are slow, anti-correlated waves — good for complementary modulation pairs.
   - SWARM is a spatial position (0–10V) tracking where locusts are concentrated.
   - WIND is bipolar (±5V) and changes direction with weather conditions.
   - SEED fires a 1 ms trigger on each natural seeding event.

Context menu:
- Seed maturation rate.
- Re-seed die-back threshold.
- RAIN Output Mode: Intensity (default) / Rain gate / Dust storm gate.

Patching suggestions

• Dual slow LFOs with ecology: Patch GRASS → filter cutoff and POP → reverb mix. The natural predator–prey cycle creates slow, musically interesting anti-correlated motion.

• Spatial panning: Patch SWARM → stereo panner CV. As locusts move across the strip, a sound source sweeps left to right.

• Weather-triggered events: Use RAIN output (in gate mode) to trigger a reverb tail or filter sweep; use SEED to drive a plucked string or percussion voice.

• Wind modulation: Patch WIND (±5V) into a pitch or delay time input with attenuation for subtle organic drift.

• GRASS POLY as 16-lane CV: The 16-channel poly output gives spatial grass density. Patch to 16 VCA levels or brightness parameters for a moving, organic amplitude field.

Zephyr

Polyphonic V/Oct oscillator and LFO with three morphable wave families, FM inputs, and hard/soft sync.

Panel map

ZEPHYR is a polyphonic V/Oct oscillator and LFO built around three families of morphable waveshapes.

A single Shape slider continuously morphs through 16 waveshapes within the selected set. Each set is a curated journey: Set A moves through classic oscillator forms — pulses, saws, arches, and Gaussian spikes; Set B explores harmonic and timbral space using explicit Fourier series, formant shapes, and spectral redistribution; Set C covers rhythmic and melodic gesture territory — bitcrush staircases, supersaw density sweeps, zigzag triangles, and hold patterns.

All three sets wrap continuously — the last shape connects back to the first — so the morph range is a loop, not a line.

Key controls:
- SHAPE slider + trim + CV (morphs through 16 waveshapes in the active set)
- PHASE slider + trim + CV (offsets the waveform start position)
- FILTER slider + trim + CV (post-waveshape filter cutoff, log-scaled)
- WAVE SET switch A/B/C + CV (selects wave family)
- FREQ knob (coarse pitch offset, ±4V)
- RANGE switch (Audio / Low / Slow — sets octave range)
- FM knob (bipolar linear FM depth) + LIN FM input
- EXP TRIM + EXP FM input (exponential FM)
- REV button + LED + gate input (reverse phasor direction)
- HARD SYNC input (rising edge resets all voice phasors)
- SOFT SYNC input (rising edge mirrors phasor direction)
- RESET input
- V/OCT input (polyphonic, up to 16 voices)
- AUDIO output (polyphonic, ±5V)
- PHASOR output (polyphonic, 0–10V)

Wave display: shows the current waveshape for voice 0. At LFO rates a playhead dot tracks the live phasor position.

Basic use

1. Set the pitch:
   - Patch a V/oct source to V/OCT. Voice count follows the cable's channel count.
   - Use FREQ to offset pitch and RANGE to shift the octave register.
   - Audio: standard VCO range. Low: −6 oct. Slow: −12 oct (sub-Hz LFO territory).

2. Choose a wave family:
   - A: classic oscillator shapes — PWM, saws, arches, hard-edged forms.
   - B: harmonic and timbral shapes — Fourier series, formants, spectral sweeps.
   - C: rhythmic and melodic gesture shapes — bitcrush, supersaws, zigzag, hold/gate patterns.

3. Morph the shape:
   - SHAPE slides continuously through 16 positions in the active set.
   - Each integer position is a defined waveshape; the fractional value morphs between neighbours.
   - Modulate with CV for continuous timbral animation.

4. Offset phase:
   - PHASE shifts the waveform's start position. Polyphonic CV input modulates each voice independently.

5. Use the filter:
   - FILTER controls post-waveshape filter cutoff on a log scale.
   - At high settings (above ~0.8) the filter is transparent — useful for anti-aliasing at audio rate.
   - At LFO rates the filter turns off.

6. Add FM:
   - LIN FM is through-zero linear FM — patch an audio-rate source for classic FM timbres.
   - EXP FM with TRIM adds exponential pitch modulation.

7. Sync:
   - HARD SYNC resets all voice phasors on a rising edge — classic oscillator sync.
   - SOFT SYNC mirrors the phasor direction, creating a softer sync character.

Context menu:
- Reverse CV Mode: Momentary (default) or Toggle.
- Supersampling + Bandlimit Filter (Audio Mode).
- Oversampling Factor: 2x / 4x / 8x.

Patching suggestions

• Polyphonic oscillator: Patch a poly V/oct from a sequencer or MIDI interface. ZEPHYR outputs a poly audio signal with each voice independently pitched. Modulate SHAPE with a poly envelope for per-voice timbral variation.

• LFO with waveshape control: Set RANGE to Slow, leave V/OCT unpatched. The FREQ knob sets rate. Use Set C shapes for rhythmic gate-like modulation contours or Set B for smooth spectral movement.

• FM voice: Patch a second ZEPHYR's PHASOR output into LIN FM. Set FM depth with the FM knob. Use HARD SYNC from the carrier for sync-FM hybrid timbres.

• Melodic source for MIRAGE: Patch AUDIO out → MIRAGE CV IN. Use Set B harmonic shapes with slow SHAPE modulation for melodic lines with evolving timbre.

• Phasor as modulation source: PHASOR OUT is a 0–10V ramp following the oscillator phase. Use it to drive waveshapers, scanners, or as a clock-synced LFO with controllable waveshape via external processors.

• Sync pair: Patch two ZEPHYRs — master PHASOR OUT → 2nd HARD SYNC. Set lock FREQ higher for classic hard sync timbres. Modulate 2nd SHAPE while synced for sync-sweep sounds without a filter.