Documentation Index
Fetch the complete documentation index at: https://docs.vibrai.com/llms.txt
Use this file to discover all available pages before exploring further.
.vibrai project files
A .vibrai file is a plain YAML text file — a song blueprint. It sits next to your .als file and describes:
- Sections — the named parts of the arrangement (Verse 1, Chorus 1, Drop, etc.), their lengths, tension category, and positions.
- Parts — what plays in each section: which track, which generator, and any scale or variation overrides.
- Templates — arrangement-view clip placements and automation slot definitions.
- Generation settings — global tempo, scale (root + name), and a deterministic seed.
.vibrai files are a lightweight way to version-control your music. The vibrai capture command (CLI) or capture_project tool (MCP) creates a .vibrai from whatever is currently in your Live set — you don’t have to write one from scratch.
Generators
The engine ships two generators today. Each generator receives a section’s tension level, the active scale, and a stable seed, and produces a set of MIDI notes: Euclidean — for rhythmic parts (kick, snare, hi-hat, percussion). Uses the Bjorklund algorithm to spread hits evenly across a step grid. Tension controls density: higher tension = more hits; lower tension = sparser patterns. Ambient — for harmonic and melodic parts (pads, chords, bass, lead, arp). Generates drop-2 chord voicings from a bank of chord progressions, chosen per tension category. Scale-aware: output respects the resolved scale for each (section, part) pair. A third generator — targeting hip-hop and melodic lead patterns — is in development for Vibrai 1.0. Genre presets (.vibraigenre files) wire each part type to the appropriate generator and configure section lengths, tempo, and templates. More than a dozen genre libraries ship with Vibrai today.
Theme and variation
A Vibrai arrangement is built around a theme extracted from the first section (by position). Every other section’s output is derived from that theme, not from scratch — this guarantees coherence across a song. Variation operators let you modify the theme per-section without breaking coherence. Three operators ship today, applied in fixed order (transpose → density → motif) regardless of the order you write them in YAML:
| Operator | Field | Effect |
|---|---|---|
transpose | semitones (int) | Shifts all generated pitches by N semitones |
density | delta (-1.0 to 1.0) | Scales step density — more or fewer hits for drums, longer or shorter notes for pads |
motif | amount (0.0 to 1.0) | Blends an alternate motif over the theme |
vibrai generate --dry-run can preview individual sections safely.