CLI for generating structured MIDI content for Ableton Live with multiple AI providers. It can analyze existing sets, extract style profiles, generate new material from prompts, expand arrangements, and push clips directly into Live.
- generates song JSON from natural-language prompts
- supports
anthropic,openai,codex, andclaude-cli - analyzes songs, albums, artists, and collections into hierarchical style profiles
- uses modular prompt layers for genre, harmony, arrangement, and planning
- compares generated material against reference profiles
- pushes clips into Ableton Live through
ableton-js
git clone https://github.com/delaudio/ableton-composer
cd ableton-composer
npm install
cp .env.example .env
# add ANTHROPIC_API_KEY and/or OPENAI_API_KEYGenerate a first set:
ableton-composer generate "melancholic IDM, 8 sections" \
--tracks "Bass,Drums,Pad,Lead,Chords,FX" \
--provider openaiAnalyze your own reference set into a reusable bundle:
ableton-composer analyze sets/reference-collection \
--scope album \
--artist "Example Artist" \
--album "Midnight Signals"Generate from the reference bundle:
ableton-composer generate "moody electronic sketch with restrained hooks" \
--style profiles/albums/example-artist/midnight-signals/bundle.json \
--tracks "Bass,Drums,Pad,Lead,Chords,FX" \
--provider openai \
--sections 4 \
--chunk-size 2Use reference sets only when you own the material, have permission to analyze it, or are working with synthetic/example material.
The full documentation now lives in the Minuto-powered docs site under docs/.
- Getting started:
docs/content/getting-started.md - CLI reference:
docs/content/cli.md - Providers:
docs/content/providers.md - Profiles:
docs/content/profiles.md - Prompt system:
docs/content/prompt-system.md - Workflows:
docs/content/workflows.md - Deployment:
docs/content/deploying.md
Run the docs site locally:
npm run docs:install
npm run docs:devBuild the static docs:
npm run docs:buildThis project uses the ableton-js MIDI Remote Script.
cp -r node_modules/ableton-js/midi-script \
~/Music/Ableton/User\ Library/Remote\ Scripts/AbletonJSThen in Ableton:
Preferences -> Link / MIDI -> Control Surfaces -> AbletonJS
src/
commands/ CLI commands
lib/ AI providers, analysis, profiles, Ableton helpers
prompts/ modular prompt system
schema/ JSON schema for generated songs
sets/ generated song directories
profiles/ analyzed style bundles
docs/ Minuto-powered static documentation site
ableton-composer owes a practical debt to ableton-js.
Its Remote Script and Live API bridge made it possible to prototype and ship a large part of this project's Ableton integration much faster than would otherwise have been realistic. This project builds on that groundwork with gratitude and treats it as an important source of inspiration for the Live-facing workflow.
MIT