while(music).net

Generative MIDI Sequencer

AutoBach is a generative MIDI sequencer that evolves musical clips over time. It mutates and recombines Euclidean sequences, using music-theory heuristics to favor harmonic coherence and emergent patterns.

No instrument handy? The integrated Csound synthesizer is the quickest way to get started.

Quick Start

  1. Select your MIDI output device
  2. Press Play (Space) to loop the current best clip
  3. Press Start Evolving (Ctrl+E) to begin automatic evolution

As evolution runs, higher-scoring clips replace lower-scoring ones.

Configuration

MIDI Configuration

  • Output Port: MIDI output device (hardware synth, or virtual instrument)
  • Clock Sync: Synchronizes MIDI devices to AutoBach's tempo
  • Lane Mapping: Routes each of up to 4 lanes to any MIDI channel (1-16). Use the same channel to layer multiple lanes on one instrument.

Playback Control

  • Play/Stop: Loop playback of current best clip
  • Tempo: Tempo in beats per minute (20-960 BPM)
  • Stash (Ctrl+S): Save currently playing clip
  • Queue (Ctrl+Q): Schedule stashed clip to play next

Evolution Control

  • Temperature: Mutation magnitude (higher = more exploration, lower = refinement)
  • Number of Lanes: Active lanes (1-4) - each generates independent sequences
  • Control Randomization: Configure randomizable control change (CC) messages
  • Minimum Note Length: Quantization grid (1/1=whole to 1/64=64th note)
  • Key & Scale: Per-lane root note (C1-B6) and scale (Major, Natural Minor, Harmonic Minor, Melodic Minor, Phrygian, Chromatic)
  • Note Ranges: Per-lane minimum and maximum note boundaries. Constrains generated notes to a specific range. Min must be ≤ key, Max must be ≥ key.

All parameter changes marked with ↺ trigger population reset.

Keyboard Shortcuts

Key Action
Space Play/Stop
Ctrl+S Stash clip
Ctrl+Q Queue clip
Ctrl+E Start/Stop Evolving
Ctrl+R Reset (clears population)