MIDIRack Manual

MIDIRack is a visual workbench for building MIDI processors and performance surfaces by hand — no code. Patch a node graph, lay out knobs, faders and step grids, bind them to the parameters that matter, and play it as an AUv3 plugin or a standalone app on iPad.

It runs two ways:

  • Standalone — its own transport, virtual MIDI ports, on-screen keyboard, and a built-in synth/drum voice so you can hear patches immediately.
  • AUv3 — a MIDI processor inside hosts like AUM, Logic Pro, Cubasis, Drambo or Loopy Pro. Insert it between a MIDI source and a synth; it follows the host transport and tempo automatically.

It runs on iPad (iPadOS 18+) and iPhone (landscape only, iOS 18+). A Mac version (macOS, Mac Catalyst) — the same app and AUv3 — is coming soon.

MIDIRack is a MIDI processor by default — it receives, transforms and generates MIDI. To hear a patch you can:

  • Add Synth or Drums instrument nodes in the graph (built-in sound, no external synth required),
  • Turn on the Synth/Drums pill in the standalone transport bar (Transport & ports) — renders everything that would leave MIDI Out,
  • Or route MIDI Out into a synth in your host or another app.

Contents


Getting started

Standalone

  1. Launch MIDIRack. First Light loads — a self-playing generative patch. Press play and listen. On first launch, a Welcome Tour spotlights the real UI (add menu, edit mode, graph, presets…) — a quick look-around, no hands-on work. When you want to learn by doing, open Book → Tutorials for two short guided lessons: Basic Control Surface and Nodes & Bindings. Reopen the tour anytime from Book.
  2. To hear patches without routing anywhere, either add Synth / Drums nodes in the graph (Built-in instruments), or tap the Synth/Drums pill in the transport bar.
  3. Or route MIDIRack Out into another app via the cable pill, press play, and perform.

Lorenz Skies — a self-playing generative patch

AUv3

  1. In your host, add MIDIRack as a MIDI processor / MIDI plugin (type aumi).
  2. Route a MIDI source into it and a synth after it.
  3. Press play in the host — tempo-synced nodes lock to host tempo.

Build your first patch

This is the core loop: graph + surface + play. (The Nodes & Bindings tutorial in Book → Tutorials is a guided, hands-on version of steps 5–7.)

  1. Tap the folder icon (or the patch name) and pick Harmony Keys — a simple one-finger chord patch. Press play.
  2. Tap the graph editor icon (nodes) to open Signal Flow. You will see MIDI In → processors → MIDI Out.
  3. Tap any node — the sidebar shows its parameters. Try changing Chord type or Quantize scale, then return to the surface and play.
  4. Tap on the graph toolbar → Notes → Arp. Drag it between MIDI In and the next node (or splice it onto the wire) so your chords arpeggiate.
  5. On the surface, tap the pencil (edit mode), then Add Knob. Drag the knob into place.
  6. With the knob selected, tap the sliders icon (inspector). Under Binding, pick a node parameter — e.g. the Arp’s Rate or Gate.
  7. Exit edit mode and turn the knob while holding a chord. You built it.

Signal Flow — wire processors between MIDI In and MIDI Out

Try a factory preset

Tap folder to open the preset browser: search, category chips, and layout miniatures. Good first listens:

  • First Light — the default boot patch; generative Life + arp, plays on launch.
  • Groovebox — drum lanes + sliding bass with two pattern banks per lane; flip the whole kit from the Scene Pads.
  • Berlin School — three Analog Seq rows of eight knobs: a plucked 1/16 riff with accents and 1/32 ratchet stutters, a slow Roots row that re-roots it bar by bar, and a stepped filter row. Twist Direction while it runs.
  • Infinity Canon — one fractal melody at three time scales at once (a self-similar prolation canon); turn Zoom to invert the lead.
  • Clockwork — a solid 4/4 kick and snare while hats (10), a clave (12) and a 3-beat bass gear against it, snapping back on the Re-Lock bar via the sequencers’ Reset inputs — or instantly from the Snap pad.
  • Chord Voyage — a chained chord progression on named chord pads.
  • Slide Bass — a 303-style acid line where every note glides.
  • Lorenz Skies — chaotic modulation + arp (self-playing; latch a chord).
  • Conway Choir — Game of Life into a pad.
  • Trance Gate — hold a chord, draw a gate pattern on the step row.

More presets are listed in the Factory preset list.


Using the app

Control surface

The main view is a grid of controls bound to the patch. Each control’s caption tells you what it drives: Arp · Rate = a node parameter; CC 74 = raw MIDI CC to your synth.

Knobs, faders, XY pads & buttons

  • Knobs / faders — drag to set the value. A fader runs along its long axis: resize it wider than it is tall for a horizontal slider, taller than wide for a vertical one. Values display musically (note names, divisions like 1/8, scale names). A knob’s Bipolar switch (inspector) fills the dial from its center with a detent at 12 o’clock — for pan, detune, and other ± controls.
  • XY pads — drag the puck; X and Y axes have independent bindings (node parameter or raw CC) in the inspector’s X Axis / Y Axis sections.
  • Buttons — send max when on, min when off. Toggle latches; Momentary is on only while held. Set mode with the Momentary switch in the inspector. Bind to Mute, A/B Switch, or Pulse node parameters to mute a branch, switch between A and B inputs, or fire a one-shot note/CC. Flip Send Note on to make the button play a note into the patch instead — momentary makes a trigger pad, toggle a latching drone switch (pick the note, velocity, and channel in the inspector).

Knob, fader, XY pad and button controls

Keyboards & pads

Performance controls that play notes into the patch. Each is its own node in the graph — route it independently through processors or to a specific output channel on MIDI Out (Thru, Ch 1–16, or MPE).

  • Keyboard — piano; glissando by sliding across keys.
  • Drum Pads — 4×4 GM kit on the percussion channel by default.
  • Chord Pads — one pad per scale degree (triad or 7th).
  • Scale Keyboard — only in-scale keys; slide across to glissando.
  • MPE Seaboard / MPE Strings — per-note pitch bend (glide), slide and pressure. External MPE synths and the built-in Synth now play with full per-note expression (see Built-in instruments). With Glide off a slide retriggers each key (a glissando) instead of bending.

Keyboard toolbar — every keyboard carries a compact options bar across the top:

  • Latch — notes sustain until tapped again (piano, chord and scale keyboards). Polyphonic Latch (inspector) controls whether latched notes stack or replace each other — chord pads default to exclusive (one chord at a time); piano and scale keyboards default to polyphonic.
  • Octave — menu pill (C−1…C7) to set the played range.
  • Root / Scale — pick the key (chord and scale keyboards).
  • Glide / Slide — toggle horizontal pitch-bend and vertical timbre (CC 74) on the MPE surfaces. When an axis is off it sends nothing for it (Glide off glissandos across keys; Slide off sends no CC 74).

Every change is saved with the patch and mirrored in the inspector. Hide the bar per control with Show Toolbar in the inspector (on by default).

Velocity — keyboards and pads use vertical touch position for velocity by default (Velocity Sensitive in the inspector). Turn it off and set a fixed Velocity for uniform hits.

Performance keyboards — piano, drum pads, chord pads and MPE surfaces

Step grids

Tap to toggle hits; drag across a row to draw a run. A playhead marks the current step while transport runs.

  • Microtiming — long-press a step, drag left/right to nudge (up to half a step).
  • Melody lanes — set a pitch per step on the surface grid. The bound Step Seq node’s Root + Scale snap output in-key (Chromatic = off); the ladder shows the sounding note after quantization.

Groovebox lanes — layer pickers, A·B·C·D pattern banks and Scene Pads

Lane+ — pattern, probability, tie & trigger conditions

Every sequencer lane (Drum, Melody, Chord, CC) adds the combined Lane+ control: a small picker above the row switches between up to five layers on the same 16 cells —

  • Pattern — the ordinary hit / pitch / chord / CC-value row described above.
  • Vel — per-step velocity as a percentage of the lane’s Velocity (default 100%). Drag a cell’s height to shape accents and ghost notes; a tap toggles full ↔ half level. Hidden on lanes without velocity (CC).
  • Prob — per-step probability 0–100%. Drag a cell’s height to dial it in; tap toggles a step fully on/off. A step below 100% only fires that percentage of the time it’s reached.
  • Tie — tap a step to tie it to the previous one: the tied step doesn’t retrigger, it just extends the previous note’s gate through it (no pitch glide). Handy for held notes and legato drum rolls. Hidden on lanes without ties (CC).
  • Cond — tap a step to cycle its trigger condition (Always, 1:2, 2:2, 1:3, 2:3, 3:3, 1:44:4): the step only fires on that one pass out of every M loops through the pattern — e.g. 1:3 fires once every three times round.

A Chord Seq lane uses the same card, but its pattern cells are named chord pads: each step shows its chord symbol (“C”, “Am”, “G7”) with the roman numeral above, following the node’s Root / Scale / Chord knobs live — the progression reads at a glance. Drag up or down to pick the degree (I…VII); tap toggles a rest. The auto-attached lane fits itself to the active steps, so a 4-chord progression gets four big pads.

Chord lane — a I–vi–IV–V progression as named chord pads

Long-press the control’s edge to open its inspector and turn on Hide Layer Picker if you just want the plain pattern row back (probability/tie/ condition data on the node is untouched — only the picker bar disappears).

Pattern banks

Next to the layer picker, the Drum, Step and Chord Seq lanes show four bank chips — A·B·C·D: four independent 16-step patterns per lane, each with its own probability, tie, condition and microtiming layers. Tap a chip to edit that bank and switch the sequencer to it — the change lands at the next pattern wrap, so switches always hit the downbeat. A small dot marks the bank that’s currently sounding when it differs from the one you’re editing, and the playhead only shows on the sounding bank.

Auto-follow is on by default: the lane tracks whichever bank is sounding, so you watch a Chain cycle A→B→C or a modulated Pattern switch scenes without touching anything. Tapping any bank chip pins the lane for manual editing; the eye chip at the end of the strip re-engages follow. (Also in the control inspector as Follow Playing Bank.)

Two node parameters drive this (bindable and modulatable like any other):

  • Pattern — the active bank. Bind a button for manual scene switches, or modulate it (a Counter fed by another lane’s EOC makes verse/fill arrangements).
  • Chain — Off, or cycle A·B / A·B·C / A·B·C·D automatically, one bank per pattern loop. While a chain runs it overrides Pattern.

To switch every lane at once, add Scene Pads (+ → Scene Pads): four pads (A–D) that point all Drum/Step/Chord Seq lanes at that bank in one tap — each lane still switches at its own wrap, so the whole kit lands together on the downbeat.

Presets saved before pattern banks existed simply play bank A, exactly as they always did.

Scopes & visualizers

  • Monitor — text log of MIDI at a splice point (add from menu).
  • Note Scope — scrolling piano-roll of live note output (add from menu).
  • CC Scope — scrolling CC trace (add from menu).
  • Looper — record / play / clear for a Looper node. Add one from the menu and it splices a Looper into the signal path automatically.

Note Scope, CC Scope, Monitor and Looper

  • Life grid, Register views, Scopes — attached automatically with their emergence nodes (Game of Life, Turing, Rule, Markov, Bounce, Attractor).

Game of Life colony, Turing register and an emergence scope

The surface does not scroll — every touch goes to the control under your finger. Drag a control taller in edit mode for full-height keyboards; the layout grows to fit.

See the Control catalog for a screenshot and description of every control type.

Header & edit mode

The surface header, left to right:

Annotated surface header — presets, patch name, tools and Graph button

ControlWhat it does
Folder / patch nameOpen the preset browser
IN / OUT LEDsMIDI activity (blue in, orange out) — shown in AUv3 and compact layouts
↶ / ↷Undo / redo
KeyboardSlide-up piano (injects notes into the graph)
DebugMIDI debug overlay
Signal flowShow / hide the signal-flow strip above the surface (reclaims space in small windows)
Add a control, visualizer, looper, or sequencer lane
EraserClear surface, graph, or everything
PencilEdit mode — move, resize, inspect controls
BookManual, the Welcome Tour (an interactive spotlight walkthrough of the live app; runs on first launch, replays from here) and Tutorials — two hands-on guided lessons, Basic Control Surface and Nodes & Bindings
GraphOpen Signal Flow (accent button, far right)

Edit mode (pencil, or double-tap a control):

  • Move and resize controls — others flow out of the way.
  • Add controls or whole sequencer lanes from .
  • Inspect (sliders) — rename, rebind, recolor (Appearance).

Tip: long-press a control’s edge (~½ s) to open its inspector without entering edit mode. The long-press is on the border only.

Graph editor

Open Signal Flow from the graph icon or the signal-chain chips. MIDI flows MIDI In → MIDI Out on solid orange wires; dashed wires are modulation. Chips are tinted to match their node’s color tag — tap one to jump to that node in the graph and open its inspector. Standalone toolbar also has transport and a # grid-snap toggle.

Every node is also a control source. Whatever continuous value a node produces — an LFO’s wave, a CC Seq’s steps, a CC Envelope’s level, Sample & Hold, keyboard aftertouch — drives a parameter the exact same way. There’s no separate “CC” vs “modulation” signal: drag any output onto a node’s body and choose Modulate param. (A node’s Target CC only matters when you also send its value onward to a synth.)

Signal Flow — MIDI wires and modulation

Wiring basics

ActionHow
Select / editTap a node — sidebar shows parameters
Select severalLasso (toolbar) → drag a box; drag any selected node to move the group
MoveDrag
ConnectDrag from an output onto another node’s left input edge
Connect without draggingNode inspector → ConnectionsAdd Connection
ModulateDrag any output onto a node’s body → pick Modulate param
Scale a mod wireInspector → Connections → tap a mod wire’s range pill → set From / To
Add mid-wireDrop a wire on empty canvas → Add Node
SpliceDrag a node onto a wire
DisconnectTap × on a wire, or scissors in Connections
Tidy layoutGroup icon — auto-arrange nodes
Color a pathNode inspector → Color Tag swatch
Group frame (dashed-rectangle) toolbar icon
BypassNode inspector → Bypass toggle (or bind a button)
Fit graphToolbar fit icon — frame the whole patch in the viewport
ZoomPinch (centred on touch/cursor); tap % to reset

Each node has an activity LED (top-right) — the first dark LED is where MIDI stops.

The inspector’s Connections section is a full patchbay of its own: Add Connection creates a MIDI or modulation link in either direction (multi-port nodes offer their port combinations), the scissors cuts one, and mod wires expose their range pill there. Duplicate links and MIDI loops are never offered. It works anywhere the inspector opens — including from the surface’s signal-chain chips, without entering the graph editor.

Organizing: color tags & group frames

As a patch grows, two purely cosmetic tools keep it readable — neither changes the sound, and both ride along when an AI assistant builds a patch:

  • Color tags — select a node, open the inspector’s Color Tag swatches and pick a hue (Default clears it). The color flows downstream: the node, every node reachable from it along MIDI wires, and the wires between them all take the tint — up to (but not including) the shared MIDI Out. Color the bass generator and its whole chain lights up, so parallel paths read at a glance.
  • Group frames — tap the (dashed-rectangle) toolbar icon to drop a labeled backdrop. With nodes selected it wraps the selection; otherwise an empty frame appears at the view centre. Drag its title chip to move the frame and everything inside together; drag the corner handle to resize. Select a frame to rename, tint or delete it (deleting leaves the nodes in place).

Bypassing a node

Open a node’s inspector and flip Bypass to disable it — its MIDI then passes straight through unprocessed (the toggle reads Active / Disabled). Entering bypass flushes any notes the node was holding as note-offs, so nothing hangs. Bypass is bindable: assign a button to the node’s bypass slot to mute or A/B a processor live without rewiring. The state is saved with the patch.

Patchbay (expanded nodes)

Tap the chevron on any node to expand its patchbay — a labeled row per output, mod source, and parameter input. Dropping a wire on a parameter row is the fastest way to modulate; you can also drop on the node body and pick from the menu.

Life node expanded patchbay

Port colors

StyleExamplesRole
Orange · solidIn, Out, Trig, ClockMIDI in/out and external step clocks
Amber · filledPopulation, Births, DeathsModulation outputs — drag onto any parameter
Amber · hollowRate, Mode, Scale…Parameter inputs — receive mod wires

Life node expanded — compact patchbay with clock ports, scalar parameters, and three mod outputs. Sequencer step rows stay on the surface grid, not in the patchbay.

Scaling a modulation wire

By default a modulation wire drives its target across the parameter’s full range — a source swinging 0…1 sweeps the whole parameter. To drive only a slice, open the Connections list in either node’s inspector and tap the wire’s range pill, then pick a From and To value. The choices are shown in the parameter’s own unitsRows … Columns for a Matrix’s Mode, note names for a pitch, percentages for a continuous control. Full range resets it.

This is what makes stepped modulation land where you expect. A Counter emits evenly-spaced values across the wire’s range, so wire one into a Matrix’s Mode and:

  • leave the range Full with the Counter’s count at 6 → it walks all six directions (Rows → Columns → … → Random);
  • cap the wire to Rows … Columns with count 2 → it alternates just those two.

Rule of thumb: set the Counter’s count to the number of values inside the wire’s range.

Clocking a generator externally (Trig / Clock)

Every clock-driven generator — Euclid, Random Notes, Fibonacci, Drum Seq, Step Seq, CC Seq, Game of Life, Turing, Rule, Markov, Random Walk, S&H — has two extra input ports, Trig and Clock. Either one takes over from the internal clock; they’re mutually exclusive (wire one or the other, not both), and the surface step grid’s playhead follows whichever is driving.

  • Trig — wire any note source (a keyboard, another sequencer, an arp). The node advances one step per incoming note-on instead of running at its Rate. It steps even while the transport is stopped, so you can hand-play or finger-drum a pattern.
  • Clock — wire a Clock node (+ → Generate & Modulate → Clock). The node advances one step per clock pulse. Run one Clock node into several generators’ Clock inputs to lock them all to one tempo and change it from one place — set the Clock’s Rate (and Sync to follow the host transport, or Free to run independently).

Leave both unwired and the node clocks itself as usual.

The pattern sequencers — Euclid, Fibonacci, Infinity, Drum Seq, Step Seq, CC Seq and Chord Seq — carry a fourth input, Reset: a note-on or clock pulse there restarts the pattern at step 1 on the next tick, on either clock mode. The pattern bank re-latches and the EOC realigns with it, so a reset re-syncs a whole chained kit. Wire a master lane’s EOC into the others’ Resets to keep polymetric lanes locked, or a performance pad to yank every lane back to the downbeat.

Chaining patterns with EOC

Fixed-length cyclic nodes — Drum Seq, Step Seq, Chord Seq, CC Seq, Matrix, Euclid, Fibonacci, Turing, Rule, Gate and Looper — carry a second orange output, EOC (end-of-cycle), beside their main Out. It fires one pulse each time the pattern wraps back to step 1 — a “bar done” tick that carries no notes.

Wire EOC into another node’s Trig or Clock to chain patterns: flip an A/B Switch once per bar, advance a longer Step Seq one step per Euclid cycle (polymeter), or restart a follower so phrases stay locked. Nodes without a Trig/Clock input ignore it.

For variations within one sequencer you don’t need EOC wiring at all: the Drum, Step and Chord Seq carry four pattern banks (A–D) with a built-in Chain — see Pattern banks above. Wire a lane’s EOC into a Counter that modulates another lane’s Pattern parameter for song structures beyond the built-in chain.

MIDI In as mod source

SourceSignal
Velocitylast note-on velocity
Notelast pitch (keytracking)
Gate1 while any note held
Mod WheelCC 1
Pitch Bendbipolar, centered
Pressureaftertouch

Modulating from a node’s output

When you wire a node’s Out (or a split voice, chord voice, etc.) to modulate a parameter, the target follows the pitch of notes that node actually emitted — after transpose, quantize, arp, and other upstream processing. Named mod sources (MIDI In Note, Life Population, LFO, …) behave as before.

Built-in instruments

Synth, Drums, Sampler and Slicer are terminal instrument nodes — they consume MIDI and render audio inside MIDIRack. They emit no MIDI downstream (unlike MIDI Out). Add from + → Instruments.

  • Synth — polyphonic subtractive voice: pick a Preset (Warm Pad, Acid Bass, Bright Lead…) to load a starting sound, then tweak Wave, resonant lowpass (Cutoff, Resonance), amplitude ADSR and filter envelope (Flt Env depth in octaves). It’s MPE-aware: play it from an MPE Seaboard/Strings keyboard and each note bends (glide) smoothly — pitch bend is slewed so MPE ribbons and Glide node ramps don’t stair-step. Slide (CC 74) opens the filter and channel pressure swells volume, independently. On ordinary single-channel MIDI, mod wheel (CC 1) adds vibrato; other patches behave as before. Hand-editing any control flips the preset to Custom.
  • Drums — procedural GM kit: Preset (Punchy, Trap, Lo-Fi…) fills per-voice Pitch (±12 semitones) and Decay (% tail length) for Kick, Snare, hats, toms, Crash, Ride, Perc, etc.
  • Sampler — SP-style chromatic sample player: pick a factory Sample or load your own from the node inspector (the root note is auto-detected so imports land in tune), trim the playable region on the waveform card, and set Mode to Loop to turn one-shots into playable pads, keys and basses. The Synth’s resonant lowpass and amp ADSR shape the result; Glide node slides bend it like any synth voice.
  • Slicer — loads a drum loop and cuts it at its detected hits into up to 16 one-shot slices, slice 1 on note 36 (a fresh Drum Seq’s default), slice 2 on 37, and so on — point one Drum Seq lane per slice and the loop becomes a kit you can resequence. Tap or drag markers on the waveform card; Sense re-runs detection, and each slice has its own Pit and Dec.

Wire keyboards, sequencers or generators into separate instrument branches for a self-contained patch — no external synth required. Multiple instrument nodes sum at the audio output.

Built-in Synth and Drums instrument nodes

Standalone: the transport Synth/Drums pill renders the entire patch (what would leave MIDI Out). When you add a graph Synth or Drums node, the pill turns off automatically so you don’t double the level — turn it back on if you want both the global voice and the instrument nodes.

AUv3: instrument nodes let the plugin produce audio directly in hosts that support a MIDI processor with audio output; you can still route MIDI onward to external synths on other tracks.

Emergence nodes

Game of Life, Rule, Turing, Markov, Bounce, Attractor — evolving patterns with live surface visualizers. Draw a Life seed and scan it into melody; flip Markov from Listen to Generate; wire Attractor X/Y/Z into any parameter. See the Node catalog for parameters.

Conway Choir — Game of Life driving a pentatonic pad

Slide-up keyboard

The pianokeys button slides up a keyboard whose notes enter the graph like host MIDI — arps, splits and quantizers all process them. The Octave menu sets the range; multi-touch chords supported.

Transport & ports

Standalone only:

  • Play/stop and BPM — tempo-synced nodes follow; AUv3 follows the host.
  • Metronome — tap the metronome icon for a click on every beat (accent on the downbeat). Follows host transport in AUv3; silent while stopped.
  • Cable pill — MIDI in/out. MIDIRack Out is always published.
  • Synth/Drums pill — global built-in voice for instant audition of the whole patch output. Pick Synth (poly) or Drums (GM kit). Independent of graph Synth / Drums instrument nodes — see Built-in instruments.
  • Stop releases all notes (stuck notes guarded at several layers).

Presets

Folder or patch name → full-screen browser with search, category filters, and layout miniatures. The All view is split into one section per category (factory + your saved patches of that category, each with a labeled header and count), followed by a My Presets group for anything uncategorized; picking a category or the Saved chip shows a single grid. Save names the current patch and includes a category picker (pre-filled from the loaded patch) so it’s filed in the right section; long-press saved cards to Delete. Clear = empty passthrough. AUv3 patches save inside the host project automatically.

Preset browser — search, filters and layout miniatures


Recipes

Short walkthroughs for common goals.

Arpeggiate held chords

  1. Open Harmony Keys (or any patch with MIDI In).
  2. Graph editor → splice Arp after MIDI In (or between existing nodes).
  3. Set Mode (up/down/random), Rate, Octaves.
  4. Add a knob bound to Rate on the surface for live control.
  5. Play and hold a chord — or use latch on a surface keyboard.

Euclidean kick

  1. Clear or start fresh. Graph editor → Generate → Euclid.
  2. Wire Euclid → MIDI Out. Set note to kick (e.g. C1), steps/pulses.
  3. Add Drum Lane on the surface — binds to the Euclid grid.
  4. Press play. Tweak rotate and gate on the node or via knobs.

Scene-switch a groovebox

  1. Add Drum Lane (repeat for more voices), Add Melody Lane for a bass. Draw bank A patterns on each lane.
  2. Tap a lane’s B chip and draw a variation — probability, tie, condition and microtiming switch with the bank.
  3. Add Scene Pads. Tap B: every lane flips at its own pattern wrap, so the whole kit lands together on the downbeat.
  4. For hands-free arrangements set a lane’s Chain to A·B instead — the lane cycles banks itself, and the eye chip lets you watch it.

Slide bass (portamento)

  1. Graph editor → wire your bass line (Step Seq, Turing, or a keyboard) into Notes → Glide, then to MIDI Out.
  2. Sequenced lines: set Glide’s Mode to Always — every note slides in from the previous pitch over Time ms, the 303 feel.
  3. Played lines: put Mono (Mode Legato) before Glide and keep Glide on Legato — overlapping keys slide, detached notes retrigger.
  4. Bend Range is announced to the synth automatically (RPN); match it manually only on hardware that ignores RPN. Try Solo Lead or Slide Bass to hear both setups.

Sequence a chord progression

  1. Add Chord Lane — a Chord Seq wired to the output with a starter I–vi–IV–V, shown as named chord pads (C · Am · F · G).
  2. Drag a pad up/down to pick the degree (I…VII); tap toggles a rest. Set Root, Scale and Chord (triad/7th) on the node — the pad names follow live.
  3. Feed it to an Arp for broken chords, or Chord Split for per-voice processing. Bank a second progression on the B chip and Chain them.

Self-contained sound with instrument nodes

  1. Graph editor → + → Instruments → Synth (or Drums).
  2. Wire MIDI In, a sequencer, or a surface keyboard into the instrument’s In — no MIDI Out needed for audition.
  3. Standalone: the Synth/Drums pill turns off when an instrument node is added (avoids doubling); AUv3 hosts hear audio from the plugin directly.
  4. Bind knobs to Cutoff, Resonance or per-drum Pitch / Decay.

Debug a silent patch

  1. Check OUT LED (orange) — is MIDI leaving?
  2. Open graph editor — follow activity LEDs left to right; first dark node = where the stream stops.
  3. Splice a Monitor there and read its log.
  4. Generators need transport running (play in standalone or host).
  5. Standalone: turn Synth/Drums on, add Synth / Drums instrument nodes, or confirm a synth is after the plugin.

Reference

Lookup sections — skim Getting started and Recipes first if you’re new.

Node catalog

Each entry shows the expanded node card as it appears in the graph editor, with ports, behavior, parameters and (when available) modulation outputs.

  • In / Out — orange MIDI wires. Most nodes have one input and one output. Multi-port nodes label their connectors (A, B, Trig, T, Low, High, 1…n).
  • Mod out — amber modulation sources (MIDI In, Life, Attractor, LFO…); drag onto any parameter knob.
  • InstrumentsSynth, Drums, Sampler and Slicer are audio sinks (no MIDI out); they render sound inside the plugin or standalone app.
  • Clockable generatorsIn (pass-through), Trig (step on note-on), Clock (step on pulse from a Clock node). Trig and Clock are mutually exclusive.
  • EOC — fixed-length cyclic nodes (Drum/Step/Chord/CC Seq, Matrix, Euclid, Fibonacci, Turing, Rule, Gate, Looper) expose an end-of-cycle trigger beside Out. It pulses once per pattern loop — wire it to another node’s Trig / Clock to chain or reset patterns.
  • Rate / Grid / Time — clock divisions from 4/1 down to 1/64 (including 1/8T), synced to host transport unless a node is in Free mode.
MIDI In node

MIDI In

In: — (graph entry) · Out: 1× MIDI
Mod out: Velocity · Note · Gate · Mod Wheel · Pitch Bend · Pressure

The graph's entry point. Every note, CC, pitch bend, aftertouch and program change from the host track, hardware controller, virtual MIDIRack In port, or the slide-up keyboard arrives here. Exactly one MIDI In node is allowed per patch.

Expand the node to expose six performance modulation sources. Drag Velocity onto Echo Decay so harder playing lengthens repeats, or Note onto filter cutoff for keytracking. Gate is high while any key is held.

MIDI Out node

MIDI Out

In: Thru · Ch 1–16 · MPE · Out: — (graph exit)

The graph's exit. Everything wired here reaches the AUv3 host, the MIDIRack Out virtual port, or the built-in synth.

When connecting a wire, choose the input connector that matches your routing goal — see input ports below.

Input ports

PortRole
ThruMerge stream without changing MIDI channel.
Ch 1–16Force all output to that channel (multitimbral setups).
MPEKeep per-note channel assignment for MPE-capable synths.
Sequence — drum, melody, chord, CC lanes, gates, swing
Drum Seq node

Drum Seq

In · Trig · Clock · Reset · Out: 1× MIDI + EOC

A tempo-synced 16-step drum lane for a single pitch — one node = one drum sound (kick, snare, hat…). The playhead advances at Rate (or from Trig / Clock); active steps fire note-ons with Velocity and Gate.

Incoming MIDI on In forwards unchanged, so branch several Drum Seq nodes in parallel from MIDI In to build a full kit. Bind a surface Sequencer Lane+ control to edit the pattern along with per-step velocity, probability, tie, and trigger condition.

Input ports

PortRole
InPrimary MIDI path — incoming events pass through unchanged to Out.
TrigExternal step clock: each note-on advances the internal pattern one step (overrides Rate).
ClockWire from a Clock node — one pulse per step (mutually exclusive with Trig).
ResetA note-on or clock pulse restarts the pattern at step 1 (on either clock mode) — wire a master lane's EOC or a performance pad here to re-align lanes.

Output ports

PortRole
OutDrum note-ons; input passes through alongside.
EOCEnd-of-cycle trigger — one clock pulse each time the pattern wraps to step 1. Wire into another node's Trig or Clock to chain patterns.

Parameters

ParameterRole
RateClock division (`4/1` … `1/64`, including `1/8T`). Follows host transport tempo.
NoteMIDI note number 0–127.
VelocityNote-on velocity 1–127.
Gate %Note length as percent of one grid step (1–100).
Chance %Probability 0–100% that an event fires.
StepsPattern length 1–16.
PatternActive pattern bank A–D — four independent 16-step patterns per lane (steps, probability, tie, condition and microtiming all switch together). A switch lands at the next pattern wrap; pick banks on the Lane+ A·B·C·D chips or bind/modulate the parameter.
ChainOff, or cycle banks A·B / A·B·C / A·B·C·D automatically — one bank per pattern loop (overrides Pattern).
Step 1–16Per-step on/off (● = active). Edit on the surface step grid.
Vel 1–16Per-step velocity as a percentage of Velocity (1–100, default 100) — shape accents and ghost notes. Lane+ control only.
Prob 1–16Per-step probability 0–100% (default 100). Lane+ control only.
Tie 1–16Per-step tie — suppresses the step's own note and extends the previous note's gate through it instead. Lane+ control only.
Cond 1–16Per-step trigger condition — fires only on that one pass out of every M loops (Always, `1:2`…`4:4`). Lane+ control only.
Micro 1–16Per-step timing nudge −50% … +50% of one grid step. Surface grid only.

Every parameter accepts amber mod wires (MIDI In signals, LFO, Attractor, Life stats, etc.).

Step Seq node

Step Seq

In · Trig · Clock · Reset · Out: 1× MIDI + EOC

A monophonic melody sequencer: one pitch per step (0 = rest). The playhead steps at Rate or external clock with configurable Gate and Velocity.

Built-in Root + Scale snap each step's output in-key (Chromatic = off). Draw pitches on the surface Sequencer Lane+ control — the ladder shows the sounding note after quantization, and a layer picker switches to per-step velocity, probability, tie, and trigger condition.

Input ports

PortRole
InPrimary MIDI path — incoming events pass through unchanged to Out.
TrigExternal step clock: each note-on advances the internal pattern one step (overrides Rate).
ClockWire from a Clock node — one pulse per step (mutually exclusive with Trig).
ResetA note-on or clock pulse restarts the pattern at step 1 (on either clock mode) — wire a master lane's EOC or a performance pad here to re-align lanes.

Output ports

PortRole
OutMelody note per step; input passes through alongside.
EOCEnd-of-cycle trigger — one clock pulse each time the pattern wraps to step 1. Wire into another node's Trig or Clock to chain patterns.

Parameters

ParameterRole
RateClock division (`4/1` … `1/64`, including `1/8T`). Follows host transport tempo.
VelocityNote-on velocity 1–127.
Gate %Note length as percent of one grid step (1–100).
StepsPattern length 1–16.
RootScale root (C, C#, D…). Used with Scale to snap output notes in-key.
ScaleScale name (Major, Minor, Pentatonic…). Chromatic (default) passes every note unchanged — effectively off.
PatternActive pattern bank A–D — four independent 16-step patterns per lane (steps, probability, tie, condition and microtiming all switch together). A switch lands at the next pattern wrap; pick banks on the Lane+ A·B·C·D chips or bind/modulate the parameter.
ChainOff, or cycle banks A·B / A·B·C / A·B·C·D automatically — one bank per pattern loop (overrides Pattern).
Step 1–16MIDI note per step (0 = rest). Edit on the surface step grid.
Vel 1–16Per-step velocity as a percentage of Velocity (1–100, default 100) — shape accents and ghost notes. Lane+ control only.
Prob 1–16Per-step probability 0–100% (default 100). Lane+ control only.
Tie 1–16Per-step tie — suppresses the step's own note and extends the previous note's gate through it instead. Lane+ control only.
Cond 1–16Per-step trigger condition — fires only on that one pass out of every M loops (Always, `1:2`…`4:4`). Lane+ control only.
Micro 1–16Per-step timing nudge −50% … +50% of one grid step. Surface grid only.

Every parameter accepts amber mod wires (MIDI In signals, LFO, Attractor, Life stats, etc.).

Chord Seq node

Chord Seq

In · Trig · Clock · Reset · Out: 1× MIDI + EOC

A chord progression sequencer: each step plays a diatonic chord on a scale degree (0 = rest, 1–7 = I…VII), voiced by stacking thirds in Root + Scale at Octave — as triads or, with Chord set to 7th, four-voice sevenths. Degrees 1·6·4·5 in C Major play the classic C–Am–F–G.

Same step machinery as the other lanes: the surface Sequencer Lane+ control shows each step as a named chord pad ("C", "Am", "G7" with its roman numeral) that follows the Root / Scale / Chord knobs live, with per-step velocity, probability, tie (holds the previous chord through the step) and trigger condition layers.

Input ports

PortRole
InPrimary MIDI path — incoming events pass through unchanged to Out.
TrigExternal step clock: each note-on advances the internal pattern one step (overrides Rate).
ClockWire from a Clock node — one pulse per step (mutually exclusive with Trig).
ResetA note-on or clock pulse restarts the pattern at step 1 (on either clock mode) — wire a master lane's EOC or a performance pad here to re-align lanes.

Output ports

PortRole
OutChord tones per step; input passes through alongside.
EOCEnd-of-cycle trigger — one clock pulse each time the pattern wraps to step 1. Wire into another node's Trig or Clock to chain patterns.

Parameters

ParameterRole
RateClock division (`4/1` … `1/64`, including `1/8T`). Follows host transport tempo.
VelocityNote-on velocity 1–127.
Gate %Note length as percent of one grid step (1–100).
StepsPattern length 1–16.
RootKey root (C, C#, D…) the degrees are built in.
ScaleScale the chords are stacked from (Major, Minor, modes…).
OctaveRegister of the degree-1 chord root (1–7).
ChordTriad or 7th — three or four stacked scale thirds.
PatternActive pattern bank A–D — four independent 16-step patterns per lane (steps, probability, tie, condition and microtiming all switch together). A switch lands at the next pattern wrap; pick banks on the Lane+ A·B·C·D chips or bind/modulate the parameter.
ChainOff, or cycle banks A·B / A·B·C / A·B·C·D automatically — one bank per pattern loop (overrides Pattern).
Step 1–16Scale degree per step (0 = rest, 1–7 = I…VII). Edit on the surface step grid.
Vel 1–16Per-step velocity as a percentage of Velocity (1–100, default 100) — shape accents and ghost notes. Lane+ control only.
Prob 1–16Per-step probability 0–100% (default 100). Lane+ control only.
Tie 1–16Per-step tie — suppresses the step's own note and extends the previous note's gate through it instead. Lane+ control only.
Cond 1–16Per-step trigger condition — fires only on that one pass out of every M loops (Always, `1:2`…`4:4`). Lane+ control only.
Micro 1–16Per-step timing nudge −50% … +50% of one grid step. Surface grid only.

Every parameter accepts amber mod wires (MIDI In signals, LFO, Attractor, Life stats, etc.).

Analog Seq node

Analog Seq

In · Trig · Clock · Reset · Out: 1× MIDI + EOC

The knob-per-step analog machine: eight pitches set as semitone offsets above Root (0 = off, +0…+24), walked Forward, Backward, Pendulum or Random. No banks, no piano roll — one row you dial in and perform.

Play a key and the whole row re-roots to it live (last-note latch, SH-101 style); the played note itself is consumed. A Slide step holds its note through the next step's onset — put Mono + Glide downstream and slides become true 303-style portamento. The velocity layer is the accent row: drag steps up to punch them.

Input ports

PortRole
InPrimary MIDI path — incoming events pass through unchanged to Out.
TrigExternal step clock: each note-on advances the internal pattern one step (overrides Rate).
ClockWire from a Clock node — one pulse per step (mutually exclusive with Trig).
ResetA note-on or clock pulse restarts the pattern at step 1 (on either clock mode) — wire a master lane's EOC or a performance pad here to re-align lanes.

Output ports

PortRole
OutThe stepped row; non-note input passes through alongside.
EOCEnd-of-cycle trigger — one clock pulse each time the pattern wraps to step 1. Wire into another node's Trig or Clock to chain patterns.

Parameters

ParameterRole
RateClock division (`4/1` … `1/64`, including `1/8T`). Follows host transport tempo.
VelocityNote-on velocity 1–127.
Gate %Note length as percent of one grid step (1–100).
StepsRow length, 1–8.
DirectionForward · Backward · Pendulum · Random walk of the row.
RootBase pitch when no key is held; playing a note re-roots the row.
KeyQuantizer key root; sounding pitches snap to Key + Scale.
ScaleQuantizer scale (Chromatic = off — offsets pass unchanged).
Step 1–8Semitone offset per step (0 = off, 1–25 = +0…+24 st). Edit on the surface step grid.
Vel 1–8Accent row — per-step % of Velocity.
Slide 1–8Hold this step through the next onset (legato tie).

Every parameter accepts amber mod wires (MIDI In signals, LFO, Attractor, Life stats, etc.).

CC Seq node

CC Seq

In · Trig · Clock · Reset · Out: 1× MIDI + EOC

A 16-step automation lane for one CC number — stepped filter sweeps, acid resonance, rhythmic tremolo. Each clock step writes the matching step value on Target CC while note data passes through.

Layer several CC Seq nodes on parallel branches to automate multiple parameters in sync.

Input ports

PortRole
InPrimary MIDI path — incoming events pass through unchanged to Out.
TrigExternal step clock: each note-on advances the internal pattern one step (overrides Rate).
ClockWire from a Clock node — one pulse per step (mutually exclusive with Trig).
ResetA note-on or clock pulse restarts the pattern at step 1 (on either clock mode) — wire a master lane's EOC or a performance pad here to re-align lanes.

Output ports

PortRole
OutMIDI passthrough with the stepped value written on Target CC.
EOCEnd-of-cycle trigger — one clock pulse each time the pattern wraps to step 1. Wire into another node's Trig or Clock to chain patterns.

Parameters

ParameterRole
RateClock division (`4/1` … `1/64`, including `1/8T`). Follows host transport tempo.
Target CCMIDI CC number to write (0–127).
StepsPattern length 1–16.
Step 1–16CC value 0–127 per step. Edit on the surface step grid.
Prob 1–16Per-step probability 0–100% (default 100). Lane+ control only.
Cond 1–16Per-step trigger condition — fires only on that one pass out of every M loops (Always, `1:2`…`4:4`). Lane+ control only.

Every parameter accepts amber mod wires (MIDI In signals, LFO, Attractor, Life stats, etc.).

Matrix node

Matrix

In · X Trig · Y Trig · Out: 1× MIDI + EOC

A grid sequencer: a grid of note values (0 = rest, default 4×4, up to 8×8). The internal clock walks the grid at Rate in a Mode — Rows, Columns, Snake, Diagonal, Spiral or Random — one cell per step, playing the current cell's note.

Or scan it as an XY sequencer: wire clocks into X Trig and Y Trig to advance column and row independently. Built-in Root + Scale snap each cell's output in-key (Chromatic = off). Like the other sequencers it pulses EOC when the cursor returns to the origin. Bind a surface Matrix control to edit the grid with a live playhead.

Input ports

PortRole
InPrimary MIDI path — passes through unchanged to Out.
X TrigNote-ons advance the column one step (overrides the internal clock).
Y TrigNote-ons advance the row one step — wire two clocks for XY scanning.

Output ports

PortRole
OutNote of the current cell (0 = rest); input passes through.
EOCEnd-of-cycle trigger — one clock pulse each time the pattern wraps to step 1. Wire into another node's Trig or Clock to chain patterns.

Parameters

ParameterRole
RateClock division (`4/1` … `1/64`, including `1/8T`). Follows host transport tempo.
ModeTraversal: Rows, Columns, Snake, Diagonal, Spiral, Random.
VelocityNote-on velocity 1–127.
Gate %Note length as percent of one grid step (1–100).
WidthActive grid columns 2–8.
HeightActive grid rows 2–8.
RootScale root (C, C#, D…). Used with Scale to snap output notes in-key.
ScaleScale name (Major, Minor, Pentatonic…). Chromatic (default) passes every note unchanged — effectively off.
Cell 1–64MIDI note per cell (0 = rest); the active Width × Height subset plays. Edit on the surface Matrix grid.
Prob 1–64Per-cell probability 0–100% (default 100). Engine-only — no dedicated surface control yet, but wireable as a mod destination.
Tie 1–64Per-cell tie — suppresses the cell's own note and extends the previously fired note's gate through it instead. Engine-only.
Cond 1–64Per-cell trigger condition — fires only on that one pass out of every M loops around the origin (Always, `1:2`…`4:4`). Engine-only.

Every parameter accepts amber mod wires (MIDI In signals, LFO, Attractor, Life stats, etc.).

Gate node

Gate

In: 1× MIDI · Out: 1× MIDI + EOC

Also called Trance Gate. Holds incoming notes and chops them with a 16-step on/off pattern — sustained chords become a rhythmic pulse without retriggering the source.

Unlike a sequencer, it reacts to whatever you play in real time. Draw the gate pattern on the step row for trance, house and EDM stutters.

Output ports

PortRole
OutGated note stream.
EOCEnd-of-cycle trigger — one clock pulse each time the pattern wraps to step 1. Wire into another node's Trig or Clock to chain patterns.

Parameters

ParameterRole
RateClock division (`4/1` … `1/64`, including `1/8T`). Follows host transport tempo.
StepsPattern length 1–16.
Step 1–16Gate open (1) or closed (0) per grid step. Draw on the step row.

Every parameter accepts amber mod wires (MIDI In signals, LFO, Attractor, Life stats, etc.).

Swing node

Swing

In: 1× MIDI · Out: 1× MIDI

Adds shuffle by delaying off-beat note-ons. Amount sets how late (percent of half a grid step); Grid is the timing reference.

Place after sequencers, arps or generators to loosen rigid timing without changing the underlying pattern.

Parameters

ParameterRole
Amount %Shuffle depth 0–100%. Higher = more laid-back off-beats.
GridReference clock division for quantization or swing (`4/1` … `1/64`).

Every parameter accepts amber mod wires (MIDI In signals, LFO, Attractor, Life stats, etc.).

Snap node

Snap

In: 1× MIDI · Out: 1× MIDI

Quantizes note-on timing to the clock grid while preserving note lengths. Strength blends dry input (0%) with fully locked timing (100%).

Use after live keyboard input or Humanize to tighten a part without reprogramming it.

Parameters

ParameterRole
GridReference clock division for quantization or swing (`4/1` … `1/64`).
Strength %Blend 0% = passthrough timing, 100% = fully snapped.

Every parameter accepts amber mod wires (MIDI In signals, LFO, Attractor, Life stats, etc.).

Control — mute, A/B switch, seq router, triggers
Mute node

Mute

In: 1× MIDI · Out: 1× MIDI

Branch mute / bypass. When Pass is Off the stream is silenced and held notes are flushed; On lets events through normally.

Bind a toggle button to Pass to mute a part during performance.

Parameters

ParameterRole
PassOff = muted (notes flushed), On = live.

Every parameter accepts amber mod wires (MIDI In signals, LFO, Attractor, Life stats, etc.).

A/B Switch node

A/B Switch

In: A · B · Trig · Out: 1× MIDI

Routes one of two musical inputs to Out. Active picks A or B when no trigger is active. Wire a sequencer or keyboard to Trig for performance switching.

In Gate mode (default), B is selected while trigger notes are held; Toggle flips on each trigger note-on. Off ignores Trig.

Input ports

PortRole
AFirst musical input — heard when Active is A.
BSecond musical input — heard when Active is B.
TrigControl input — note-ons here drive Gate (hold B while trigger notes play) or Toggle mode.

Parameters

ParameterRole
ActiveA or B when trigger input is idle.
TriggerOff / Gate / Toggle — how Trig port behaves.

Every parameter accepts amber mod wires (MIDI In signals, LFO, Attractor, Life stats, etc.).

Seq Switch node

Seq Switch

In: 1…N + Trig · Out: 1× MIDI

Sequential router: wire different musical sources to inputs 1…N and a clock or trigger source to Trig. Each trigger note-on advances the active step and passes only that input through.

Step selects manually when Trigger is Off. Held notes are flushed on step change to avoid stuck notes.

Input ports

PortRole
1…NMusical inputs (count = Inputs). Only the active step's stream reaches Out.
TrigAdvance clock — each note-on moves to the next input when Trigger is On.

Parameters

ParameterRole
InputsNumber of musical input ports (2–8).
StepActive input index (0-based). Manual when Trigger is Off.
TriggerOff = manual Step; On = advance on each Trig note-on.
NextMomentary — advance one step (same as a trigger pulse).

Every parameter accepts amber mod wires (MIDI In signals, LFO, Attractor, Life stats, etc.).

Pulse node

Pulse

In: 1× MIDI · Out: 1× MIDI

Momentary trigger node. A rising edge on Fire emits a short note burst or a CC value depending on Mode. Incoming MIDI passes through unchanged.

Bind a momentary pad or button to Fire for one-shot hits and automation spikes.

Parameters

ParameterRole
FireMomentary — rising edge fires the pulse.
ModeNote = MIDI note burst; CC = single CC value.
NoteMIDI note number 0–127.
VelocityNote-on velocity 1–127.
ChannelMIDI channel 1–16 for Note mode.
CCCC number for CC mode.
ValueCC value 0–127 for CC mode.

Every parameter accepts amber mod wires (MIDI In signals, LFO, Attractor, Life stats, etc.).

Filter & Route — channel, range, split, chance
Channel node

Channel

In: 1× MIDI · Out: 1× MIDI

Filters MIDI by channel and optionally remaps it. Passes only events on Input Ch (0 = any channel) and can rewrite them to Output Ch (0 = leave channel unchanged).

Route one branch to channel 10 for drums and another to channel 1 for bass in a multitimbral rig.

Parameters

ParameterRole
Input Ch0 = accept any channel; 1–16 = filter to that channel.
Output Ch0 = keep original channel; 1–16 = force output channel.

Every parameter accepts amber mod wires (MIDI In signals, LFO, Attractor, Life stats, etc.).

Note Range node

Note Range

In: 1× MIDI · Out: 1× MIDI

Passes only notes inside pitch and velocity windows. Events outside Low/High Note or Low/High Vel are dropped; CC and other message types pass through.

Split a keyboard by pitch, isolate hard hits, or block low-end rumble before a bass synth.

Parameters

ParameterRole
Low NoteLowest pitch in range (0–127).
High NoteHighest pitch in range (0–127).
Low VelMinimum velocity 1–127.
High VelMaximum velocity 1–127.

Every parameter accepts amber mod wires (MIDI In signals, LFO, Attractor, Life stats, etc.).

Msg Filter node

Msg Filter

In: 1× MIDI · Out: 1× MIDI

Per-type Pass/Block switches for Notes, CC, Pitch Bend, Aftertouch and Program Change. Strip CC clutter or pass only notes to a monophonic line.

Parameters

ParameterRole
NotesPass or Block note on/off.
CCPass or Block control change.
Pitch BendPass or Block pitch wheel.
AftertouchPass or Block channel pressure.
Prog ChangePass or Block program change.

Every parameter accepts amber mod wires (MIDI In signals, LFO, Attractor, Life stats, etc.).

Hold node

Hold

In: 1× MIDI · Out: 1× MIDI

A monophonic note latch: each new note-on replaces the previous held note. The prior note-off is sent when the next note arrives — legato overlap on a single voice with no extra parameters.

Chance node

Chance

In: 1× MIDI · Out: 1× MIDI

Probabilistic gate: each note-on passes with Chance %; note-offs always pass so notes never stick. Thin dense streams or add organic drop-outs to arps and generators.

Parameters

ParameterRole
Chance %Probability 0–100% that an event fires.

Every parameter accepts amber mod wires (MIDI In signals, LFO, Attractor, Life stats, etc.).

Divide node

Divide

In: 1× MIDI · Out: 1× MIDI

Passes every Nth note-on after skipping Offset hits — accent every third note in a run, or extract a sparse melody from busy generator output.

Also divides clock pulses: every Nth pulse from a Clock node passes through (separate counter from notes). Halve or quarter a master clock into a generator's Clock input.

Parameters

ParameterRole
Every NPass every Nth note-on or clock pulse (1–8).
OffsetSkip this many events before counting (0–7).

Every parameter accepts amber mod wires (MIDI In signals, LFO, Attractor, Life stats, etc.).

Rotate node

Rotate

In: 1× MIDI · Out: 1× MIDI

Round-robin channel assignment: first note goes to First Ch, then increments, wrapping after Channels count. Spread one stream across multitimbral timbres or layered synth patches.

Parameters

ParameterRole
First ChMIDI channel for the first note (1–16).
ChannelsHow many channels to cycle through (1–16).

Every parameter accepts amber mod wires (MIDI In signals, LFO, Attractor, Life stats, etc.).

Split node

Split

In: 1× MIDI · Out: T · Low · High

Keyboard split at Split pitch. Notes at or below the split point route to Low; above to High. T outputs the full input.

CC, pitch bend and aftertouch copy to both zones.

Output ports

PortRole
TThru — full unmodified input.
LowNotes at or below Split pitch.
HighNotes above Split pitch.

Parameters

ParameterRole
SplitSplit pitch 0–127 (default middle C = 60).

Every parameter accepts amber mod wires (MIDI In signals, LFO, Attractor, Life stats, etc.).

Chord Split node

Chord Split

In: 1× MIDI · Out: T · 1…n voices

Decomposes each chord into separate voice outputs (up to Voices). Lowest note → port 1, next → port 2, etc. T passes the untouched chord.

Route each voice to different processing chains for per-note effects.

Output ports

PortRole
TThru — full chord unchanged.
1…nIndividual chord voices (count = Voices), lowest note on port 1.

Parameters

ParameterRole
VoicesNumber of voice outputs 2–8.

Every parameter accepts amber mod wires (MIDI In signals, LFO, Attractor, Life stats, etc.).

Notes — transform, chords, mono lines, echo, humanize
Transpose node

Transpose

In: 1× MIDI · Out: 1× MIDI

Shifts every note by Semitones (−24…+24). Note-offs track the transposed pitch so voices don't stick. Instant key change or fine interval tweak (+7 = fifth up).

Parameters

ParameterRole
SemitonesInterval shift −24 … +24 semitones.

Every parameter accepts amber mod wires (MIDI In signals, LFO, Attractor, Life stats, etc.).

Mirror node

Mirror

In: 1× MIDI · Out: 1× MIDI

Inverts pitch around Pivot — notes above become equidistant below and vice versa. Set pivot to the tonic for inverted lines that stay in register.

Parameters

ParameterRole
PivotMirror axis 0–127 (MIDI note number).

Every parameter accepts amber mod wires (MIDI In signals, LFO, Attractor, Life stats, etc.).

Chord node

Chord

In: 1× MIDI · Out: 1× MIDI

Expands each note-on into a full Chord type (Major, Minor, 7ths, sus, etc.). Spread staggers voice onsets in milliseconds for a strummed feel. One-finger pad chords.

Parameters

ParameterRole
ChordChord quality (Major, Minor, dim, aug, 7ths, sus…).
Spread msDelay between chord voices 0–100 ms.

Every parameter accepts amber mod wires (MIDI In signals, LFO, Attractor, Life stats, etc.).

Harmony node

Harmony

In: 1× MIDI · Out: 1× MIDI

Adds up to two diatonic voices at scale-degree offsets from Root + Scale. Keep Root On = original note plus harmonies; Off = harmony voices only.

Parameters

ParameterRole
RootScale root (C, C#, D…).
ScaleDiatonic scale for voice selection.
Voice 1Scale-degree offset for first harmony (−7…+7).
Voice 2Scale-degree offset for second harmony (−7…+7).
Keep RootOn = pass input note plus harmonies; Off = harmonies only.

Every parameter accepts amber mod wires (MIDI In signals, LFO, Attractor, Life stats, etc.).

Velocity node

Velocity

In: 1× MIDI · Out: 1× MIDI

Scales note-on velocity: multiply by Scale % then add Offset. Compress or expand dynamics from a controller, sequencer or humanized stream.

Parameters

ParameterRole
Scale %Velocity multiplier 0–200%.
OffsetAdded after scaling (−64…+64).

Every parameter accepts amber mod wires (MIDI In signals, LFO, Attractor, Life stats, etc.).

Note Length node

Note Length

In: 1× MIDI · Out: 1× MIDI

Forces a fixed Length (clock division) on every note. Input note-offs are ignored; the node issues its own off at grid time — staccato lines from legato input.

Parameters

ParameterRole
LengthFixed note length as a clock division (`4/1` … `1/64`).

Every parameter accepts amber mod wires (MIDI In signals, LFO, Attractor, Life stats, etc.).

Mono node

Mono

In: 1× MIDI · Out: 1× MIDI

A voice limiter: only one note sounds at a time. Priority picks the winner — Last (newest press steals), Low or High — and releasing the sounding key falls back to the best still-held key, like a classic mono synth.

Mode orders the switch: Retrig closes the old note before the new one; Legato opens the new note first, so a legato-mode synth slides instead of restarting its envelope. Put it before mono basses, leads, or Glide.

Parameters

ParameterRole
PriorityWhich held note wins the voice: Last, Low, or High.
ModeRetrig = off-then-on; Legato = overlapped on-then-off.

Every parameter accepts amber mod wires (MIDI In signals, LFO, Attractor, Life stats, etc.).

Glide node

Glide

In: 1× MIDI · Out: 1× MIDI

Pitch-bend portamento (the 303 slide): a voice's first note passes through, and when its target note changes the change becomes a smooth pitch-bend ramp toward the new pitch over Time ms instead of a retrigger. Releasing back to a still-held key slides back down. Polyphonic — up to 8 voices glide independently: held notes are ranked by ascending pitch, each rank keeps its own voice, so whole chords slide when the harmony shifts.

Pitch bend is channel-wide, so each voice gets its own fixed output channel (Channel Base + voice index, wrapping mod 16) — the one-channel-per-voice trick MPE controllers use. Bend Range is announced on every voice channel as pitch-bend sensitivity (RPN 0,0), so the built-in Synth — and RPN-honoring hardware — lands exactly on pitch; jumps beyond the range re-anchor with a fresh note and keep sliding. Always mode glides even detached notes in from the previous pitch.

Parameters

ParameterRole
Time msGlide time 5–2000 ms per slide.
Bend RangeBend span in semitones (1–48); match the receiver.
ModeLegato = only overlapping notes slide; Always = every note.
Channel BaseLowest of the 8 per-voice output channels (1–16).

Every parameter accepts amber mod wires (MIDI In signals, LFO, Attractor, Life stats, etc.).

Ratchet node

Ratchet

In: 1× MIDI · Out: 1× MIDI

On each incoming note-on, fires Repeats additional hits at Rate with Decay % velocity falloff and Chance % per hit. Machine-gun hi-hats and trap snares.

Parameters

ParameterRole
RepeatsExtra hits per note-on 1–4.
RateClock division (`4/1` … `1/64`, including `1/8T`). Follows host transport tempo.
Decay %Velocity falloff per repeat 0–100%.
Chance %Probability 0–100% that an event fires.

Every parameter accepts amber mod wires (MIDI In signals, LFO, Attractor, Life stats, etc.).

Echo node

Echo

In: 1× MIDI · Out: 1× MIDI

Tempo-synced MIDI delay: Repeats echoes at Time division, each quieter by Decay %. Original notes pass through; echoes are added alongside.

Parameters

ParameterRole
TimeDelay interval as a clock division (`4/1` … `1/64`).
RepeatsNumber of echo taps 1–8.
Decay %Velocity reduction per repeat 0–100%.

Every parameter accepts amber mod wires (MIDI In signals, LFO, Attractor, Life stats, etc.).

Humanize node

Humanize

In: 1× MIDI · Out: 1× MIDI

Adds controlled randomness: Vel ±% jitter, Timing % shift and Chance % dropouts. Place after sequencers for life; before Snap to tighten back up.

Parameters

ParameterRole
Vel ±%Random velocity variation 0–100%.
Timing %Random timing jitter 0–100%.
Chance %Probability 0–100% that an event fires.

Every parameter accepts amber mod wires (MIDI In signals, LFO, Attractor, Life stats, etc.).

Pitch & Scale — quantize and arpeggiate
Quantize node

Quantize

In: 1× MIDI · Out: 1× MIDI

Snaps every note to Root + Scale. Essential after Random Notes, Walk, or emergence generators; also sweetens live keyboard input into a chosen key.

Parameters

ParameterRole
RootScale root (C, C#, D…).
ScaleScale name (Major, Minor, Pentatonic, etc.).

Every parameter accepts amber mod wires (MIDI In signals, LFO, Attractor, Life stats, etc.).

Arp node

Arp

In: 1× MIDI · Out: 1× MIDI

Arpeggiates held notes in Mode (Up, Down, Up/Down, Random…) at Rate across Octaves with Gate % length. Latch keeps running after keys are released.

Hold a chord for running trance and synth-wave leads.

Parameters

ParameterRole
ModeArp direction / pattern.
RateClock division (`4/1` … `1/64`, including `1/8T`). Follows host transport tempo.
OctavesRange extension 0–4 octaves.
Gate %Note length as percent of one grid step (1–100).
LatchOff = stop when keys released; On = keep arpeggiating.

Every parameter accepts amber mod wires (MIDI In signals, LFO, Attractor, Life stats, etc.).

Generate & Modulate — clock, euclidean, LFOs, CC tools
Clock node

Clock

In: 1× MIDI (pass-through) · Out: 1× MIDI + clock pulses

A dedicated timing pulse generator. Emits one clock pulse per Rate step on the MIDI stream (in addition to passing input through). Wire Out to the Clock input of sequencers and generators to drive many nodes from one master tempo.

Sync follows host transport; Free runs when transport is stopped.

Parameters

ParameterRole
RateClock division (`4/1` … `1/64`, including `1/8T`). Follows host transport tempo.
ModeSync = follow host transport; Free = run independently.

Every parameter accepts amber mod wires (MIDI In signals, LFO, Attractor, Life stats, etc.).

Euclid node

Euclid

In · Trig · Clock · Reset · Out: 1× MIDI + EOC

Euclidean rhythm generator: distributes Pulses hits evenly across Steps, with Rotate phase offset. Fires Note at Rate or external clock.

Input on In passes through — layer polyrhythms on top of existing material without replacing it.

Input ports

PortRole
InPrimary MIDI path — incoming events pass through unchanged to Out.
TrigExternal step clock: each note-on advances the internal pattern one step (overrides Rate).
ClockWire from a Clock node — one pulse per step (mutually exclusive with Trig).
ResetA note-on or clock pulse restarts the pattern at step 1 (on either clock mode) — wire a master lane's EOC or a performance pad here to re-align lanes.

Output ports

PortRole
OutEuclidean note hits; input passes through alongside.
EOCEnd-of-cycle trigger — one clock pulse each time the pattern wraps to step 1. Wire into another node's Trig or Clock to chain patterns.

Parameters

ParameterRole
StepsPattern length 1–16.
PulsesNumber of hits in the pattern 0–16.
RotateRotate pattern start 0–15.
NoteMIDI note number 0–127.
VelocityNote-on velocity 1–127.
RateClock division (`4/1` … `1/64`, including `1/8T`). Follows host transport tempo.
Gate %Note length as percent of one grid step (1–100).

Every parameter accepts amber mod wires (MIDI In signals, LFO, Attractor, Life stats, etc.).

Random Notes node

Random Notes

In · Trig · Clock · Out: 1× MIDI

Probabilistic melody generator at Rate: random pitches between Low/High Note with Chance % and Vel ±% variation.

Follow with Quantize unless you want chromatic chaos.

Input ports

PortRole
InPrimary MIDI path — incoming events pass through unchanged to Out.
TrigExternal step clock: each note-on advances the internal pattern one step (overrides Rate).
ClockWire from a Clock node — one pulse per step (mutually exclusive with Trig).

Parameters

ParameterRole
RateClock division (`4/1` … `1/64`, including `1/8T`). Follows host transport tempo.
Chance %Probability 0–100% that an event fires.
Low NoteLowest pitch in range (0–127).
High NoteHighest pitch in range (0–127).
VelocityNote-on velocity 1–127.
Vel ±%Random velocity spread 0–100%.
Gate %Note length as percent of one grid step (1–100).

Every parameter accepts amber mod wires (MIDI In signals, LFO, Attractor, Life stats, etc.).

Walk node

Walk

In · Trig · Clock · Out: 1× MIDI

Random-walk melody: each tick moves ±Step semitones, clamped to Low/High Note. Wandering, self-similar lines for ambient and generative bass.

Input ports

PortRole
InPrimary MIDI path — incoming events pass through unchanged to Out.
TrigExternal step clock: each note-on advances the internal pattern one step (overrides Rate).
ClockWire from a Clock node — one pulse per step (mutually exclusive with Trig).

Parameters

ParameterRole
RateClock division (`4/1` … `1/64`, including `1/8T`). Follows host transport tempo.
Step ±Max semitone jump per tick 1–12.
Low NoteLowest pitch in range (0–127).
High NoteHighest pitch in range (0–127).
Chance %Probability 0–100% that an event fires.
VelocityNote-on velocity 1–127.
Gate %Note length as percent of one grid step (1–100).

Every parameter accepts amber mod wires (MIDI In signals, LFO, Attractor, Life stats, etc.).

Fibonacci node

Fibonacci

In · Trig · Clock · Reset · Out: 1× MIDI + EOC

Two modes: Melody walks Fibonacci scale degrees; Rhythm fires only on Fibonacci step indices (1, 2, 3, 5, 8…). Self-similar phrases that never quite repeat.

Input ports

PortRole
InPrimary MIDI path — incoming events pass through unchanged to Out.
TrigExternal step clock: each note-on advances the internal pattern one step (overrides Rate).
ClockWire from a Clock node — one pulse per step (mutually exclusive with Trig).
ResetA note-on or clock pulse restarts the pattern at step 1 (on either clock mode) — wire a master lane's EOC or a performance pad here to re-align lanes.

Output ports

PortRole
OutGenerated notes; input passes through alongside.
EOCEnd-of-cycle trigger — one clock pulse each time the pattern wraps to step 1. Wire into another node's Trig or Clock to chain patterns.

Parameters

ParameterRole
RateClock division (`4/1` … `1/64`, including `1/8T`). Follows host transport tempo.
ModeMelody = pitch walk; Rhythm = Fibonacci hit pattern.
LengthPattern length 2–16.
NoteMIDI note number 0–127.
ScaleScale for melody mode.
SpanScale-degree span 2–24.
VelocityNote-on velocity 1–127.
Gate %Note length as percent of one grid step (1–100).

Every parameter accepts amber mod wires (MIDI In signals, LFO, Attractor, Life stats, etc.).

Infinity node

Infinity

In · Trig · Clock · Reset · Out: 1× MIDI + EOC

Per Nørgård's infinity series — a fractal melody played as scale degrees around Note. The sequence contains itself at every scale: Stride plays every Nth term, so 4, 16 or 64 reproduce the very same melody and 2 or 8 play its mirror inversion — a zoom knob for self-similarity you can hear.

Offset starts the loop deeper in the series, Length sets how many notes before the loop wraps (EOC pulses there), and Span caps how far the melody strays. Always lands in the chosen scale — no quantizer needed.

Input ports

PortRole
InPrimary MIDI path — incoming events pass through unchanged to Out.
TrigExternal step clock: each note-on advances the internal pattern one step (overrides Rate).
ClockWire from a Clock node — one pulse per step (mutually exclusive with Trig).
ResetA note-on or clock pulse restarts the pattern at step 1 (on either clock mode) — wire a master lane's EOC or a performance pad here to re-align lanes.

Output ports

PortRole
OutGenerated notes; input passes through alongside.
EOCEnd-of-cycle trigger — one clock pulse each time the pattern wraps to step 1. Wire into another node's Trig or Clock to chain patterns.

Parameters

ParameterRole
RateClock division (`4/1` … `1/64`, including `1/8T`). Follows host transport tempo.
NoteCentre note the degrees walk around.
ScaleScale the degrees are drawn from.
SpanMaximum scale-degree excursion 2–24.
StridePlay every Nth term (1–32) — 4/16/64 replay the series, 2/8 invert it.
OffsetWhere in the series the loop starts (0–127).
LengthLoop length 2–64; the EOC pulse fires at the wrap.
VelocityNote-on velocity 1–127.
Gate %Note length as percent of one grid step (1–100).

Every parameter accepts amber mod wires (MIDI In signals, LFO, Attractor, Life stats, etc.).

LFO node

LFO

In: — · Out: CC on Target CC
Mod out: main LFO signal (0–1)

Low-frequency oscillator writing Target CC continuously. Shape (sine, triangle, square…), Rate, Depth and Sync/Free mode.

The amber mod out port drives any parameter directly — wire to Echo Decay, filter cutoff, or another node's knob.

Parameters

ParameterRole
ShapeWaveform (Sine, Triangle, Square, Saw, Random…).
RateClock division (`4/1` … `1/64`, including `1/8T`). Follows host transport tempo.
DepthModulation amount 0–127.
Target CCMIDI CC number to write (0–127).
SyncSync = tempo-locked; Free = Hz-based rate.

Every parameter accepts amber mod wires (MIDI In signals, LFO, Attractor, Life stats, etc.).

CC Map node

CC Map

In: 1× MIDI · Out: 1× MIDI

Remaps From CCTo CC on Channel (0 = any). Duplicate a mod wheel to multiple targets or translate controller numbers for incompatible synths.

Parameters

ParameterRole
From CCSource CC number 0–127.
To CCDestination CC number 0–127.
Channel0 = any channel; 1–16 = filter to channel.

Every parameter accepts amber mod wires (MIDI In signals, LFO, Attractor, Life stats, etc.).

CC Math node

CC Math

In: 1× MIDI · Out: 1× MIDI + Target CC

Combines incoming CC A and CC B values: A, A+B, A−B, Average, Max or Min — then Scale, Offset and optional Invert on Target CC.

Parameters

ParameterRole
CC AFirst operand CC 0–127.
CC BSecond operand CC 0–127.
Target CCMIDI CC number to write (0–127).
ModeMath operation applied to A and B.
Scale %Output multiplier 0–200%.
OffsetAdded after scaling −127…+127.
InvertOff / On — flip output (127 − value).

Every parameter accepts amber mod wires (MIDI In signals, LFO, Attractor, Life stats, etc.).

S&H node

S&H

In · Trig · Clock · Out: 1× MIDI

Each Rate tick, Sample holds the current Source CC value or Random throws a new value on Target CC. Classic stepped and random filter sweeps.

Input ports

PortRole
InPrimary MIDI path — incoming events pass through unchanged to Out.
TrigExternal step clock: each note-on advances the internal pattern one step (overrides Rate).
ClockWire from a Clock node — one pulse per step (mutually exclusive with Trig).

Parameters

ParameterRole
RateClock division (`4/1` … `1/64`, including `1/8T`). Follows host transport tempo.
Source CCCC to sample 0–127.
Target CCMIDI CC number to write (0–127).
ModeSample = track input CC; Random = new value each step.

Every parameter accepts amber mod wires (MIDI In signals, LFO, Attractor, Life stats, etc.).

Counter node

Counter

In: 1× MIDI · Out: 1× MIDI
Mod out: stepped count (0–1)

A stepped counter: its value rises by one on every input event — a note-on or a clock / EOC pulse — and is exposed on the amber mod out. Wire it onto another node's indexed parameter (waveform, scale, clock division, Selector…) to walk through the options; set Count to the number of options so each input advances exactly one.

Mode picks Wrap (cycle), Up-Down (bounce) or Clamp (rise once and hold). Input passes through unchanged — the count never appears as MIDI.

Parameters

ParameterRole
CountNumber of steps before wrapping / bouncing 2–32.
ModeWrap = cycle; Up-Down = bounce; Clamp = rise once and hold.

Every parameter accepts amber mod wires (MIDI In signals, LFO, Attractor, Life stats, etc.).

Note→CC node

Note→CC

In: 1× MIDI · Out: 1× MIDI + Target CC

Maps Note # or Velocity to Target CC on every note-on — keytracking and performance-driven automation without a separate LFO.

Parameters

ParameterRole
SourceNote # = pitch drives CC; Velocity = dynamics drive CC.
Target CCMIDI CC number to write (0–127).

Every parameter accepts amber mod wires (MIDI In signals, LFO, Attractor, Life stats, etc.).

Smooth node

Smooth

In: 1× MIDI · Out: 1× MIDI

Slew-limits CC changes over Time ms. CC 0 smooths all CCs; otherwise only the named CC. Glides stepped sequencers and S&H into usable sweeps.

Parameters

ParameterRole
CC (0=all)Which CC to smooth (0 = all CC messages).
Time msSlew time 10–2000 ms.

Every parameter accepts amber mod wires (MIDI In signals, LFO, Attractor, Life stats, etc.).

Envelope node

Envelope

In: 1× MIDI · Out: 1× MIDI + Target CC

Per-note Attack / Decay / Peak envelope on Target CC, retriggered each note-on. Auto-filter sweeps and pluck brightness from your playing.

Parameters

ParameterRole
Target CCMIDI CC number to write (0–127).
Attack msRise time 1–2000 ms.
Decay msFall time 10–5000 ms.
PeakMaximum CC value 1–127.

Every parameter accepts amber mod wires (MIDI In signals, LFO, Attractor, Life stats, etc.).

Emergence — generative, evolving patterns
Life node

Life

In · Trig · Clock · Out: 1× MIDI
Mod out: Population · Births · Deaths

Conway's Game of Life on a 16×12 grid. Pulse mode fires notes from live-cell events; Scan reads columns as time and rows as scale degrees for looping ostinatos.

Draw a seed on the surface Life grid. Pair with Quantize or use built-in Scale mapping.

Input ports

PortRole
InPrimary MIDI path — incoming events pass through unchanged to Out.
TrigExternal step clock: each note-on advances the internal pattern one step (overrides Rate).
ClockWire from a Clock node — one pulse per step (mutually exclusive with Trig).

Parameters

ParameterRole
RateClock division (`4/1` … `1/64`, including `1/8T`). Follows host transport tempo.
ModePulse = event-driven; Scan = column scanner.
ScalePitch mapping for live cells.
Low NoteLowest pitch in range (0–127).
VelocityNote-on velocity 1–127.
Gate %Note length as percent of one grid step (1–100).
Cell 1–192Seed pattern on the 16×12 Life grid (bottom row = lowest pitch). Surface editor.

Every parameter accepts amber mod wires (MIDI In signals, LFO, Attractor, Life stats, etc.).

Rule node

Rule

In · Trig · Clock · Out: 1× MIDI + EOC

1D Wolfram cellular automaton (Rule 0–255; notable rules show tags like 90 · fractal). Trigger pitch mode fires from live cells; Melody maps columns to scale degrees.

Seed Center or Random initializes the row. Mutate % flips random cells each generation (0% = pure automaton). Dead or frozen rows reseed automatically so every rule stays musical.

Evolve morphs the row every 1/2/4/8 steps (Loop = once per pattern wrap, the default). Register view edits live cells (same idea as the Life grid seed editor).

Input ports

PortRole
InPrimary MIDI path — incoming events pass through unchanged to Out.
TrigExternal step clock: each note-on advances the internal pattern one step (overrides Rate).
ClockWire from a Clock node — one pulse per step (mutually exclusive with Trig).

Output ports

PortRole
OutCellular-automaton notes; input passes through alongside.
EOCEnd-of-cycle trigger — one clock pulse each time the pattern wraps to step 1. Wire into another node's Trig or Clock to chain patterns.

Parameters

ParameterRole
RateClock division (`4/1` … `1/64`, including `1/8T`). Follows host transport tempo.
RuleWolfram rule number 0–255 (notable rules tagged in the UI).
NoteMIDI note number 0–127.
VelocityNote-on velocity 1–127.
Gate %Note length as percent of one grid step (1–100).
StepsPattern length 1–16.
SeedCenter = single cell; Random = scattered start.
PitchTrigger = rhythm from cells; Melody = pitched output.
ScaleScale for Melody mode.
Mutate %Random cell flips per generation (default 10%).
EvolveLoop, 1 Step, 2 Steps, 4 Steps or 8 Steps between row morphs.
Cell 1–16Live row bits — tap or drag in the Register view to poke cells on/off.

Every parameter accepts amber mod wires (MIDI In signals, LFO, Attractor, Life stats, etc.).

Turing node

Turing

In · Trig · Clock · Out: 1× MIDI + EOC

Self-mutating shift register: Length bits, Fill % density, Mutate % bit-flip chance per step. Pattern slowly evolves from locked to chaotic.

Input ports

PortRole
InPrimary MIDI path — incoming events pass through unchanged to Out.
TrigExternal step clock: each note-on advances the internal pattern one step (overrides Rate).
ClockWire from a Clock node — one pulse per step (mutually exclusive with Trig).

Output ports

PortRole
OutShift-register notes; input passes through alongside.
EOCEnd-of-cycle trigger — one clock pulse each time the pattern wraps to step 1. Wire into another node's Trig or Clock to chain patterns.

Parameters

ParameterRole
RateClock division (`4/1` … `1/64`, including `1/8T`). Follows host transport tempo.
LengthRegister length 2–16.
Mutate %Bit-flip probability per step 0–100%.
Fill %Initial ones density 1–100%.
Low NoteLowest pitch in range (0–127).
High NoteHighest pitch in range (0–127).
VelocityNote-on velocity 1–127.
Gate %Note length as percent of one grid step (1–100).

Every parameter accepts amber mod wires (MIDI In signals, LFO, Attractor, Life stats, etc.).

Markov node

Markov

In · Trig · Clock · Out: 1× MIDI

Learns note transitions from incoming MIDI. Listen = pass-through training; Generate improvises at Rate in the learned style.

Feed it a melody loop in Listen mode, then switch to Generate for variations.

Input ports

PortRole
InPrimary MIDI path — incoming events pass through unchanged to Out.
TrigExternal step clock: each note-on advances the internal pattern one step (overrides Rate).
ClockWire from a Clock node — one pulse per step (mutually exclusive with Trig).

Parameters

ParameterRole
ModeListen = learn + pass through; Generate = improvise.
RateClock division (`4/1` … `1/64`, including `1/8T`). Follows host transport tempo.
VelocityNote-on velocity 1–127.
Gate %Note length as percent of one grid step (1–100).

Every parameter accepts amber mod wires (MIDI In signals, LFO, Attractor, Life stats, etc.).

Bounce node

Bounce

In: 1× MIDI (pass-through) · Out: 1× MIDI

2-D physics simulation: balls under Gravity bounce off walls and play scale degrees on impact. Organic polyrhythms from motion rather than fixed grids.

Parameters

ParameterRole
GravityDownward acceleration 1–100.
Bounce %Wall rebound energy 50–95%.
SpreadInitial horizontal spread 0–100%.
NoteMIDI note number 0–127.
VelocityNote-on velocity 1–127.
BallsNumber of balls 1–4.
ScalePitch map for wall impacts.

Every parameter accepts amber mod wires (MIDI In signals, LFO, Attractor, Life stats, etc.).

Attractor node

Attractor

In: — · Out: CC on Target CC
Mod out: X · Y · Z

Lorenz chaotic attractor driving Target CC. Never-repeating organic modulation — wire X, Y, Z mod ports to cutoff, resonance and LFO rate for evolving textures.

Parameters

ParameterRole
SpeedEvolution rate 1–100.
DepthOutput amplitude 0–127.
Target CCMIDI CC number to write (0–127).

Every parameter accepts amber mod wires (MIDI In signals, LFO, Attractor, Life stats, etc.).

Instruments — built-in synth and drum kit
Synth node

Synth

In: 1× MIDI · Out: — (audio sink)

Terminal polyphonic subtractive synth. MIDI on In is rendered to audio inside MIDIRack — nothing passes downstream. Oscillator, resonant lowpass and dual ADSR envelopes (amplitude + filter).

Wire sequencers, arps or keyboards into one or more Synth nodes for a self-contained patch. Multiple instruments sum at the output.

Parameters

ParameterRole
PresetSound preset: Init, Warm Pad, Pluck, Acid Bass, Bright Lead, Soft Keys, Sub Bass, Sweep Pad. Picking one fills the controls below so you can tweak from there.
VolumeMaster level 0–1.
WaveOscillator waveform: Sine, Tri, Saw, Square.
CutoffLowpass cutoff 0–100.
ResonanceFilter resonance 0–100.
Amp AttAmplitude attack 0–2000 ms.
Amp DecAmplitude decay 0–5000 ms.
Amp SusAmplitude sustain 0–100%.
Amp RelAmplitude release 0–5000 ms.
Flt AttFilter envelope attack 0–2000 ms.
Flt DecFilter envelope decay 0–5000 ms.
Flt SusFilter envelope sustain 0–100%.
Flt RelFilter envelope release 0–5000 ms.
Flt EnvFilter envelope depth −4…+4 octaves.

Every parameter accepts amber mod wires (MIDI In signals, LFO, Attractor, Life stats, etc.).

Drums node

Drums

In: 1× MIDI · Out: — (audio sink)

Terminal procedural GM drum kit. Each MIDI note triggers a synthesized voice (kick, snare, hats, toms, crash, ride, percussion). Renders audio in-plugin — no MIDI output.

Tune and shape each voice independently. Route a Drum Seq branch or Drum Pads into Drums for an all-in-one groovebox.

Parameters

ParameterRole
PresetSound preset: Init, Punchy, Boomy, Tight, Lo-Fi, Trap, Acoustic. Picking one fills the per-voice controls below so you can tweak from there.
VolumeMaster level 0–1.
Per-voice Pit / DecKick, Snare, Rim, Clap, Cl/Op Hat, Lo/Mid/Hi Tom, Crash, Ride, Perc — each has Pit (−12…+12 semitones) and Dec (25–400% tail length).

Every parameter accepts amber mod wires (MIDI In signals, LFO, Attractor, Life stats, etc.).

Sampler node

Sampler

In: 1× MIDI · Out: — (audio sink)

Terminal sample player: one sample repitched chromatically around its root note, SP-style — no time-stretch, and the character that comes with that. Pick a factory sound with Sample, or load your own file from the node inspector; the root note is detected automatically so imports land in tune.

The waveform card on the surface trims the playable region. Mode Loop finds a sustain loop inside the region, turning one-shots into playable pads, keys and basses; the Synth's lowpass and amp envelope shape the result. Slides from a Glide node bend the sample like any synth voice.

Parameters

ParameterRole
SampleFactory sound picker (Init keeps the loaded sample). Loading your own file flips it to Custom.
VolumeMaster level 0–1.
RootThe note the sample plays at original pitch (auto-detected on import).
Tune / FineCoarse ±12 semitones, fine ±50 cents.
Start / EndPlayable region, % of the file.
ModeGate follows note-off · One-Shot plays through · Loop sustains.
Cutoff / ResonanceResonant lowpass, as on the Synth.
Amp Att–RelAmplitude ADSR.

Every parameter accepts amber mod wires (MIDI In signals, LFO, Attractor, Life stats, etc.).

Slicer node

Slicer

In: 1× MIDI · Out: — (audio sink)

Terminal loop slicer: load a drum loop and it's cut at its detected hits into up to 16 one-shot slices, each on its own note — slice 1 on note 36 (a fresh Drum Seq's default), slice 2 on 37, and so on. Point one Drum Seq lane per slice at its note and the loop becomes a kit you can resequence.

The waveform card shows the markers: tap to add or remove one, drag to nudge. Sense re-runs detection — more sensitivity, more slices. Marker positions live in the patch like any other parameter, so edits persist and undo.

Parameters

ParameterRole
LoopFactory loop picker (Init keeps the loaded loop). Imported loops are sliced on load.
VolumeMaster level 0–1.
SenseOnset-detection sensitivity 0–100 — re-slices the loop.
SlicesActive slice count (written by detection, editable).
Cutoff / ResonanceResonant lowpass over all slices, as on the Sampler.
Per-slice Pit / DecEach slice has Pit (−12…+12 semitones) and Dec (25–400% — under 100 chokes the hit early).

Every parameter accepts amber mod wires (MIDI In signals, LFO, Attractor, Life stats, etc.).

Utility — monitor and loop
Monitor node

Monitor

In: 1× MIDI · Out: 1× MIDI (unchanged)

Zero-latency debug tap — MIDI passes through unchanged while messages log to the surface Monitor readout or a bound Note Scope. Splice anywhere the stream goes dark.

Looper node

Looper

In: 1× MIDI · Out: 1× MIDI + EOC

Tempo-synced MIDI looper: Record overdubs new material, Play loops captured events, Clear wipes the buffer. Length sets loop size in bars.

Drive from a surface Looper control for hands-free capture.

Output ports

PortRole
OutLive input plus looped playback.
EOCEnd-of-cycle trigger — one clock pulse each time the pattern wraps to step 1. Wire into another node's Trig or Clock to chain patterns.

Parameters

ParameterRole
LengthLoop length in bars 1–8.
RecordOff / On — enable overdub recording.
PlayOff / On — playback loop.
ClearMomentary — wipe loop buffer.

Every parameter accepts amber mod wires (MIDI In signals, LFO, Attractor, Life stats, etc.).

Control catalog

Each entry shows the control as it appears on the performance surface. Add controls from the header menu in edit mode, then drag into place and open the inspector (sliders icon) to bind.

  • CaptionNode · Parameter when bound to the graph; CC n when sending raw MIDI to your synth.
  • Performance controls (keyboards, pads) inject notes into a keyboardSource graph node — route that branch independently.
  • Visualizers attach to a specific node and update live from the patch.
Adjust & trigger — knobs, faders, XY, buttons
Knob

Knob

Binding: node parameter or CC · drag vertically

Rotary control for any bound parameter or raw CC. Values display musically when the target is a note, clock division or scale name.

Resize in edit mode; color via Appearance in the inspector.

Fader

Fader

Binding: node parameter or CC · drag vertically

Vertical slider — same binding model as a knob, better for long throws (filter sweeps, levels).

Selector

Selector

Binding: indexed node parameter (or CC) · tap / scroll to pick

Touch-friendly picker for indexed / named parameters — waveform, scale, mode, chord type, clock division. It adapts to the option count: a segmented pill bar for short lists, a scroll-wheel drum for long ones.

Prefer it over a knob whenever the parameter is a list of choices rather than a sweepable range. Short enums also appear as inline pills in the node inspector.

XY Pad

XY Pad

Binding: X and Y each → parameter or CC · drag the puck

Two-axis control. Set X Axis and Y Axis independently in the inspector — mix filter cutoff and resonance, or drive two node parameters at once.

Button

Button

Binding: parameter or CC · sends max on, min off

Toggle latches on/off; Momentary is active only while held. Use for gates, mode switches, or momentary CC bursts.

Performance — keyboards and pads
Keyboard

Keyboard

Emits: notes · own graph branch via keyboardSource

Piano keyboard — slide across keys for glissando. Octave menu (C−1…C7) and Octaves span set range; Latch on the toolbar sustains notes. Velocity Sensitive (inspector) maps vertical touch to dynamics.

Each keyboard is a graph node. Wire its output through processors or to a specific MIDI Out channel.

Drum Pads

Drum Pads

Emits: GM drum notes · channel 10 by default

4×4 pad grid mapped to General MIDI percussion (kick, snare, hats…). Set Channel in the inspector for non-GM rigs.

Switch Layout to Chromatic in the inspector for a pad grid rising semitone-by-semitone from Base Note at the bottom-left pad — for samplers, slicers, and gear with its own drum maps.

Chord Pads

Chord Pads

Emits: stacked chord per scale degree

One pad per diatonic degree — plays a triad or 7th from Root + Scale. Voices picks triad vs seventh. Toolbar: latch, octave, root and scale.

Scale Keyboard

Scale Keyboard

Emits: in-scale notes only

Every visible key is in Root + Scale — no wrong notes. Good for live performance and teaching patches.

MPE Seaboard

MPE Seaboard

Emits: per-note MPE · glide, slide, pressure

Continuous ribbon surface: horizontal glide (pitch bend per finger), vertical slide (CC 74), and pressure. Routes to MPE-capable synths on per-note channels.

MPE Strings

MPE Strings

Emits: per-note MPE · grid tuned in fourths

Linnstrument-style grid: rows in fourths, columns chromatic. Same MPE expression as Seaboard with a different layout.

Sequencer — step grids
Sequencer Lane+

Sequencer Lane+

Binding: sequencer lane node · hit, note, deg or val prefix

The default sequencer-lane control: a 16-step row with a small layer picker above it — Pattern (hits, pitches, chords or CC values, same tap/drag/microtiming gestures as a plain Step Grid), Vel (per-step velocity as a % of the lane's Velocity — drag to shape accents and ghost notes; hidden on CC lanes), Prob (per-step probability, drag to set), Tie (tap to tie a step to the previous note's gate — hidden on lanes without ties, like CC Seq), and Cond (tap to cycle the step's trigger condition). A moving playhead tracks every layer.

On a Chord Seq lane the pattern cells are named chord pads: each step shows its chord symbol ("C", "Am", "G7") with the roman numeral above, following the node's Root / Scale / Chord knobs live. Drag up/down to pick the degree I…VII; tap toggles a rest. The auto-attached lane fits itself to the active steps, so a 4-chord progression gets four big pads.

The A·B·C·D chips beside the picker are the node's four pattern banks: tap one to edit that bank and switch the sequencer to it at the next pattern wrap. By default the lane auto-follows whichever bank is sounding (watch a Chain cycle); tapping a bank chip pins it for manual editing and the eye chip re-engages follow. A dot marks the sounding bank when it differs from the one shown.

Add from + → Drum / Melody / Chord / CC Lane — MIDIRack creates the matching sequencer node and binds the control automatically. Long-press the control's edge and turn on Hide Layer Picker to collapse it back to a plain pattern row (the Prob/Tie/Cond data stays on the node either way).

Scene Pads

Scene Pads

Binding: none · drives every bankable lane's Pattern

A scene launcher: four pads (A–D) that point every bankable sequencer lane — Drum, Step and Chord Seq — at that pattern bank in one tap. Each lane switches at its own pattern wrap, so the whole kit lands on the downbeat.

The lit pad is the armed scene (every lane agrees); dots mark banks still sounding during the crossover. Lanes running a Chain keep cycling — set Chain to Off to hand them to scenes. Add from + → Scene Pads.

Step Grid

Step Grid

Binding: sequencer node · hit1…16, note1…16 or val1…16 prefix

16-step row with moving playhead. Tap toggles steps; drag across a row to draw a run. Long-press a step and drag horizontally for microtiming nudges. Melody lanes show the sounding pitch after the bound node's Root + Scale quantizer.

The plain, single-layer grid — new lanes get Sequencer Lane+ above instead; use this (or Lane+ with Hide Layer Picker) when you just want the pattern row.

Matrix Grid

Matrix Grid

Binding: Matrix node · cell1…64 grid

A grid of knobs (default 4×4, up to 8×8) mapped to a Matrix node's cells — each knob sets that cell's note (0 = rest), and a live playhead highlights the cell currently playing. Knob labels reflect the sounding pitch when Root + Scale quantize is on.

Auto-attached when you add a Matrix node; resize the control and the node's Width / Height follow.

Visualizers & debug — scopes, monitor, looper
Monitor

Monitor

Target: Monitor node · text log

Scrolling text log of MIDI at a splice point. Add from + → Monitor — splices a Monitor node into the signal path.

Note Scope

Note Scope

Target: Monitor node · piano-roll view

Scrolling piano-roll of note-ons and offs — see arps, sequencers and generators as they play.

CC Scope

CC Scope

Target: Monitor node · CC trace

Oscilloscope-style CC history: value on Y, time scrolling. One color per CC number — watch filter automation and LFOs.

Looper

Looper

Target: Looper node · Record / Play / Clear

Transport for a Looper node: record overdubs, play the loop, clear the buffer. Shows loop length and playhead. Add from + → Looper to splice the node automatically.

Emergence views — Life, Turing, scopes
Life Grid

Life Grid

Target: Life node · cell1…192 seed

16×12 Game of Life colony. Tap cells to draw the seed; the pattern evolves while transport runs. Attached automatically when you add a Life node, or bind manually.

Register

Register

Target: Turing or Rule node · live bit loop

Live view of a Turing shift register or Rule automaton row — active steps, playhead and mutations as the pattern evolves. Tap or drag to poke Rule cells on or off.

Scope

Scope

Target: emergence node · physics / melody trail

Node-specific visualizer: Markov note trail, Bounce ball physics, Attractor trajectory. Pairs with Markov, Bounce and Attractor nodes.

Factory preset list

Boot patch: First Light — generative Life colony + arp; loads on launch.

Grooveboxes & lines (self-playing): Groovebox — three drum lanes and a sliding bass, each with two pattern banks flipped from Scene Pads; Infinity Canon — one fractal melody at three time scales at once, a self-similar prolation canon locked by the sequencers’ Reset inputs; Clockwork — a solid 4/4 anchor with polymetric hats, clave and a 3-beat bass gearing against it, re-locked every N bars (or by hand from the Snap pad) through the sequencers’ Reset inputs; Amen Engine — a generative jungle breakbeat machine: three drum lanes cut an Amen-style break that never plays the same bar twice (per-step probability, trigger-condition fills, Ratchet snare rolls, Humanize), with a scale-locked sub sliding underneath through Glide; Berlin School — a classic modular sequencer patch in three rows of eight knobs: a plucked 1/16 riff with per-step accents and occasional 1/32 Ratchet stutters, transposed bar by bar through the Analog Seq’s note latch by a slow Roots row whose EOC also re-locks the phrase, over a CC Seq stepping the filter; Chord Voyage — a chained chord progression on named chord pads; Slide Bass — a 303-style acid line where every note glides.

Emergence (mostly self-playing): Conway Choir, Turing Bass, Cellular Drums, Lorenz Skies, Markov Mirror, S&H Acid, Golden Spiral.

Also included: Part Control, Trance Gate, Solo Lead (mono + glide portamento keyboard), Harmony Keys, Tighten, CC Shaper, performance keyboards, drum pads, chord pads, mixers, Starfield and more — browse by category in the preset browser.

Troubleshooting

  • No sound — standalone: turn Synth/Drums on, add Synth / Drums instrument nodes, or route MIDIRack Out to a synth. AUv3: place a synth after the plugin or use instrument nodes. Check the orange OUT LED.
  • Too loud / doubled — graph Synth / Drums nodes plus the Synth/Drums pill both render audio; the pill turns off when you add an instrument node, but you can re-enable it deliberately.
  • Patch is silent — follow activity LEDs in the graph; splice a Monitor at the first dark node. Generators need transport running.
  • Knob does nothing — read the caption. CC 74 hits your synth, not the patch graph — rebind in the inspector if you meant a node parameter.
  • Sequencer frozen — press play (standalone) or start host transport (AUv3).