while(music).net

AutoBach: Evolutionary Generative MIDI Sequencer

⚠️ WARNING: ALPHA QUALITY SOFTWARE

AutoBach is an evolutionary generative MIDI sequencer. A Genetic Algorithm evolves clips built from Euclidean Sequences; mutating and recombining them across generations. Music theory heuristics guide selection toward harmonic coherence and emergent patterns.

Download v0.4.0 (Windows x86-64)
Download v0.4.0 (Linux x86-64)

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 improvement
  4. Better clips automatically replace worse ones during evolution

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)