Downspout plugins: capability reference for agents

Purpose: let an automated agent decide which plugin provides a capability, what it consumes and emits, and how to wire it. One paragraph per plugin. For user-facing prose and example chains see docs/summary.md; for scale tables see docs/scales.md.

Conventions that apply to every plugin

Quick reference

Plugin Bundle Kind Audio in/out MIDI in/out Transport
ambo ambo.vst3 audio effect 2/2 no/no no
arpgen arpgen.vst3 MIDI processor 0/2 yes/yes yes
basilico basilico.vst3 instrument (mono bass) 0/2 yes/no yes
bassgen bassgen.vst3 MIDI generator 0/2 yes/yes yes
bassops bassops.vst3 audio effect (sidechain) 4/2 yes/no no
bubbles bubbles.vst3 instrument (water) 0/2 yes/no yes
cadence cadence.vst3 MIDI processor 0/2 yes/yes yes
campione campione.vst3 instrument (sampler) 2/2 yes/no no
canticle canticle.vst3 instrument 0/2 yes/no no
chipper chipper.vst3 audio effect 2/2 yes/no no
conductor conductor.vst3 MIDI generator/controller 0/2 no/yes yes
counterpointer counterpointer.vst3 MIDI processor 0/2 yes/yes yes
damiano damiano.vst3 audio effect 2/2 yes/no no
drift drift.vst3 CC modulator + audio thru 2/2 no/yes yes
drumgen drumgen.vst3 MIDI generator 0/2 yes/yes yes
drumkit drumkit.vst3 instrument (drums) 0/2 yes/no no
e-mix e_mix.vst3 audio effect 2/2 no/no yes
floozy floozy.vst3 instrument 2/2 yes/no no
flues-synth-driver flues_synth_driver.vst3 MIDI controller 0/2 yes/yes no
gater gater.vst3 audio router 2/4 yes/no declared
ghost ghost.vst3 audio-to-MIDI 2/2 yes/yes yes
gremlin gremlin.vst3 instrument (glitch) 0/2 yes/yes no
gremlin-driver gremlin_driver.vst3 MIDI controller 0/2 yes/yes yes
ground ground.vst3 MIDI generator 0/2 yes/yes yes
guardian guardian.vst3 audio utility (limiter) 2/2 no/no no
harmonic-atlas harmonic_atlas.vst3 MIDI generator 0/2 yes/yes yes
helterskelter helterskelter.vst3 audio effect (wah) 2/2 yes/no yes
keyframe keyframe.vst3 audio effect (time stretch) 2/2 yes/no no
lifeform lifeform.vst3 MIDI generator 0/2 yes/yes yes
lightverb lightverb.vst3 audio effect (reverb) 2/2 yes/yes no
loopdelay loopdelay.vst3 audio effect (delay/looper) 2/2 yes/yes yes
luma luma.vst3 MIDI generator 0/2 yes/yes yes
magneto magneto.vst3 instrument (engine) 0/2 yes/no yes
melgen melgen.vst3 MIDI generator 0/2 yes/yes yes
midiscribe midiscribe.vst3 MIDI utility 0/0 yes/yes yes
mixgen mixgen.vst3 CC generator + audio thru 2/2 no/yes yes
m-mix m_mix.vst3 MIDI processor 0/2 yes/yes yes
mnemosyne mnemosyne.vst3 MIDI processor 0/2 yes/yes yes
moka moka.vst3 instrument (modal) 0/2 yes/no no
mosaic mosaic.vst3 instrument (slice sampler) 0/2 yes/no yes
oracle oracle.vst3 audio analyser + MIDI 2/2 yes/yes yes
orbit orbit.vst3 audio effect (spatial) 2/2 no/no yes
orchid orchid.vst3 audio effect (freeze) 2/2 yes/no yes
paunchlad paunchlad.vst3 effect/instrument (Launchpad) 2/2 yes/yes no
plank plank.vst3 instrument (Launchpad) 0/2 yes/yes yes
p-mix p_mix.vst3 audio effect (gate) 4/2 no/no yes
polymeter polymeter.vst3 MIDI generator 0/2 yes/yes yes
pratt pratt.vst3 instrument + filter 2/2 yes/no no
primefold primefold.vst3 audio effect (pitch) 2/2 yes/no no
quefrency quefrency.vst3 audio effect (formant) 2/2 yes/no no
resonance-garden resonance_garden.vst3 audio effect (resonators) 2/2 yes/no no
retune retune.vst3 MIDI processor (tuning) 0/2 yes/yes no
rift rift.vst3 audio effect (buffer) 2/2 yes/no yes
sidecar sidecar.vst3 MIDI generator 0/2 yes/yes yes
skream skream.vst3 audio effect (filter) 2/2 yes/no no
spliff spliff.vst3 audio effect (transients) 2/2 yes/no no
markov markov.vst3 MIDI generator 0/2 yes/yes yes
sprout sprout.vst3 MIDI generator 0/2 yes/yes yes
syrinx syrinx.vst3 instrument (birdsong) 0/2 yes/no no
t-mix t_mix.vst3 audio mixer 8/2 yes/yes no
treatment treatment.vst3 audio effect (acoustic) 2/2 yes/no no
tuney-vst tuney_vst.vst3 instrument + MIDI 0/2 yes/yes yes
voxmod voxmod.vst3 audio effect (vocoder) 4/2 yes/no no
worms worms.vst3 MIDI generator 0/2 yes/yes yes
xoxolo xoxolo.vst3 MIDI generator 0/2 yes/yes yes

Some “0/2” generators declare a stereo output they leave silent; that is a host convenience, not audio content. The gater audio bus counts are 2 in, 4 out (two stereo pairs).


MIDI generators

bassgen

Transport- and meter-aware bass line generator with persistent patterns, loop-boundary variation and style set Auto, Straight, Reel, Waltz, Jig, Slip Jig. Emits bass-register MIDI (default channel 1) and consumes incoming MIDI as context: configurable Follow or Dodge, channel/note matching and sensitivity let existing parts guide or suppress generated notes. Conductor Ch (0 = off) maps CC 21 to density, 22 to accent, 23 to auto-variation rate and CC 24 = 127 to a fresh pattern; CC 20 is ignored. Pair with basilico or any bass instrument. Requires host transport.

drumgen

Meter-aware MIDI drum generator with pattern variation and fills; genre vocabulary includes Breakbeat, Amen, Jungle and Hip Hop. Emits drum MIDI (default channel 10) aimed at drumkit’s note map; MIDI input exists only for control (Conductor CCs). Conductor Ch maps CC 21 to density, 22 to variation, 23 to mutation rate and CC 24 = 127 to a new pattern. Persistent patterns. Requires transport. Automaton layer (off by default; appended parameters ca_rule 0-10, ca_target 0-4, ca_every 1-8 loops per generation): the generated pattern is generation 0, then on each generation the targeted lanes (hats, percussion, toms, all three, or every lane) play the next row of a 1-D cellular automaton (rules 30, 90, 110, 150, 18, 54, 60, 22, 105, 126; wrapping edges) seeded from the lane’s own hits; the pass comes from the playback position, the stored pattern is untouched, empty lanes stay silent, and after 64 generations a lane returns to the pattern.

melgen

Phrase-aware melody generator that shapes contour, question/answer structure and longer-range form, and reacts to incoming musical context. Inertia (default 0 = unchanged output) biases the next interval Narmour-style: after a leap it favours reversal, after a step it favours continuation. Accepts MIDI and control MIDI, emits melody MIDI. Persistent state. Requires transport.

ground

Long-form bass generator with Dub and Jazz orientations, phrase planning (phrase roles Statement, Climb, Breakdown, Answer, Cadence) and register-guarded output, for evolving foundation lines rather than short loops. Conductor Ch: CC 20 sets tension and overrides the current phrase role (0-16 Statement, 17-48 Climb, 49-80 Breakdown, 81-112 Answer, 113-127 Cadence), CC 21 density, CC 22 motion, CC 23 vary, CC 24 = 127 regenerates the whole arc. Requires transport.

harmonic-atlas

Autonomous chord generator: emits bounded chords with no input, or treats incoming notes as pitch-class roots. Four movement families (tonal, modal, chromatic-mediant, neo-Riemannian). Gravity (default 0 = unchanged) replaces a chord with probability up to 85% by a functional-harmony target (V to I, IV to V, I to IV/V/vi, otherwise drift to I/IV/V; cadence positions land on the tonic). Voice-leading above 50% (default 75%) chooses inversion and octave by a sorted-voice-distance search against the previous chord (penalty outside C2-C6, voiced six chords back so a chord depends only on its number and seed); at or below 50% it uses the old fixed stacking. Voicing spread limits inversions tried. Output is HarmonyMidi for any chord-capable instrument. Requires transport.

worms (ToneWorm)

Transport-locked melody generator that walks a Tonnetz pitch lattice with Paterson’s Worm algorithm: six directional rules, each choosing among L120, L60, Straight, R60, R120. Scale quantisation, register control and loop-boundary variation; Randomize and Mutate actions make new rule sets. Conductor Ch reads CC 21-24 (density, velocity, vary, mutate). Route its MIDI to melgen or an instrument. Requires transport.

markov

Markov-chain melody generator, transport-locked, monophonic MIDI out. The walk is over the twelve pitch classes counted from Root through a 12 x 12 transition matrix (weights 0-8 per cell) held in plugin state, shown on screen and editable by clicking cells; Style (Stepwise, Triadic, Fifths, Pentatonic, Blues, Chromatic, Tonic pull, Uniform) replaces it, Clear zeroes it (an empty row plays any note in the scale) and Randomise draws one. Scale (the 24 canonical scales) zeroes out-of-scale notes before sampling, Chaos (default 50%) is the exponent 2^(1-2c) on the weights, and Order 1-2 uses the two previous notes where learned second-order data exists for the pair. Notes take the octave nearest the previous one inside Lowest note and Octaves (1-4); Density, Gate, Velocity, Step grid (as Sprout) and Channel shape the rhythm. Each Phrase length (1-8 bars) restarts the walk from the tonic, seeded by Seed, so a note is a pure function of its position: loops, locates, other block sizes and offline renders repeat exactly. Learn counts note-to-note transitions on the MIDI input (relative to Root, octave-equivalent; Learn channel 0 = all; feed one line), Learned mix blends first-order counts into the matrix row by row where a row has data, Clear learned (a counter parameter) forgets them; matrix and counts are saved as the model state. Conductor ch (0 = off): CC 21 Density, 22 Velocity, 23 Chaos, CC 24 = 127 re-rolls the melody at the next bar line. Pair with retune for microtonal melodies.

sprout

L-system melody generator. MIDI input is optional and off by default (see below); output is a monophonic line. Seven grammars (Plant, Koch, Dragon, Sierpinski, Cantor, Levy, Tree), a generation count, scale and root, played as a monophonic line locked to the transport on a grid from 1/16 up to 1 bar (bar length from the host time signature). Grow every N bars starts at generation 1 and adds one generation per N bars. Expansion is capped at a fixed symbol count and falls back to the deepest generation that fits; tables are prebuilt, so no allocation occurs in the audio thread. Cantor yields rhythm on one pitch, Koch/Tree contour, Plant long self-similar phrases. Settings are parameters only (steps derive from the preset). Grammars are built in; there is no rule editor. MIDI input: Pitch source = Held or Latched (default Scale, unchanged) maps degrees onto the notes held on the input (degree 0 = lowest held note, spread over the held tones at about seven degrees per octave; nothing held = rest; Input channel 0 = all) so it can follow harmonic-atlas, cadence or arpgen. Latched keeps the chord after the keys are released and replaces it on the first press after all keys are up. CC channel (0 = off) enables the Drift convention on that channel: CC 1 Probability, 2 Gate, 3 Range, 4 Generations. Conductor ch (0 = off): CC 21 Probability, 22 Velocity, 23 Seed, CC 24 = 127 restarts the pattern at the next bar line. MIDI is applied at block start; CCs write through to the parameters; the Generations count is latched once per bar. Appended parameters, so older projects are unchanged.

polymeter

Four Euclidean lanes, each with independent length, rotation, pulses, ratchets, probability, accent, note and channel; lengths can be coprime so lanes drift against each other. Each lane has an Automaton rule (default 0 = Euclidean; 1-255 selects a one-dimensional cellular automaton such as 30, 90, 110, 150) whose row evolves every lane cycle, with Pulses setting the initial row density. Events are scheduled at sample offsets within the host block on a single MIDI bus separated by note and channel. Requires transport. Conductor ch (0 = off; MIDI input is used only for this) maps CC 21 to a master Density (multiplies every lane’s probability), 22 to a master Energy (scales velocity), 23 to the seed, and CC 24 = 127 restarts every lane at the next bar line. Both masters default to 1 (no change).

xoxolo

x0x-style drum step sequencer with 11 drumkit-oriented lanes and patterns up to 32 steps; use when explicit programmed patterns are wanted rather than generation. MIDI input is used only for Conductor CCs. Requires transport. Evolve: any lane can be marked (per-lane flag in the saved pattern, written only when used); with Evolve rule (ca_rule 0-10, 0 = off) a marked lane plays the programmed grid on pass 0 and then successive rows of a 1-D cellular automaton seeded from it, each held for Evolve every (ca_every 1-8) passes; unmarked lanes always play their grid, the grid itself is never altered, empty lanes stay silent, and the lane returns to the grid after 64 generations. The pass number comes from the playback position, so it is repeatable. Conductor Ch (0 = off): CC 21 sets density (probability a programmed hit plays, seeded so it is repeatable), 22 sets energy (velocity 100 down to 40), 23 adds 0-63 generations to the Evolve layer, and CC 24 = 127 restarts the pattern and evolve generation at the next bar line. Defaults leave the pattern as programmed.

lifeform

Conway’s Game of Life sequencer for Launchpad (or UI-only use). Each beat advances a generation and living or newly born cells become melodic or drum notes, with scale mapping, velocity, gate, density, seed pattern and randomise/clear/step actions. The live 64-cell pattern is saved as a bitmap in plugin state; restoring a seed does not reseed over it. LED feedback is sent back to the controller. Clock mode is transport or free running. Requires transport in transport mode. Conductor Ch (0 = off) maps CC 21 to density, 22 to velocity, 23 to mutation and CC 24 = 127 to a fresh random pattern; Conductor CCs still pass through when Pass Input is on.

luma

Launchpad performance generator: lit grid cells drive coordinated bass, chord, melody and drum agents, with transport-clocked or free-running steps, multi-part MIDI output and LED feedback. Pattern state is saved. Conductor Ch (conductor_ch 0-16, default 0 = off) maps CC 21 to density, CC 22 to energy and CC 24 = 127 to scatter; CC 20 and 23 are unused.

sidecar

Phrase player for generated solo material. Deterministic local generation, with an optional localhost coordinator mode for phrases supplied by an external process (docs/sidecar-plan.md, docs/ai-api.md). Emits melody MIDI; requires transport.

tuney-vst

Text-to-music instrument and MIDI generator derived from Tuney 0.3.39. Typed or stored Unicode text is mapped through configurable alphabets, scales and microtonal tunings and played as seeded free-time phrasing through a small polyphonic internal synth, while also emitting ordinary MIDI. Text and tuning data are persistent state.

conductor

Arrangement controller. Emits bar-aligned section notes plus scene, density, energy, mutation and reset CC values on a configurable channel (default 16) at each section boundary, from a fixed musical form (Intro, Develop, Break, Reprise, Coda) or seeded weighted section selection with bounded durations. CC 20 Scene (0/32/64/96/127), 21 Density, 22 Energy, 23 Mutation, 24 Reset (127 at Intro and Coda). MIDI out only; it never alters the host graph. Targets: bassgen, drumgen, ground, worms, bubbles.

MIDI processors and utilities

arpgen

Transport-synced arpeggiator. Chord mode captures incoming chord slices; Scale mode derives scale runs, triads or sevenths from held register anchors. Rates quarter through thirty-second, straight and triplet; one to four octaves; up, down and alternating orders. Latch and capture state are internal. Requires transport. Conductor Ch (0 = off): CC 21 Density sets Octaves (1-4), CC 22 Energy sets Rate (1/4 up to 1/32).

cadence

Transport-aware harmoniser and comping generator that learns harmony from incoming MIDI (learned transition model) and emits chord/comping MIDI. No gravity control yet; a progression chosen by learned transitions, not a functional-harmony graph. Persistent state. Conductor Ch (0 = off): CC 21 Complexity, 22 Movement, 23 Variation, CC 24 = 127 relearns.

counterpointer

Learns incoming MIDI and emits a monophonic counter-melody. Counterpoint mode and Bass Descend mode; Inertia (default 0 = unchanged) is a scoring term in Counterpoint mode only. Routing column provides Freeze and channel selectors. Persistent state. Conductor (0 = off): CC 21 Density, 22 Embellish, 23 Short Rnd, CC 24 = 127 relearns.

mnemosyne

Phrase memory. Stores eight bounded phrases, accompanies incoming MIDI, or generates from recalled and transformed material; an internal motif covers an empty reservoir. Persistent motif state; requires transport.

m-mix

Transport-aware MIDI gate combining probabilistic P-Mix-style transitions with E-Mix-style Euclidean blocks: removes or passes notes before they reach an instrument. Conductor Ch (0 = off): CC 21 Density sets Open Bias, CC 22 Energy sets Maintain inverted (busier gating).

retune

MIDI effect that retunes a note stream to a Scala .scl scale. For each held note it sends a pitch bend that moves the nearest 12-TET key onto the scale degree, on its own channel (2-16), so the downstream instrument must follow per-channel bend at the same range (Bend range, 1-24 semitones, default 2, must equal the synth’s). CC and program change reach every channel; incoming pitch bend and channel aftertouch are dropped. With no file loaded it passes 12-TET unchanged. Only the scale file path is saved, not its contents; .kbm keyboard maps are not supported. Place between a generator and a per-channel-bend instrument.

midiscribe

MIDI capture utility, no audio. Passes all MIDI through unchanged; while Armed (default off) it records into a rolling window (Capture Beats 8/16/32/64) and writing (Write momentary trigger) exports a Type 0 Standard MIDI File at 480 PPQ with the host tempo. The export path is state (key exportPath, default /tmp/midiscribe.mid).

flues-synth-driver (FlueSynthDriver)

MIDI controller for the external Flues vocal/physical-model synthesizer. Converts plugin parameters (Disyn algorithm and three Disyn parameters, noise/DC level, interface type, formants F1-F4, nasal/sing/shout/fry modes, attack, release, tuning, delays, filter feedback, gain, trajectory controls) into CCs, with 31 selectable programs (MIDI program change 0-30) that remap nine sliders to CCs. Only changed parameters are sent (dirty tracking), and the first block after activation resends the sliders. Output channel and a Conductor channel are selectable; input MIDI passes through unless blocked, and Panic and Randomize actions are provided. No transport use.

gremlin-driver

Automation companion for gremlin. Several modulation lanes (shape, rate, depth, centre, target) and trigger slots (action, rate, chance) emit CC, scene/action commands and randomisation bursts, clocked by transport or an internal clock (BPM 40-220). Optional input MIDI pass-through (default on).

drift

Four-lane transport-synchronised MIDI CC modulator that also passes audio unchanged. Each lane is an LFO, sample-and-hold, bounded random walk, deterministic chaos source or audio envelope follower, with a target CC, depth and centre. Default CCs 1-4 so the effects that read those need no setup (see conventions).

mixgen

Transport-synchronised automatic producer for t-mix. Eight repeatable gain lanes use random, low-discrepancy or Euclidean patterns and send CC 20-27 to strips 1-8. T-Mix, FX-only and Full-bus profiles add four macros that route to loopdelay (CC 30, 31) and lightverb (CC 32, 33); CC 19 claims or releases the producer bus. Audio passes through.

oracle

Self-influence analyser: bounded analysis of level, onset, brightness, density, pitch class and incoming MIDI, mapped to rate-limited, guarded CC and note responses. Fixed analysis storage and a refractory interval after each response keep feedback bounded. Audio in and out, MIDI in and out.

ghost

Audio-triggered ghost-note generator: listens to audio (output silent unless Audio Thru is on) and emits MIDI quantised to the transport 16th grid. Onset accents jump to the next slot; quieter fills land on off-16th slots with probability Density, pushed late by Drag. Drums mode emits kick 36 and ghost snare 38 on channel 10; Notes mode walks a pentatonic-minor ladder from Base Note on a selectable channel. Sensitivity, Density, Velocity and Drag read Drift CC 1-4. Fires only while the transport runs. Natural chain: dry drum bus into ghost, ghost MIDI into drumkit.

Instruments

drumkit

Stereo synthesised drum instrument with one MIDI input and a mixer-style panel, one instrument per note: eleven instruments (Kick, Clap, Snare, Crash, Closed HH, Tom 1, Open HH, Tom 2, Bash, Cowbell, Clave), each with a mute. Natural target of drumgen, xoxolo, luma drum output and GM-style drum MIDI. Notes select unpitched drums, so pitch bend has no effect. Settings are parameters only.

basilico

Monophonic bass with five core models Upright, Electric, Dub, Acid and Industrial plus Reese and Hoover profiles; note priority (last-held), glide with legato behaviour, velocity accent, per-model filter and drive, free or tempo-synced wobble (amplitude, filter and stereo phase/flange targets with 0-360 degree start offset), and a Squelch acid macro. Follows per-channel pitch bend (sounding note’s channel, RPN 0 range, applied instantly rather than gliding). Host tempo used for wobble sync. Bypass silences it.

canticle

Twelve-voice instrument with keys, reed, pad, pluck and glass timbres for melody, counterpoint and chords. Per-channel pitch bend with RPN 0 range, voices keyed by channel and note.

floozy

Eight-voice hybrid physical/modulation synthesiser derived from floozy-poly; expressive leads, plucks and unusual textures. Declares audio input. Per-channel pitch bend with RPN 0.

moka

Modal “hit object” synth: eight damped modes per voice, six instrument tables (xylophone, glockenspiel, woodblock, glass bowl, metal sheet, tube), polyphony 1-12 (default 4), eleven presets including Kalimba. Note onset ramps over the mallet contact time (no click). Per-channel pitch bend with RPN 0, voices keyed by channel and note.

syrinx

Polyphonic birdsong synthesiser: Mindlin-Laje syrinx ODE solved per voice at audio rate with optional oversampling, pitch-tracking vocal-tract bandpass, formant bank, respiration and noise/roughness modifiers. Up to eight voices, oldest-completed voice stealing, ten presets (Wren to Custom). Controls: Level, Noise, Roughness, Timbre, Vibrato Rate and Depth, Contour Bend, Harmonic, AM Rate, Distance, Gain. CCs 1 vibrato depth, 7 volume, 71 roughness, 74 timbre, 76 vibrato rate, 77 noise, 91 distance, 94 contour bend. Per-channel pitch bend with RPN 0.

pratt

Number-theoretic synthesiser and filter built on Pratt polynomials. Synth mode plays eleven General MIDI voice families (piano, electric piano, organ, pluck, bass, strings, brass, reed, flute, pad, timpani) with spectra from the stable all-pole filter H_n at n = (note + 1) x base; handles sustain pedal, volume, expression, pan, pitch bend (own Bend Range control, per channel) and channel-10 drums. Filter mode filters the audio input through cascaded Index controls (n = A x B), Cutoff and Filter Mix; Synth + Filter does both. Timbre Index (separate fixed chain) darkens voices. Audio input is ignored in Synth mode. Persistent state.

magneto

Physically informed four-stroke engine synthesiser (Baldan et al., SIVE’15): per-cylinder digital waveguides feed intake runners, extractors, a straight pipe, a four-element muffler and a tailpipe; outputs intake, block vibration and tailpipe mixed to stereo for a Cabin/Front/Rear/Exterior listening position. Controls: RPM, Throttle, cylinders, displacement, compression, ignition width, Growl, pipe lengths, Silencing, Backfire, Inertia (flywheel). A MIDI note sets RPM (transposed down two octaves; C4 hits the 9000 rpm limit) and velocity sets Throttle; note-off is ignored. CC 1 throttle, 2 RPM, 3 silencing, 4 growl, 5 pipe, 6 turbulence, 7 output. Speed source Host Sync locks the engine cycle to tempo and idles when the transport stops. Sounds immediately at 850 rpm idle. Not a pitched voice: pitch bend is not applicable.

bubbles

Water sound generator, stereo, continuous without MIDI (note-on/off optionally gates and modulates). Seven modes (Stream, River, Ocean, Bubbles, Drips, Rain, Custom) over subtractive noise layers plus physical models (up to 36 bubble voices, 16 drip voices, four modal body resonances), with Flow, Turbulence, Size, Density, Heat, Depth, Brightness, Resonance, Randomness, Space, Drive and Output. Conductor Ch is accepted.

gremlin

Chaotic glitch instrument, monophonic source with performance scenes (Manual plus Splinter, Melt, Rust, Tunnel), 17 live and eight hidden parameters, eight macros, eight momentary controls, randomisation actions (reseed, burst, random source/delay/all, panic), delay behaviours, LED/controller feedback for a Launchpad-style surface, and master trim. Also accepts CC 16-31, 46-62 and button notes as a hardware surface. Plays pitch from MIDI notes above the controller button range and follows per-channel pitch bend for the last-played channel. Companion: gremlin-driver. Keeps its patch across activation and sample-rate change.

campione

Multi-zone sampler: each zone maps a WAV to a note range, pitch-shifts to the target pitch, fills gaps by nearest root, with per-zone ADSR, biquad filter (LP/BP/HP/notch), pan, zero-crossing-snapped and crossfaded loops, and mute. Loads WAV PCM and float32, REX2 slices (consecutive notes from C1), and Serum clm wavetables (first cycle extracted); records live input into a new zone with auto root-note detection; beat slicing; embedded MCP HTTP server (default on) for programmatic zone control (docs/mcp.md). Global MIDI channel filter (0 = all). Voices keyed by note and channel; per-channel pitch bend with the Bend Range control (0-24, default 2, no RPN). Eight voices, oldest stolen. A zone pinned to one channel will not sound for Retune’s other channels. Zone data and sample paths are state. Loop end is treated as exclusive (the WAV smpl spec is inclusive, so the last loop frame is skipped).

mosaic

Four-slot WAV sampler with MIDI and autonomous triggering (Trigger source MIDI, Autonomous, Both). Seeded slice selection, grain size, slice size, reverse chance, stereo spread, attack/release, 16 voices, zero-crossing boundary snapping. Pitch range (default 7) gives each slice a random transposition within the range and ignores the note; at 0 the note sets pitch (note - 60) and Pitch bend range (1-24, default 2) applies per channel. Sample paths are state. Requires transport for autonomous mode.

plank

Eight-string touch-synth derived from Plinky, driven from a Launchpad grid (each column a string, each row a scale degree; polyphony held rather than allocated). PolyBLEP oscillator pair morphing across 17 band-limited wavetables, resonant two-pole filter, two envelopes, tape delay, shimmer reverb, mid/side width, and several resonator engines. Emits LED and note MIDI (note-on/off on a base channel, with a MIDI thru switch). 24 scales, ordering governed by docs/scales.md. Input notes are grid presses, not pitches, so pitch bend is not applicable. Persistent state; host validation pending.

Audio effects

ambo

Stereo ambient processor with four rearrangeable module chains over Time, Spectral, Tape, Shimmer, Delay, Drive, Feedback, Mix and Output controls: granular smear, frozen-band motion, tape colour, shimmer diffusion, ping-pong echo, saturation and regenerative ambience. High Feedback and stacked shimmer become dense quickly; keep Output trimmed.

chipper

Lo-fi crusher: sample-and-hold rate reduction (Rate Div 1-64, optional Jitter 0-100%) followed by midtread bit quantisation (Bit Depth 1-16), then Mix and Output Gain (-12..+12 dB). CC overrides (default CC 1 bit depth, 2 rate div, 3 jitter, 4 mix on the selectable channel; CC 0 disables) so Drift drives it directly.

damiano

Six-mode stereo distortion (Soft, Tanh, Fuzz, Overdrive, Tube, Wavefold) with Drive 1-10, Tone (one-pole high shelf before the shaper, about 3 kHz, 50% = flat), Folds 1-8 (Wavefold only), Mix and Output Gain (+-24 dB). Stereo Linked/Split (default Linked, identical to before): Split gives the right channel its own Mode, Drive, Tone and Folds for a binaural effect. Selectable CC numbers (all on one CC channel, 0 = off): CC Drive and CC Shape (waveshaper mode in six steps) for the left or both channels, and CC Drive R and CC Shape R for the right channel (Split only), so two Drift lanes can modulate the channels independently.

skream

Scream filter: input through an ADAA2 anti-aliased tanh saturator and an SVF low-pass, with a high-passed, saturated feedback path gated by an envelope-follower expander. Ten presets. Controls Input Gain, Cutoff, Scream (feedback high-pass cutoff, clamped to Cutoff), Resonance (HP Q and feedback gain), Mix, Output Gain. Morph (-100..+100 %, default 0 = off, appended parameter) crossfades the forward SVF between low-pass and high-pass by a weight that follows the effective cutoff position (+: LP at low cutoff to HP at high; -: reverse; weight 0.5 is a notch), so Drift/CC sweeps of Cutoff also sweep the shape; 0 leaves output bit-identical to the plain low-pass. Selectable CC numbers override Cutoff and Scream.

bassops

Sidechain ducker plus mid/side bass management. Inputs 1-2 are the main signal, 3-4 a control signal (typically a dry kick send) driving an envelope follower whose inverse ducks the main signal. After ducking a linear-phase LP/HP FIR pair splits at a shared cutoff: bass stays in the mid channel, highs keep stereo width in the side. Reports 64-sample latency to the host.

e-mix

Transport-aware Euclidean stereo gate: deterministic block rhythms applied to audio.

p-mix

Transport-aware probabilistic stereo gate/mixer producing evolving channel switching and rhythmic dropouts. Oppose uses a sidechain on inputs 3-4: loud sidechain tends to make it quieter and vice versa.

t-mix

Eight-input mono-to-stereo mixer with level, pan, mute, solo, meters and master fader. Accepts Mixgen CC 20-27 as click-smoothed transient gain multipliers while the manual faders stay as the saved balance. Passes producer MIDI through.

loopdelay

Stereo delay and capture looper. Time is free (20-4000 ms) or follows host BBT from a quarter beat to four bars. Fixed CC 30 time and CC 31 feedback temporarily override the panel until Release MIDI; optional CC 19 gating, per-chain channel filter and MIDI through. Intended order t-mix -> loopdelay -> lightverb -> guardian.

lightverb

Fixed-cost stereo feedback-delay-network reverb, low CPU, usable as insert or 100% wet send. Fixed CC 32 Wet mix and CC 33 Space; same CC 19 lifecycle, channel isolation and MIDI-through behaviour as loopdelay.

guardian

Output safety processor for the end of autonomous chains: input gain (+-24 dB), look-ahead limiter with attack/release, clipper shape (none through gentle tanh to near hard clip), DC removal, true-peak guard, silence detection, bypass and latched fault diagnostics. Reports ceiling and latency to the host. No MIDI. Place last.

rift

Transport-locked live/sample buffer disruptor: WAV loading, chop and stutter repeats, reverse, skip, smear and pitch-slip actions, for fills, transitions and glitches. Sample path is state. Repeats can get loud; trim output.

orchid

Transport-aware voiced freeze/hold: autocorrelation capture and grid-synchronised loop holds turn incoming notes or textures into sustained rhythmic freezes.

keyframe

Extrema-sampling time stretch (Nielsen, DAFx26-26). Input reduced to timestamped local extrema whose spacing sets content-adaptive overlap-add splices; no transient detector. Time is a rate (1.00x down to slower; never faster, since input is live), Pitch is independent playhead rate (pitch ratio = Pitch / Time), Splice leash length K, Max Splice cap, Threshold (-60 dB default), Hold freezes the reference playhead. CC 1 time, CC 2 pitch, CC 7 output. Constant 8192-sample reported latency with the dry path matched; slow-downs reach an internal 65536-sample depth limit and then loop the held material. Default (unity, 60% wet) is nearly transparent.

quefrency

Cepstral formant and harmonic shifter ported from JigDAW. Each frame (2048 samples up to 50 kHz, 4096 above, hop a quarter) is split via the cepstrum into formant envelope and harmonic excitation, shifted and reshaped independently, and multiplied back: Formant shift (+-12 st), depth (0-200%), tilt, Pitch shift (+-24 st) and fine, Freq shift (+-1000 Hz), Harmonic depth, Lifter (0.5-5 ms), Estimator (Cepstral or True envelope), Mix, Output. CC 70-80 drive the eleven parameters in order. Reports 2047 or 4095 samples of latency.

primefold

Prime-harmonic feedback shifter: direct 2x, 3x, 5x pitch voices (time-domain dual-tap resamplers sharing a grain window of 512, 1024 or 2048 samples) recirculated all-to-all through a 256-sample delay and per-pass damping low-pass, so 4x, 6x, 8x, 9x, 10x emerge from feedback. Feedback is capped at 0.90, the loop contractive, with NaN guard. Dry, 2x/3x/5x levels, Feedback (CC 1), Damp, Grain, Mix (CC 2), Width, Output (CC 7). Feedforward latency equals the grain window and is reported; in-loop latency is not compensated, so composites arrive late.

voxmod

Vocoder and band-limited ring modulator in parallel, blended by Mix. Inputs 1-2 carry the carrier (selectable: inputs 1/2 or internal oscillator) and inputs 3-4 the modulator. Ring modulator frequency = Ring Freq x Ring Ratio, ratio quantised to 16 steps from -12 to +35 semitones, Ring Depth, polyBLEP saw/square. Vocoder: logarithmic filter bank across Spread octaves with asymmetric envelope followers; Sync feeds the ring-modulated signal back as the vocoder carrier. MIDI CC input. A panel XY pad maps X to Mix, Y to ring frequency. Needs a modulator with harmonics.

resonance-garden

Eight bounded damped resonators tuned by held MIDI notes (HarmonyMidi) or an internal scale, turning arbitrary audio into pitched evolving material: damping, inharmonicity, freeze, bounded feedback and deterministic voice replacement.

orbit

Ordinary stereo spatial processor (no HRTF or binaural claim): seeded orbit, pendulum, random-walk and figure-eight trajectories with distance filtering and conservative Doppler. Transport-aware and deterministic.

helterskelter

Automatic wah: resonant low-pass (Q 0.5-12) whose cutoff follows the input envelope (touch wah) and/or a BBT-synced ADSR cycle (1, 2, 4 or 8 beats, Gate Beats, Invert), Blend takes whichever opens further. Sensitivity, Depth, Resonance, Mix read Drift CC 1-4.

spliff

Adaptive transient processor in the Spiff manner: 3-band transient detector applies dynamic cuts or boosts only at transients. Cut mode tames clicks and harsh sticks (late in a chain); Boost lifts drum and piano attacks (before compression). Depth, Sensitivity, Decay and Mix read Drift CC 1-4; Sharpness, Decay LF/HF tilt, band splits, Trim, Delta monitoring and Bypass. Detector is mono, so the stereo image is preserved.

treatment

Physically modelled acoustic treatment panel: facing sheet (mass), porous fill (flow resistance) and air gap to the wall form a mass-air-mass resonator, with resonance w0 = c * sqrt(rho0 / (m D)) and an impedance match at r = rho0 c. Cavity and Air Gap in mm, Facing Mass in kg/m2, Flow Resist in Rayl/m; Amount scales absorption itself (0% is transparent). Read-only readouts report resonance, Q, peak absorption and diffusion corner. Seeded Randomise preserves Amount and Bypass. CC 1-5 read Amount, Cavity, Air Gap, Facing Mass, Flow Resist.

paunchlad

Launchpad dub performance effect and instrument: pads trigger echo throws, spring splashes, sirens, alarms, synthetic snare/crash/sub hits, lasers, thunder, rewind, bubbles, risers, horn effects, dropouts, chops and freezes over a processed audio pass-through, with LED feedback. Pad cells are momentary, so only the nine settings are saved.

gater

Routes one stereo input to one of two stereo output pairs by incoming MIDI: even note numbers to Output 1, odd to Output 2. It has no parameters and no saved state. It reads only note-on status byte 0x90 on channel 1 (a note-on with velocity 0 is treated as a note-on), so it does not follow other channels.


Choosing between plugins