livepilot 1.7.2 → 1.7.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -7,175 +7,323 @@
7
7
  ╚══════╝╚═╝ ╚═══╝ ╚══════╝╚═╝ ╚═╝╚══════╝ ╚═════╝ ╚═╝
8
8
  ```
9
9
 
10
- [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)
11
- [![CI](https://github.com/dreamrec/LivePilot/actions/workflows/ci.yml/badge.svg)](https://github.com/dreamrec/LivePilot/actions/workflows/ci.yml)
12
- [![GitHub stars](https://img.shields.io/github/stars/dreamrec/LivePilot)](https://github.com/dreamrec/LivePilot/stargazers)
13
- [![npm](https://img.shields.io/npm/v/livepilot)](https://www.npmjs.com/package/livepilot)
10
+ An agentic production system for Ableton Live 12.
14
11
 
15
- **AI copilot for Ableton Live 12** — 155 MCP tools, a deep device knowledge corpus, real-time audio analysis, generative algorithms, neo-Riemannian harmony, MIDI file I/O, and persistent technique memory.
12
+ 155 tools. Device atlas. Spectral perception. Technique memory.
13
+ Neo-Riemannian harmony. Euclidean rhythm. Species counterpoint.
16
14
 
17
- Most Ableton MCP servers give the AI tools to push buttons. LivePilot gives it three things on top of that:
15
+ It doesn't assist it produces.
18
16
 
19
- - **Knowledge** — A device atlas of 280+ instruments, 139 drum kits, and 350+ impulse responses. The AI doesn't guess device names or parameters. It looks them up.
20
- - **Perception** — An M4L analyzer that reads the master bus in real-time: 8-band spectrum, RMS/peak metering, pitch tracking, key detection. The AI makes decisions based on what it hears, not just what's configured.
21
- - **Memory** — A technique library that persists across sessions. The AI remembers how you built that bass sound, what swing you like on hi-hats, which reverb chain worked on vocals. It learns your taste over time.
17
+ <br>
22
18
 
23
- These three layers sit on top of 155 deterministic MCP tools that cover transport, tracks, clips, MIDI, devices, scenes, mixing, browser, arrangement, sample manipulation, generative algorithms, neo-Riemannian harmony, and MIDI file I/O. Every command goes through Ableton's official Live Object Model API — the same interface Ableton's own control surfaces use. Everything is reversible with undo.
19
+ ───────────────────────────────────────────────────────────────
24
20
 
25
- ---
21
+ ## Architecture
26
22
 
27
- ## The Three Layers
23
+ ```
24
+ ┌─────────────────────────────────────────────────────────────┐
25
+ │ │
26
+ │ KNOWLEDGE PERCEPTION MEMORY │
27
+ │ ─────────── ────────── ────── │
28
+ │ │
29
+ │ 280+ devices 8-band FFT recall by │
30
+ │ 139 drum kits RMS / peak mood, genre, │
31
+ │ 350+ impulse pitch tracking texture │
32
+ │ responses key detection │
33
+ │ │
34
+ │ ┌────────────┐ ┌────────────┐ ┌────────────┐ │
35
+ │ │ Device │─────▶│ M4L │─────▶│ Technique │ │
36
+ │ │ Atlas │ │ Analyzer │ │ Store │ │
37
+ │ └─────┬──────┘ └─────┬──────┘ └─────┬──────┘ │
38
+ │ └───────────────────┼───────────────────┘ │
39
+ │ ▼ │
40
+ │ ┌─────────────────┐ │
41
+ │ │ 155 MCP Tools │ │
42
+ │ │ 16 domains │ │
43
+ │ └────────┬────────┘ │
44
+ │ │ │
45
+ │ Remote Script ──┤── TCP 9878 │
46
+ │ M4L Bridge ─────┤── UDP 9880 / OSC 9881 │
47
+ │ │ │
48
+ │ ┌────────────────┐ │
49
+ │ │ Ableton Live │ │
50
+ │ └────────────────┘ │
51
+ └─────────────────────────────────────────────────────────────┘
52
+ ```
28
53
 
29
- Most MCP servers are a flat list of tools. LivePilot is a production system with three layers that work together.
54
+ The atlas gives the AI knowledge of every device in Ableton's library
55
+ real names, real URIs, real parameters.
30
56
 
31
- ### 1. Device AtlasWhat the AI knows
57
+ The analyzer gives it ears spectral data from the master bus
58
+ via a Max for Live device.
32
59
 
33
- A structured knowledge corpus of 280+ Ableton devices, 139 drum kits, and 350+ impulse responses. When the AI needs to load an instrument, it doesn't hallucinate a name and hope for the best. It consults the atlas, finds the exact preset, and loads it by URI.
60
+ The memory gives it history a searchable library of production decisions
61
+ that persists across sessions.
34
62
 
35
- The atlas is organized by category (synths, drums, effects, samples) with metadata about each device: what it sounds like, what parameters matter, what presets are available. When you say "load something warm and analog", the AI can search the atlas for instruments tagged with those qualities and pick one that actually exists in your library.
63
+ All three feed into 155 deterministic tools that execute on Ableton's main thread
64
+ through the official Live Object Model API. Everything is reversible with undo.
36
65
 
37
- This is the difference between an AI that says "I'll load Warm Analog Pad" (and crashes because it doesn't exist) and one that searches the drum kit index, finds "Kit-606 Tape.adg", and loads it by its real browser URI.
66
+ <br>
38
67
 
39
- ### 2. Analyzer — What the AI hears
68
+ ───────────────────────────────────────────────────────────────
40
69
 
41
- The LivePilot Analyzer is an M4L device that sits on the master track and feeds real-time audio data back to the AI:
70
+ ## Tools
42
71
 
43
- - **8-band spectrum** — sub, low, low-mid, mid, high-mid, high, presence, air
44
- - **RMS and peak metering** — true loudness, not just parameter values
45
- - **Pitch tracking and key detection** — Krumhansl-Schmuckler algorithm on accumulated pitch data
72
+ <br>
46
73
 
47
- This means the AI can verify its own work. After adding an EQ cut at 400 Hz, it reads the spectrum to confirm the cut actually reduced the mud. After loading a bass preset, it checks that the low end is present. Before writing a bass line, it detects the key of what's already playing.
74
+ ### CORE ──────────────────────────────────────────────────────
48
75
 
49
- Without the analyzer, the AI is working blind — it can set parameters but can't hear the result. With it, the AI closes the feedback loop.
76
+ The foundation. Session control, MIDI, device management, mixing.
77
+ Every tool maps directly to an LOM call — no abstraction, no guessing.
50
78
 
51
- ### 3. Technique Memory — What the AI learns
79
+ <br>
52
80
 
53
- The memory system (`memory_learn` / `memory_recall` / `memory_replay`) stores production decisions as structured, searchable, replayable data. Not just parameter snapshots — the full context: what genre, what mood, what made it work, what the signal chain was, what MIDI pattern drove it.
81
+ | Domain | # | Scope |
82
+ |--------|:-:|-------|
83
+ | Transport | 12 | playback, tempo, time sig, loop, metronome, undo/redo, cue points, diagnostics |
84
+ | Tracks | 14 | create MIDI/audio/return, delete, duplicate, arm, mute, solo, color, routing, monitoring |
85
+ | Clips | 11 | create, delete, duplicate, fire, stop, loop, launch mode, warp mode, quantize |
86
+ | Notes | 8 | add/get/remove/modify MIDI notes, transpose, duplicate, per-note probability |
87
+ | Devices | 12 | load by name or URI, get/set parameters, batch edit, racks, chains, presets, toggle |
88
+ | Scenes | 8 | create, delete, duplicate, fire, name, color, per-scene tempo |
89
+ | Browser | 4 | search library, browse tree, load items, filter by category |
90
+ | Mixing | 11 | volume, pan, sends, routing, meters, return tracks, master, full mix snapshot |
54
91
 
55
- Five technique types: `beat_pattern`, `device_chain`, `mix_template`, `preference`, `browser_pin`. Each stores three layers of data:
92
+ <br>
56
93
 
57
- | Layer | Contents | Purpose |
58
- |-------|----------|---------|
59
- | **Identity** | UUID, name, type, tags, timestamps, rating | Indexing and filtering |
60
- | **Qualities** | Mood, genre, rhythm feel, harmonic character, sonic texture, production notes | Search ranking and creative context |
61
- | **Payload** | Raw MIDI notes, device params, tempo, kit URIs, send levels | Exact replay or adaptation |
94
+ ### PERCEPTION ────────────────────────────────────────────────
62
95
 
63
- The agent consults memory by default before creative decisions. `memory_recall(query="dark heavy 808")` matches against mood, genre, and texture — not just names. The results inform the AI's choices without constraining them. Say "ignore my history" and it works from a clean slate. Say "use that boom bap beat from last session" and it pulls the exact technique and replays it.
96
+ The M4L Analyzer sits on the master track. UDP 9880 carries spectral data
97
+ from Max to the server. OSC 9881 sends commands back.
64
98
 
65
- Over time, the library becomes a structured representation of your production taste: swing ranges, kit preferences, harmonic tendencies, arrangement density. The AI reads across this at decision time. New output is always generated; the memory shapes the generation.
99
+ All 135 core tools work without it the analyzer adds 20 more
100
+ and closes the feedback loop.
66
101
 
67
- ### How the layers combine
102
+ <br>
68
103
 
69
- "Make a boom bap beat at 86 BPM" triggers the full stack:
104
+ ```
105
+ SPECTRAL ─────── 8-band frequency decomposition (sub → air)
106
+ true RMS / peak metering
107
+ Krumhansl-Schmuckler key detection
70
108
 
71
- 1. **Atlas** finds the right drum kit (not a guess, a real preset with real samples)
72
- 2. **Memory** recalls your previous boom bap patterns, checks your preferred swing amount and velocity curves
73
- 3. **Tools** creates tracks, loads instruments, programs MIDI, chains effects, sets levels
74
- 4. **Analyzer** reads the spectrum to verify the kick sits right, detects the key for the bass line, checks RMS to balance levels
109
+ DEEP LOM ─────── hidden parameters beyond ControlSurface API
110
+ automation state per parameter
111
+ recursive device tree (6 levels into nested racks)
112
+ human-readable display values as shown in Live's UI
75
113
 
76
- No other Ableton MCP server does this. Others have tools. LivePilot has tools + knowledge + perception + memory.
114
+ SIMPLER ──────── replace / load samples
115
+ get slice points, crop, reverse
116
+ warp to N beats, get audio file paths
77
117
 
78
- ---
118
+ WARP ─────────── get / add / move / remove markers
119
+ tempo manipulation at the sample level
79
120
 
80
- ## Automation Intelligence
121
+ PREVIEW ──────── scrub at beat position
122
+ stop scrub
123
+ ```
81
124
 
82
- Most DAW integrations let the AI set a parameter to a value. LivePilot lets the AI write **automation curves** — envelopes that evolve parameters over time inside clips. This is the difference between a static mix and a living one.
125
+ <br>
83
126
 
84
- ### The Curve Engine
127
+ ### INTELLIGENCE ──────────────────────────────────────────────
85
128
 
86
- 16 mathematically precise curve types, organized in 4 categories:
129
+ <br>
87
130
 
88
- | Category | Curves | What they do |
89
- |----------|--------|-------------|
90
- | **Basic Waveforms** | `linear` · `exponential` · `logarithmic` · `s_curve` · `sine` · `sawtooth` · `spike` · `square` · `steps` | The building blocks. Exponential for filter sweeps (perceptually even). Logarithmic for volume fades (matches the ear). Spike for dub throws. Sawtooth for sidechain pumps. |
91
- | **Organic / Natural** | `perlin` · `brownian` · `spring` | What makes automation feel alive. Perlin noise for drifting textures. Brownian for analog-style parameter wander. Spring for realistic knob movements with overshoot and settle. |
92
- | **Shape Control** | `bezier` · `easing` | Precision curves for intentional design. Bezier with arbitrary control points. 8 easing types from the animation world: bounce, elastic, back overshoot, ease in/out. |
93
- | **Algorithmic** | `euclidean` · `stochastic` | Generative intelligence. Euclidean distributes automation events using the Bjorklund algorithm (the same math behind Euclidean rhythms). Stochastic applies Xenakis-inspired controlled randomness within narrowing bounds. |
131
+ #### Theory ─── 7 tools
94
132
 
95
- Every curve generates normalized points (0.0–1.0) that map to any parameter in Ableton — volume, pan, sends, device parameters, anything with an envelope.
133
+ Krumhansl-Schmuckler key detection with 7 mode profiles:
134
+ major, minor, dorian, phrygian, lydian, mixolydian, locrian.
96
135
 
97
- ### 15 Production Recipes
136
+ Roman numeral analysis via scale-degree chord matching
137
+ on a 1/32 note quantization grid.
98
138
 
99
- Named presets for common techniques. One tool call instead of manual point calculation:
139
+ Voice leading checks parallel fifths, parallel octaves,
140
+ voice crossing, unresolved dominants.
141
+
142
+ Species counterpoint generation (1st and 2nd species).
143
+ SATB harmonization with smooth voice leading.
144
+ Diatonic transposition that preserves scale relationships.
145
+
146
+ ```
147
+ analyze_harmony suggest_next_chord detect_theory_issues
148
+ identify_scale harmonize_melody generate_countermelody
149
+ transpose_smart
150
+ ```
100
151
 
101
- | Recipe | Curve | What it does |
102
- |--------|-------|-------------|
103
- | `filter_sweep_up` | exponential | LP filter opening over 8-32 bars |
104
- | `filter_sweep_down` | logarithmic | LP filter closing, mirrors the sweep up |
105
- | `dub_throw` | spike | Instant send spike for reverb/delay throws |
106
- | `tape_stop` | exponential | Pitch dropping to zero — steep deceleration |
107
- | `build_rise` | exponential | Tension build on HP filter + volume + reverb |
108
- | `sidechain_pump` | sawtooth | Volume ducking per beat — fast duck, slow recovery |
109
- | `fade_in` / `fade_out` | log / exp | Perceptually smooth volume fades |
110
- | `tremolo` | sine | Periodic volume oscillation |
111
- | `auto_pan` | sine | Stereo movement via pan |
112
- | `stutter` | square | Rapid on/off gating |
113
- | `breathing` | sine | Subtle filter movement — acoustic instrument feel |
114
- | `washout` | exponential | Reverb/delay feedback increasing to wash |
115
- | `vinyl_crackle` | sine | Slow bit reduction for lo-fi character |
116
- | `stereo_narrow` | exponential | Collapse stereo to mono before drop |
152
+ <br>
117
153
 
118
- ### The Feedback Loop
154
+ #### Harmony ─── 4 tools
119
155
 
120
- `analyze_for_automation` reads the spectrum and device chain, then suggests what to automate:
156
+ Neo-Riemannian PRL transforms on the Tonnetz.
121
157
 
122
- 1. **Reads the spectrum** — identifies frequency balance, sub content, dynamic range
123
- 2. **Scans the device chain** detects filters, reverbs, synths, distortion
124
- 3. **Suggests automation targets** "Filter detected → automate cutoff for movement", "Heavy sub content → HP filter sweep for builds"
125
- 4. **Recommends recipes** maps each suggestion to the right named recipe
158
+ ```
159
+ P flips the third ─────── Cm C
160
+ L shifts by semitone ──── C ↔ Em
161
+ R shifts by whole tone ── C ↔ Am
162
+ ```
126
163
 
127
- The AI doesn't just write automation it knows what to automate based on what it hears.
164
+ All three are involutionsapply twice, return to origin.
128
165
 
129
- ---
166
+ BFS through PRL space finds the shortest voice-leading path
167
+ between any two triads. Cm to E major? That's PLP — the hexatonic pole.
168
+ Three steps, each moving one voice by a semitone.
169
+ The Hitchcock chord change.
130
170
 
131
- ## What You Can Do
171
+ Chromatic mediants for film-score harmony: chords a major/minor third away
172
+ sharing 0-1 common tones. Maximum color shift, minimal voice movement.
132
173
 
133
- - **Produce** — Create tracks, load instruments from the atlas, program drum patterns, bass lines, chord progressions, and melodies — informed by your saved techniques
134
- - **Arrange** — Build full song structures in arrangement view with MIDI editing, cue points, automation, and timeline navigation
135
- - **Design sounds** — Browse Ableton's library, load presets, tweak every device parameter, chain effects, walk nested racks 6 levels deep
136
- - **Mix with ears** — Set levels, panning, sends, and routing. Read the spectrum, check RMS, detect the key. The analyzer tells the AI what changed, not just what was set
137
- - **Automate intelligently** — Write clip automation with 16 mathematically precise curve types, apply named recipes (dub throws, filter sweeps, sidechain pumps), get spectral-aware suggestions for what to automate next
138
- - **Remember and evolve** — Save techniques, build a personal style library, replay past decisions exactly or as variations
139
- - **Chop samples** — Load audio into Simpler, slice, reverse, crop, warp, and reprogram — all from conversation
140
- - **Iterate fast** — Transpose, humanize, quantize, duplicate, and reshape patterns through conversation
174
+ ```
175
+ navigate_tonnetz find_voice_leading_path
176
+ classify_progression suggest_chromatic_mediants
177
+ ```
141
178
 
142
- ---
179
+ <br>
143
180
 
144
- ## Quick Start
181
+ #### Generative ─── 5 tools
145
182
 
146
- ### 1. Install the Remote Script
183
+ **Euclidean Rhythm** Bjorklund distributes N pulses across M steps.
184
+ Bresenham's line algorithm applied to rhythm.
147
185
 
148
- ```bash
149
- npx -y github:dreamrec/LivePilot --install
186
+ ```
187
+ E(3,8) = tresillo ×··×··×·
188
+ E(5,8) = cinquillo ×·××·××·
189
+ E(7,16) = Brazilian necklace ×·×·×××·×·×·×××·
150
190
  ```
151
191
 
152
- ### 2. Enable in Ableton
192
+ Layer multiple patterns at different pitches for polyrhythmic textures.
153
193
 
154
- Restart Ableton Live, then go to **Preferences > Link, Tempo & MIDI > Control Surface** and select **LivePilot**.
194
+ **Tintinnabuli** (Arvo Pärt) for each melody note, find the nearest tone
195
+ of a specified triad: above, below, or nearest. The T-voice gravitates toward
196
+ the triad while the M-voice moves stepwise. Two voices, one rule, infinite music.
155
197
 
156
- ### 3. Add to your MCP client
198
+ **Phase Shifting** (Steve Reich) identical voices with accumulating timing drift.
199
+ Voice 0 plays straight. Each subsequent voice shifts by N beats per repetition.
200
+ They start in unison, gradually separate, and eventually realign.
157
201
 
158
- <details open>
159
- <summary><strong>Claude Code</strong></summary>
202
+ **Additive Process** (Philip Glass) — melody unfolds note by note.
203
+ Forward: 1, then 1-2, then 1-2-3.
204
+ Backward: full melody, then remove from front.
205
+ Both: forward then backward.
206
+ The structure *is* the composition.
207
+
208
+ ```
209
+ generate_euclidean_rhythm layer_euclidean_rhythms
210
+ generate_tintinnabuli generate_phase_shift
211
+ generate_additive_process
212
+ ```
213
+
214
+ <br>
215
+
216
+ #### Automation ─── 8 tools
217
+
218
+ 16 curve types in 4 categories:
219
+
220
+ ```
221
+ BASIC ──────────── linear · exponential · logarithmic · s_curve
222
+ sine · sawtooth · spike · square · steps
223
+
224
+ ORGANIC ─────────── perlin · brownian · spring
225
+
226
+ SHAPE ──────────── bezier · easing
227
+ (bounce, elastic, back, quad, cubic,
228
+ quart, quint, expo)
229
+
230
+ GENERATIVE ─────── euclidean · stochastic
231
+ ```
232
+
233
+ 15 built-in recipes:
234
+
235
+ ```
236
+ filter_sweep_up filter_sweep_down dub_throw
237
+ tape_stop build_rise sidechain_pump
238
+ fade_in fade_out tremolo
239
+ auto_pan stutter breathing
240
+ washout vinyl_crackle stereo_narrow
241
+ ```
242
+
243
+ Perception-action loop: `analyze_for_automation` reads the spectrum
244
+ and device chain, suggests what to automate, and maps each suggestion
245
+ to a recipe. The AI doesn't write automation blind — it knows what
246
+ to automate based on what it hears.
247
+
248
+ ```
249
+ get_clip_automation set_clip_automation clear_clip_automation
250
+ apply_automation_shape apply_automation_recipe get_automation_recipes
251
+ generate_automation_curve analyze_for_automation
252
+ ```
253
+
254
+ <br>
255
+
256
+ ### MEMORY + I/O ──────────────────────────────────────────────
257
+
258
+ <br>
259
+
260
+ #### Memory ─── 8 tools
261
+
262
+ Persistent technique library across sessions.
263
+
264
+ Five types: `beat_pattern` · `device_chain` · `mix_template` · `preference` · `browser_pin`
265
+
266
+ Each stores:
267
+ - **Identity** — name, tags, timestamps
268
+ - **Qualities** — mood, genre, texture, production notes
269
+ - **Payload** — raw MIDI, device params, tempo, URIs
270
+
271
+ Recall by text query matching mood, genre, texture — not just names.
272
+ Favorite, rate, replay.
273
+
274
+ ```
275
+ memory_learn memory_recall memory_list memory_get
276
+ memory_update memory_delete memory_favorite memory_replay
277
+ ```
278
+
279
+ <br>
280
+
281
+ #### MIDI I/O ─── 4 tools
282
+
283
+ Export session clips to standard .mid files.
284
+ Import .mid into session clips — auto-creates the clip, tempo-aware timing.
285
+
286
+ Offline analysis without Ableton: note count, duration, tempo,
287
+ pitch range, velocity stats, density curve, key estimate.
288
+
289
+ Piano roll extraction: 2D velocity matrix at configurable resolution
290
+ (default 1/32 note).
291
+
292
+ Dependencies lazy-loaded — graceful error if missing.
293
+
294
+ ```
295
+ export_clip_midi import_midi_to_clip
296
+ analyze_midi_file extract_piano_roll
297
+ ```
298
+
299
+ <br>
300
+
301
+ ───────────────────────────────────────────────────────────────
302
+
303
+ ## Install
304
+
305
+ <br>
306
+
307
+ ### 1. Remote Script
160
308
 
161
309
  ```bash
162
- claude mcp add LivePilot -- npx -y github:dreamrec/LivePilot
310
+ npx livepilot --install
163
311
  ```
164
312
 
165
- Or add to `.mcp.json`:
313
+ Restart Ableton Preferences → Link, Tempo & MIDI → Control Surface → **LivePilot**
166
314
 
167
- ```json
168
- {
169
- "mcpServers": {
170
- "LivePilot": {
171
- "command": "npx",
172
- "args": ["-y", "github:dreamrec/LivePilot"]
173
- }
174
- }
175
- }
315
+ <br>
316
+
317
+ ### 2. MCP Client
318
+
319
+ <details open>
320
+ <summary><strong>Claude Code</strong></summary>
321
+
322
+ ```bash
323
+ claude mcp add LivePilot -- npx livepilot
176
324
  ```
177
325
 
178
- **Optional:** Install the Claude Code plugin for skills, slash commands, and the producer agent:
326
+ Plugin (adds skills, slash commands, producer agent):
179
327
 
180
328
  ```bash
181
329
  claude plugin add github:dreamrec/LivePilot/plugin
@@ -186,34 +334,30 @@ claude plugin add github:dreamrec/LivePilot/plugin
186
334
  <details>
187
335
  <summary><strong>Claude Desktop (macOS)</strong></summary>
188
336
 
189
- Add to `~/Library/Application Support/Claude/claude_desktop_config.json`:
337
+ `~/Library/Application Support/Claude/claude_desktop_config.json`:
190
338
 
191
339
  ```json
192
340
  {
193
341
  "mcpServers": {
194
342
  "LivePilot": {
195
343
  "command": "npx",
196
- "args": ["-y", "github:dreamrec/LivePilot"]
344
+ "args": ["livepilot"]
197
345
  }
198
346
  }
199
347
  }
200
348
  ```
201
349
 
202
- Restart Claude Desktop after saving.
203
-
204
350
  </details>
205
351
 
206
352
  <details>
207
353
  <summary><strong>Claude Desktop (Windows)</strong></summary>
208
354
 
209
- On Windows, `npx` can cause EBUSY file-locking errors. Install globally instead:
210
-
211
355
  ```cmd
212
- npm install -g github:dreamrec/LivePilot
356
+ npm install -g livepilot
213
357
  livepilot --install
214
358
  ```
215
359
 
216
- Add to `%APPDATA%\Claude\claude_desktop_config.json`:
360
+ `%APPDATA%\Claude\claude_desktop_config.json`:
217
361
 
218
362
  ```json
219
363
  {
@@ -225,26 +369,19 @@ Add to `%APPDATA%\Claude\claude_desktop_config.json`:
225
369
  }
226
370
  ```
227
371
 
228
- Restart Claude Desktop after saving.
229
-
230
372
  </details>
231
373
 
232
374
  <details>
233
375
  <summary><strong>Cursor</strong></summary>
234
376
 
235
- Open Cursor Settings > MCP Servers > Add Server, then use:
236
-
237
- - **Name:** LivePilot
238
- - **Command:** `npx -y github:dreamrec/LivePilot`
239
-
240
- Or add to `.cursor/mcp.json`:
377
+ `.cursor/mcp.json`:
241
378
 
242
379
  ```json
243
380
  {
244
381
  "mcpServers": {
245
382
  "LivePilot": {
246
383
  "command": "npx",
247
- "args": ["-y", "github:dreamrec/LivePilot"]
384
+ "args": ["livepilot"]
248
385
  }
249
386
  }
250
387
  }
@@ -253,34 +390,29 @@ Or add to `.cursor/mcp.json`:
253
390
  </details>
254
391
 
255
392
  <details>
256
- <summary><strong>VS Code (Copilot)</strong></summary>
393
+ <summary><strong>VS Code / Windsurf</strong></summary>
257
394
 
258
- Add to `.vscode/mcp.json`:
395
+ VS Code `.vscode/mcp.json`:
259
396
 
260
397
  ```json
261
398
  {
262
399
  "servers": {
263
400
  "LivePilot": {
264
401
  "command": "npx",
265
- "args": ["-y", "github:dreamrec/LivePilot"]
402
+ "args": ["livepilot"]
266
403
  }
267
404
  }
268
405
  }
269
406
  ```
270
407
 
271
- </details>
272
-
273
- <details>
274
- <summary><strong>Windsurf</strong></summary>
275
-
276
- Add to `~/.codeium/windsurf/mcp_config.json`:
408
+ Windsurf — `~/.codeium/windsurf/mcp_config.json`:
277
409
 
278
410
  ```json
279
411
  {
280
412
  "mcpServers": {
281
413
  "LivePilot": {
282
414
  "command": "npx",
283
- "args": ["-y", "github:dreamrec/LivePilot"]
415
+ "args": ["livepilot"]
284
416
  }
285
417
  }
286
418
  }
@@ -288,237 +420,349 @@ Add to `~/.codeium/windsurf/mcp_config.json`:
288
420
 
289
421
  </details>
290
422
 
291
- ### 4. Verify connection
423
+ <br>
424
+
425
+ ### 3. M4L Analyzer (optional)
426
+
427
+ Drag `LivePilot_Analyzer.amxd` onto the master track.
428
+
429
+ Unlocks 20 additional tools: spectral analysis, key detection,
430
+ sample manipulation, deep device introspection.
431
+
432
+ All core tools work without it.
433
+
434
+ <br>
435
+
436
+ ### 4. Verify
292
437
 
293
438
  ```bash
294
- npx -y github:dreamrec/LivePilot --status
295
- ```
296
-
297
- ---
298
-
299
- ## 155 Tools Across 16 Domains
300
-
301
- | Domain | Tools | What you can do |
302
- |--------|:-----:|-----------------|
303
- | **Transport** | 12 | Play/stop, tempo, time signature, loop, undo/redo, metronome, diagnostics |
304
- | **Tracks** | 14 | Create MIDI/audio/return tracks, name, color, mute, solo, arm, group fold, input monitoring |
305
- | **Clips** | 11 | Create, delete, duplicate, fire, stop, loop settings, launch mode, warp mode |
306
- | **Notes** | 8 | Add/get/remove/modify MIDI notes, transpose, quantize, duplicate |
307
- | **Devices** | 12 | Load instruments & effects, tweak parameters, rack chains, presets — works on regular, return, and master tracks |
308
- | **Scenes** | 8 | Create, delete, duplicate, fire, rename, color, per-scene tempo |
309
- | **Mixing** | 11 | Volume, pan, sends, routing, meters, mix snapshot — return tracks and master fully supported |
310
- | **Browser** | 4 | Search Ableton's library, browse categories, load presets |
311
- | **Arrangement** | 19 | Create clips, full MIDI note CRUD, cue points, recording, automation |
312
- | **Automation** | 8 | Clip envelope CRUD, 16-type curve engine, 15 named recipes, spectral-aware suggestions |
313
- | **Memory** | 8 | Save, recall, replay, and manage production techniques |
314
- | **Analyzer** | 20 | Real-time spectral analysis, key detection, sample manipulation, warp markers, device introspection (requires M4L device) |
315
- | **Theory** | 7 | Harmony analysis, Roman numerals, scale identification, chord suggestions, countermelody, SATB harmonization, smart transposition |
316
- | **Generative** | 5 | Euclidean rhythms (Bjorklund), polyrhythmic layering, Pärt tintinnabuli, Reich phase shift, Glass additive process |
317
- | **Harmony** | 4 | Tonnetz navigation, voice leading paths, neo-Riemannian classification, chromatic mediants |
318
- | **MIDI I/O** | 4 | Export clips to .mid, import .mid files, offline MIDI analysis, piano roll extraction |
439
+ npx livepilot --status
440
+ ```
319
441
 
320
- <details>
321
- <summary><strong>Full tool list</strong></summary>
442
+ <br>
322
443
 
323
- ### Transport (12)
324
- `get_session_info` · `set_tempo` · `set_time_signature` · `start_playback` · `stop_playback` · `continue_playback` · `toggle_metronome` · `set_session_loop` · `undo` · `redo` · `get_recent_actions` · `get_session_diagnostics`
444
+ ───────────────────────────────────────────────────────────────
325
445
 
326
- ### Tracks (14)
327
- `get_track_info` · `create_midi_track` · `create_audio_track` · `create_return_track` · `delete_track` · `duplicate_track` · `set_track_name` · `set_track_color` · `set_track_mute` · `set_track_solo` · `set_track_arm` · `stop_track_clips` · `set_group_fold` · `set_track_input_monitoring`
446
+ ## Plugin
328
447
 
329
- ### Clips (11)
330
- `get_clip_info` · `create_clip` · `delete_clip` · `duplicate_clip` · `fire_clip` · `stop_clip` · `set_clip_name` · `set_clip_color` · `set_clip_loop` · `set_clip_launch` · `set_clip_warp_mode`
448
+ ```bash
449
+ claude plugin add github:dreamrec/LivePilot/plugin
450
+ ```
331
451
 
332
- ### Notes (8)
333
- `add_notes` · `get_notes` · `remove_notes` · `remove_notes_by_id` · `modify_notes` · `duplicate_notes` · `transpose_notes` · `quantize_clip`
452
+ <br>
334
453
 
335
- ### Devices (12)
336
- `get_device_info` · `get_device_parameters` · `set_device_parameter` · `batch_set_parameters` · `toggle_device` · `delete_device` · `load_device_by_uri` · `find_and_load_device` · `get_rack_chains` · `set_simpler_playback_mode` · `set_chain_volume` · `get_device_presets`
454
+ | Command | What |
455
+ |---------|------|
456
+ | `/session` | Full session overview with diagnostics |
457
+ | `/beat` | Guided beat creation |
458
+ | `/mix` | Mixing assistant |
459
+ | `/sounddesign` | Sound design workflow |
460
+ | `/memory` | Technique library management |
337
461
 
338
- ### Scenes (8)
339
- `get_scenes_info` · `create_scene` · `delete_scene` · `duplicate_scene` · `fire_scene` · `set_scene_name` · `set_scene_color` · `set_scene_tempo`
462
+ <br>
340
463
 
341
- ### Mixing (11)
342
- `set_track_volume` · `set_track_pan` · `set_track_send` · `get_return_tracks` · `get_master_track` · `set_master_volume` · `get_track_routing` · `set_track_routing` · `get_track_meters` · `get_master_meters` · `get_mix_snapshot`
464
+ **Producer Agent** — autonomous multi-step production.
465
+ Consults memory for style context, searches the atlas for instruments,
466
+ creates tracks, programs MIDI, chains effects, reads the spectrum to verify.
467
+ Ships with a reference corpus (drum patterns, chord voicings,
468
+ sound design recipes, mixing templates).
343
469
 
344
- ### Browser (4)
345
- `get_browser_tree` · `get_browser_items` · `search_browser` · `load_browser_item`
470
+ **Core Skill** — operational discipline connecting all three layers.
471
+ Consult atlas before loading. Read analyzer after mixing.
472
+ Check memory before creative decisions. Verify every mutation.
346
473
 
347
- ### Arrangement (19)
348
- `get_arrangement_clips` · `create_arrangement_clip` · `add_arrangement_notes` · `get_arrangement_notes` · `remove_arrangement_notes` · `remove_arrangement_notes_by_id` · `modify_arrangement_notes` · `duplicate_arrangement_notes` · `transpose_arrangement_notes` · `set_arrangement_clip_name` · `set_arrangement_automation` · `back_to_arranger` · `jump_to_time` · `capture_midi` · `start_recording` · `stop_recording` · `get_cue_points` · `jump_to_cue` · `toggle_cue_point`
474
+ <br>
349
475
 
350
- ### Automation (8)
351
- `get_clip_automation` · `set_clip_automation` · `clear_clip_automation` · `apply_automation_shape` · `apply_automation_recipe` · `get_automation_recipes` · `generate_automation_curve` · `analyze_for_automation`
476
+ ───────────────────────────────────────────────────────────────
352
477
 
353
- ### Memory (8)
354
- `memory_learn` · `memory_recall` · `memory_get` · `memory_replay` · `memory_list` · `memory_favorite` · `memory_update` · `memory_delete`
478
+ ## Full Tool List
355
479
 
356
- ### Analyzer (20) requires LivePilot Analyzer M4L device on master track
357
- `get_master_spectrum` · `get_master_rms` · `get_detected_key` · `get_hidden_parameters` · `get_automation_state` · `walk_device_tree` · `get_clip_file_path` · `replace_simpler_sample` · `load_sample_to_simpler` · `get_simpler_slices` · `crop_simpler` · `reverse_simpler` · `warp_simpler` · `get_warp_markers` · `add_warp_marker` · `move_warp_marker` · `remove_warp_marker` · `scrub_clip` · `stop_scrub` · `get_display_values`
480
+ 155 tools across 16 domains.
358
481
 
359
- ### Theory (7)
360
- `analyze_harmony` · `suggest_next_chord` · `detect_theory_issues` · `identify_scale` · `harmonize_melody` · `generate_countermelody` · `transpose_smart`
482
+ <br>
361
483
 
362
- ### Generative (5)
363
- `generate_euclidean_rhythm` · `layer_euclidean_rhythms` · `generate_tintinnabuli` · `generate_phase_shift` · `generate_additive_process`
484
+ ### Transport (12)
364
485
 
365
- ### Harmony (4)
366
- `navigate_tonnetz` · `find_voice_leading_path` · `classify_progression` · `suggest_chromatic_mediants`
486
+ | Tool | Description |
487
+ |------|-------------|
488
+ | `get_session_info` | Session state: tempo, tracks, scenes, transport |
489
+ | `set_tempo` | Set tempo (20-999 BPM) |
490
+ | `set_time_signature` | Set time signature |
491
+ | `start_playback` | Start from beginning |
492
+ | `stop_playback` | Stop |
493
+ | `continue_playback` | Resume from current position |
494
+ | `toggle_metronome` | Enable/disable click |
495
+ | `set_session_loop` | Set loop start, length, on/off |
496
+ | `undo` | Undo last action |
497
+ | `redo` | Redo |
498
+ | `get_recent_actions` | Recent undo history |
499
+ | `get_session_diagnostics` | Analyze session for issues |
500
+
501
+ <br>
367
502
 
368
- ### MIDI I/O (4)
369
- `export_clip_midi` · `import_midi_to_clip` · `analyze_midi_file` · `extract_piano_roll`
503
+ ### Tracks (14)
370
504
 
371
- </details>
505
+ | Tool | Description |
506
+ |------|-------------|
507
+ | `get_track_info` | Track details: clips, devices, mixer |
508
+ | `create_midi_track` | New MIDI track |
509
+ | `create_audio_track` | New audio track |
510
+ | `create_return_track` | New return track |
511
+ | `delete_track` | Delete a track |
512
+ | `duplicate_track` | Copy track with all content |
513
+ | `set_track_name` | Rename |
514
+ | `set_track_color` | Set color (0-69) |
515
+ | `set_track_mute` | Mute on/off |
516
+ | `set_track_solo` | Solo on/off |
517
+ | `set_track_arm` | Arm for recording |
518
+ | `stop_track_clips` | Stop all clips on track |
519
+ | `set_group_fold` | Fold/unfold group track |
520
+ | `set_track_input_monitoring` | Set monitoring mode |
521
+
522
+ <br>
523
+
524
+ ### Clips (11)
372
525
 
373
- ---
526
+ | Tool | Description |
527
+ |------|-------------|
528
+ | `get_clip_info` | Clip details: length, loop, launch |
529
+ | `create_clip` | New empty MIDI clip |
530
+ | `delete_clip` | Delete a clip |
531
+ | `duplicate_clip` | Copy to another slot |
532
+ | `fire_clip` | Launch a clip |
533
+ | `stop_clip` | Stop a clip |
534
+ | `set_clip_name` | Rename |
535
+ | `set_clip_color` | Set color |
536
+ | `set_clip_loop` | Loop start, end, on/off |
537
+ | `set_clip_launch` | Launch mode and quantization |
538
+ | `set_clip_warp_mode` | Set warp algorithm |
539
+
540
+ <br>
374
541
 
375
- ## Plugin
542
+ ### Notes (8)
376
543
 
377
- The plugin adds a skill, an autonomous agent, and 5 slash commands on top of the MCP tools.
544
+ | Tool | Description |
545
+ |------|-------------|
546
+ | `add_notes` | Add MIDI notes with velocity, probability |
547
+ | `get_notes` | Read notes from a region |
548
+ | `remove_notes` | Remove notes in a region |
549
+ | `remove_notes_by_id` | Remove specific notes by ID |
550
+ | `modify_notes` | Change pitch, time, velocity, probability |
551
+ | `duplicate_notes` | Copy notes to new position |
552
+ | `transpose_notes` | Shift pitch by semitones |
553
+ | `quantize_clip` | Quantize to grid |
378
554
 
379
- ```bash
380
- claude plugin add github:dreamrec/LivePilot/plugin
381
- ```
555
+ <br>
382
556
 
383
- ### Commands
557
+ ### Devices (12)
384
558
 
385
- | Command | Description |
386
- |---------|-------------|
387
- | `/session` | Full session overview with diagnostics |
388
- | `/beat` | Guided beat creation — genre, tempo, instrumentation |
389
- | `/mix` | Mixing assistant levels, panning, sends |
390
- | `/sounddesign` | Sound design workflow instruments, effects, presets |
391
- | `/memory` | Browse, search, and manage your technique library |
559
+ | Tool | Description |
560
+ |------|-------------|
561
+ | `get_device_info` | Device name, class, parameters |
562
+ | `get_device_parameters` | All params with names, values, ranges |
563
+ | `set_device_parameter` | Set param by name or index |
564
+ | `batch_set_parameters` | Set multiple params in one call |
565
+ | `toggle_device` | Enable/disable |
566
+ | `delete_device` | Remove from chain |
567
+ | `load_device_by_uri` | Load by browser URI |
568
+ | `find_and_load_device` | Search and load by name |
569
+ | `get_rack_chains` | Get chains in a rack |
570
+ | `set_simpler_playback_mode` | Classic/1-shot/slice |
571
+ | `set_chain_volume` | Set chain volume in rack |
572
+ | `get_device_presets` | List available presets |
573
+
574
+ <br>
392
575
 
393
- ### Producer Agent
576
+ ### Scenes (8)
394
577
 
395
- Autonomous agent that handles multi-step production tasks end-to-end. "Make a lo-fi hip hop beat at 75 BPM" triggers a full pipeline: consult the technique memory for style context, search the device atlas for the right drum kit and instruments, create tracks, program MIDI, chain effects, set levels — then read the spectrum through the analyzer to verify everything sounds right.
578
+ | Tool | Description |
579
+ |------|-------------|
580
+ | `get_scenes_info` | All scenes: name, tempo, color |
581
+ | `create_scene` | New scene |
582
+ | `delete_scene` | Delete a scene |
583
+ | `duplicate_scene` | Copy scene with all clips |
584
+ | `fire_scene` | Launch all clips in scene |
585
+ | `set_scene_name` | Rename |
586
+ | `set_scene_color` | Set color |
587
+ | `set_scene_tempo` | Per-scene tempo |
396
588
 
397
- The agent ships with a 2,700-line reference corpus (drum patterns, chord voicings, sound design recipes, mixing templates) and consults the technique memory by default. Mandatory health checks between each stage verify every track produces audible output — the analyzer confirms what the meters suggest.
589
+ <br>
398
590
 
399
- ### Core Skill
591
+ ### Mixing (11)
400
592
 
401
- `livepilot-core` encodes the operational discipline that connects all three layers. It teaches the AI to consult the device atlas before loading instruments, read the analyzer after mixing moves, check technique memory before creative decisions, and verify every mutation through state reads. It enforces the rules that prevent silent failures: never load empty Drum Racks, never hallucinate device names, always verify audio output. Without it, an LLM with access to the tools will produce silent tracks and load wrong devices.
593
+ | Tool | Description |
594
+ |------|-------------|
595
+ | `set_track_volume` | Volume (0.0-1.0) |
596
+ | `set_track_pan` | Pan (-1.0 to 1.0) |
597
+ | `set_track_send` | Send level (0.0-1.0) |
598
+ | `get_return_tracks` | Return track info |
599
+ | `get_master_track` | Master track info |
600
+ | `set_master_volume` | Master volume |
601
+ | `get_track_routing` | Input/output routing |
602
+ | `set_track_routing` | Set routing by display name |
603
+ | `get_track_meters` | Live meter levels |
604
+ | `get_master_meters` | Master meter levels |
605
+ | `get_mix_snapshot` | Full mix state in one call |
606
+
607
+ <br>
402
608
 
403
- ---
609
+ ### Browser (4)
404
610
 
405
- ## M4L Analyzer
611
+ | Tool | Description |
612
+ |------|-------------|
613
+ | `get_browser_tree` | Browse category tree |
614
+ | `get_browser_items` | List items in a category |
615
+ | `search_browser` | Search by name with filters |
616
+ | `load_browser_item` | Load item by URI |
406
617
 
407
- The LivePilot Analyzer (`LivePilot_Analyzer.amxd`) gives the AI ears. Drop it on the master track and 20 additional tools unlock: 8-band spectral analysis, RMS/peak metering, Krumhansl-Schmuckler key detection, plus deep LOM access for sample manipulation, warp markers, device introspection, and human-readable parameter display values.
618
+ <br>
408
619
 
409
- All 115 core tools work without it. The analyzer is what turns LivePilot from a remote control into a feedback loop — the AI can set an EQ curve and then read the spectrum to verify the result.
620
+ ### Arrangement (19)
410
621
 
411
- ---
622
+ | Tool | Description |
623
+ |------|-------------|
624
+ | `get_arrangement_clips` | List arrangement clips |
625
+ | `create_arrangement_clip` | New clip at timeline position |
626
+ | `add_arrangement_notes` | Add MIDI notes to arrangement clip |
627
+ | `get_arrangement_notes` | Read arrangement notes |
628
+ | `remove_arrangement_notes` | Remove notes in region |
629
+ | `remove_arrangement_notes_by_id` | Remove by ID |
630
+ | `modify_arrangement_notes` | Modify arrangement notes |
631
+ | `duplicate_arrangement_notes` | Copy notes |
632
+ | `transpose_arrangement_notes` | Shift pitch |
633
+ | `set_arrangement_clip_name` | Rename arrangement clip |
634
+ | `set_arrangement_automation` | Write arrangement automation |
635
+ | `back_to_arranger` | Switch to arrangement view |
636
+ | `jump_to_time` | Seek to beat position |
637
+ | `capture_midi` | Capture played MIDI |
638
+ | `start_recording` | Start recording |
639
+ | `stop_recording` | Stop recording |
640
+ | `get_cue_points` | List cue points |
641
+ | `jump_to_cue` | Jump to cue point |
642
+ | `toggle_cue_point` | Add/remove cue point |
643
+
644
+ <br>
412
645
 
413
- ## The Landscape
646
+ ### Automation (8)
414
647
 
415
- There are **15+ MCP servers for Ableton Live** as of March 2026. Here's how the major ones compare:
648
+ | Tool | Description |
649
+ |------|-------------|
650
+ | `get_clip_automation` | List envelopes on a clip |
651
+ | `set_clip_automation` | Write automation points |
652
+ | `clear_clip_automation` | Clear envelopes |
653
+ | `apply_automation_shape` | Generate + write curve in one call |
654
+ | `apply_automation_recipe` | Apply named recipe |
655
+ | `get_automation_recipes` | List all 15 recipes |
656
+ | `generate_automation_curve` | Preview curve without writing |
657
+ | `analyze_for_automation` | Spectral analysis + suggestions |
416
658
 
417
- ### At a Glance
659
+ <br>
418
660
 
419
- | | [LivePilot](https://github.com/dreamrec/LivePilot) | [AbletonMCP](https://github.com/ahujasid/ableton-mcp) | [MCP Extended](https://github.com/uisato/ableton-mcp-extended) | [Ableton Copilot](https://github.com/xiaolaa2/ableton-copilot-mcp) | [AbletonBridge](https://github.com/hidingwill/AbletonBridge) | [Producer Pal](https://github.com/adamjmurray/producer-pal) |
420
- |---|:-:|:-:|:-:|:-:|:-:|:-:|
421
- | **Tools** | 155 | ~20 | ~35 | ~45 | 322 | ~25 |
422
- | **Device knowledge** | 280+ devices | -- | -- | -- | -- | -- |
423
- | **Audio analysis** | Spectrum/RMS/key | -- | -- | -- | Metering | -- |
424
- | **Technique memory** | Persistent | -- | -- | -- | -- | -- |
425
- | **Stars** | new | 2.3k | 139 | 72 | 13 | 103 |
426
- | **Language** | Python | Python | Python | TypeScript | Python | TypeScript |
427
- | **Active** | Yes | Slow | Yes | Yes | Yes | Yes |
661
+ ### Memory (8)
428
662
 
429
- ### Feature Comparison
663
+ | Tool | Description |
664
+ |------|-------------|
665
+ | `memory_learn` | Save a technique |
666
+ | `memory_recall` | Search by text/mood/genre |
667
+ | `memory_list` | Browse library |
668
+ | `memory_get` | Get full technique with payload |
669
+ | `memory_update` | Update a technique |
670
+ | `memory_delete` | Delete a technique |
671
+ | `memory_favorite` | Toggle favorite |
672
+ | `memory_replay` | Replay saved technique |
673
+
674
+ <br>
675
+
676
+ ### Analyzer (20) `[M4L]`
677
+
678
+ | Tool | Description |
679
+ |------|-------------|
680
+ | `get_master_spectrum` | 8-band frequency analysis |
681
+ | `get_master_rms` | RMS and peak levels |
682
+ | `get_detected_key` | Krumhansl-Schmuckler key detection |
683
+ | `get_hidden_parameters` | All params including hidden ones |
684
+ | `get_automation_state` | Automation state per parameter |
685
+ | `walk_device_tree` | Recursive device chain tree (6 levels) |
686
+ | `get_display_values` | Human-readable param values |
687
+ | `get_clip_file_path` | Audio file path on disk |
688
+ | `replace_simpler_sample` | Load audio into Simpler |
689
+ | `load_sample_to_simpler` | Bootstrap Simpler + load sample |
690
+ | `get_simpler_slices` | Slice point positions |
691
+ | `crop_simpler` | Crop to active region |
692
+ | `reverse_simpler` | Reverse sample |
693
+ | `warp_simpler` | Time-stretch to N beats |
694
+ | `get_warp_markers` | Get all warp markers |
695
+ | `add_warp_marker` | Add warp marker |
696
+ | `move_warp_marker` | Move warp marker |
697
+ | `remove_warp_marker` | Remove warp marker |
698
+ | `scrub_clip` | Preview at beat position |
699
+ | `stop_scrub` | Stop preview |
700
+
701
+ <br>
430
702
 
431
- | Capability | LivePilot | AbletonMCP | Extended | Copilot | Bridge | Producer Pal |
432
- |---|:-:|:-:|:-:|:-:|:-:|:-:|
433
- | Transport | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
434
- | Tracks (MIDI/audio/return) | ✅ | Partial | ✅ | ✅ | ✅ | ✅ |
435
- | Session clips | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
436
- | **Arrangement view** | ✅ | — | — | ✅ | ? | ? |
437
- | **Arrangement automation** | ✅ | — | — | — | ? | — |
438
- | **Clip automation (envelopes)** | ✅ | — | — | — | — | — |
439
- | **Automation curve engine** | ✅ | — | — | — | — | — |
440
- | MIDI notes (add/get) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
441
- | **MIDI notes (modify/delete by ID)** | ✅ | — | — | ✅ | ? | — |
442
- | **Per-note probability** | ✅ | — | — | — | — | — |
443
- | Device loading | ✅ | ✅ | ✅ | ✅ | ✅ | ? |
444
- | Device parameters | ✅ | Basic | ✅ | ✅ | ✅ | ? |
445
- | **Batch parameter editing** | ✅ | — | — | — | ? | — |
446
- | **Rack chains** | ✅ | — | — | — | ✅ | — |
447
- | Browser (tree/search/URI) | ✅ | Basic | ✅ | ✅ | ✅ | — |
448
- | **Plugin browser (AU/VST)** | ✅ | — | — | — | ? | — |
449
- | Mixing (vol/pan/sends) | ✅ | Basic | ✅ | Basic | ✅ | ? |
450
- | **Master track control** | ✅ | — | — | — | ✅ | — |
451
- | Scenes | ✅ | — | ✅ | ? | ✅ | ✅ |
452
- | **Undo wrapping** | ✅ | — | Partial | — | ? | — |
453
- | **Session diagnostics** | ✅ | — | — | — | — | — |
454
- | **Technique memory** | ✅ | — | — | — | — | — |
455
- | **AI plugin (skills/agent)** | ✅ | — | — | — | — | — |
456
- | **Device Atlas (built-in)** | ✅ | — | — | — | — | — |
457
- | **Auto-detect installer** | ✅ | — | — | ✅ | — | — |
458
- | Snapshots/rollback | — | — | — | ✅ | — | — |
459
- | Voice generation | — | — | — | — | ✅ | — |
460
- | **Real-time DSP analysis** | ✅ | — | — | — | ✅ | — |
461
- | M4L-native install | — | — | — | — | — | ✅ |
462
- | Multi-LLM support | Any MCP | Claude | Claude | Any MCP | Any MCP | Multi |
703
+ ### Theory (7)
463
704
 
464
- ### Also Notable
705
+ | Tool | Description |
706
+ |------|-------------|
707
+ | `analyze_harmony` | Chord-by-chord Roman numeral analysis |
708
+ | `suggest_next_chord` | Theory-valid continuations with style presets |
709
+ | `detect_theory_issues` | Parallel 5ths, out-of-key, voice crossing |
710
+ | `identify_scale` | Key/mode detection with confidence ranking |
711
+ | `harmonize_melody` | 2 or 4-voice SATB harmonization |
712
+ | `generate_countermelody` | Species counterpoint (1st/2nd) |
713
+ | `transpose_smart` | Diatonic or chromatic transposition |
465
714
 
466
- - **[Simon-Kansara](https://github.com/Simon-Kansara/ableton-live-mcp-server)** (369★) — OSC-based, exhaustive address mapping, inactive since 2025
467
- - **[jpoindexter](https://github.com/jpoindexter/ableton-mcp)** — 200+ tools, triple interface (MCP + REST + M4L), 13 scales
468
- - **[cafeTechne](https://github.com/cafeTechne/ableton-11-mcp-for-windows-codex-and-antigravity)** — 220+ tools, Windows/Codex optimized, Live 11 focused
469
- - **[FabianTinkl](https://github.com/FabianTinkl/AbletonMCP)** — AI-powered chord/melody generation, genre-specific composition
470
- - **[nozomi-koborinai](https://github.com/nozomi-koborinai/ableton-osc-mcp)** — Only Go implementation, uses Google Genkit
715
+ <br>
471
716
 
472
- ### Where LivePilot Fits
717
+ ### Generative (5)
473
718
 
474
- Every server on this list gives the AI tools to control Ableton. LivePilot is the only one that also gives it **knowledge** (device atlas with 280+ devices, 139 kits, 350+ IRs), **perception** (real-time spectrum, RMS, key detection from the M4L analyzer), and **memory** (persistent technique library that accumulates production decisions across sessions).
719
+ | Tool | Description |
720
+ |------|-------------|
721
+ | `generate_euclidean_rhythm` | Bjorklund algorithm, identifies named rhythms |
722
+ | `layer_euclidean_rhythms` | Stack patterns for polyrhythmic textures |
723
+ | `generate_tintinnabuli` | Arvo Pärt — triad voice from melody |
724
+ | `generate_phase_shift` | Steve Reich — drifting canon |
725
+ | `generate_additive_process` | Philip Glass — expanding/contracting melody |
475
726
 
476
- The practical difference: other servers let the AI set a parameter. LivePilot lets the AI choose the right parameter based on what device is loaded (atlas), verify the result by reading the audio output (analyzer), and remember the technique for next time (memory).
727
+ <br>
477
728
 
478
- AbletonBridge has more raw tools (322 vs 155). Producer Pal has the easiest install (drag a .amxd). The original AbletonMCP has the community (2.3k stars). LivePilot has the deepest integration — tools that execute, knowledge that informs, perception that verifies, and memory that accumulates.
729
+ ### Harmony (4)
479
730
 
480
- ---
731
+ | Tool | Description |
732
+ |------|-------------|
733
+ | `navigate_tonnetz` | PRL neighbors at depth N |
734
+ | `find_voice_leading_path` | Shortest path between two chords |
735
+ | `classify_progression` | Identify neo-Riemannian pattern |
736
+ | `suggest_chromatic_mediants` | All chromatic mediant relations |
481
737
 
482
- ## Architecture
738
+ <br>
483
739
 
484
- ```
485
- AI Client
486
- │ MCP Protocol (stdio)
487
-
488
- ┌─────────────────────┐
489
- │ MCP Server │ Python (FastMCP)
490
- │ mcp_server/ │ Input validation, auto-reconnect
491
- └────────┬────────────┘
492
- │ JSON over TCP (port 9878)
493
-
494
- ┌─────────────────────┐
495
- │ Remote Script │ Runs inside Ableton's Python
496
- │ remote_script/ │ Thread-safe command queue
497
- │ LivePilot/ │ ControlSurface base class
498
- └─────────────────────┘
499
- ```
740
+ ### MIDI I/O (4)
500
741
 
501
- All commands execute on Ableton's main thread via `schedule_message` — the same thread that handles the UI. This guarantees consistency with what you see on screen. Single-client TCP by design, because Ableton's Live Object Model is not thread-safe.
742
+ | Tool | Description |
743
+ |------|-------------|
744
+ | `export_clip_midi` | Export clip to .mid file |
745
+ | `import_midi_to_clip` | Import .mid into session clip |
746
+ | `analyze_midi_file` | Offline MIDI analysis |
747
+ | `extract_piano_roll` | 2D velocity matrix extraction |
502
748
 
503
- **Structured errors** with codes (`INDEX_ERROR`, `NOT_FOUND`, `INVALID_PARAM`, `STATE_ERROR`, `TIMEOUT`, `INTERNAL`) so the AI can understand what went wrong and recover.
749
+ <br>
504
750
 
505
- ---
751
+ ───────────────────────────────────────────────────────────────
506
752
 
507
- ## Compatibility
753
+ ## Coming
508
754
 
509
- | | Live 12 (all editions) | Suite only |
510
- |---|:---:|:---:|
511
- | Transport, tracks, clips, scenes, mixing | Yes | — |
512
- | MIDI notes (add, modify, remove, probability) | Yes | — |
513
- | Device parameters, effects, browser | Yes | — |
514
- | Arrangement (clips, notes, cue points) | Yes | — |
515
- | Stock instruments (Drift, Meld, Wavetable) | — | Yes |
516
- | Max for Live devices | — | Yes |
517
- | Third-party VST/AU plugins | Yes | — |
755
+ ```
756
+ □ Real-time DSP analysis via LOM meters
757
+ □ M4L bridge expansion deeper LiveAPI access
758
+ □ Arrangement view clip placement, tempo automation
759
+ □ Audio clip manipulation — stretch, slice, resample
760
+ □ Plugin parameter mapping VST/AU deep control
761
+ ```
518
762
 
519
- **Requirements:** Ableton Live 12 · Python 3.9+ · Node.js 18+
763
+ <br>
520
764
 
521
- ---
765
+ ───────────────────────────────────────────────────────────────
522
766
 
523
767
  ## CLI
524
768
 
@@ -531,28 +775,29 @@ npx livepilot --doctor # Full diagnostic check
531
775
  npx livepilot --version # Show version
532
776
  ```
533
777
 
534
- ---
778
+ <br>
535
779
 
536
- ## Documentation
780
+ ## Compatibility
537
781
 
538
- **[Read the full manual](docs/manual/index.md)** Getting started, tool reference, production workflows, MIDI programming, sound design, mixing, and troubleshooting.
782
+ Live 12 all editions. Suite required for stock instruments
783
+ (Drift, Meld, Wavetable) and Max for Live.
784
+ Python 3.9+. Node.js 18+.
539
785
 
540
- ---
786
+ <br>
541
787
 
542
788
  ## Development
543
789
 
544
790
  ```bash
545
791
  git clone https://github.com/dreamrec/LivePilot.git
546
792
  cd LivePilot
547
- python3 -m venv .venv
548
- .venv/bin/pip install -r requirements.txt
793
+ python3 -m venv .venv && .venv/bin/pip install -r requirements.txt
549
794
  .venv/bin/pytest tests/ -v
550
795
  ```
551
796
 
552
- ## Contributing
797
+ <br>
553
798
 
554
- Contributions welcome. Please [open an issue](https://github.com/dreamrec/LivePilot/issues) first to discuss what you'd like to change.
555
-
556
- ## License
799
+ ───────────────────────────────────────────────────────────────
557
800
 
558
801
  [MIT](LICENSE) — Pilot Studio
802
+
803
+ Sister projects: [TDPilot](https://github.com/dreamrec/TDPilot) (TouchDesigner) · [ComfyPilot](https://github.com/dreamrec/ComfyPilot) (ComfyUI)
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "livepilot",
3
- "version": "1.7.2",
3
+ "version": "1.7.4",
4
4
  "mcpName": "io.github.dreamrec/livepilot",
5
- "description": "AI copilot for Ableton Live 12 — 155 tools, device atlas (280+ devices), real-time audio analysis, generative algorithms, neo-Riemannian harmony, MIDI file I/O, and technique memory",
5
+ "description": "Agentic production system for Ableton Live 12 — 155 tools, 16 domains, device atlas, spectral perception, technique memory, neo-Riemannian harmony, Euclidean rhythm, species counterpoint, MIDI I/O",
6
6
  "author": "Pilot Studio",
7
7
  "license": "MIT",
8
8
  "type": "commonjs",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "livepilot",
3
- "version": "1.7.0",
4
- "description": "AI copilot for Ableton Live 12 — 155 tools, device atlas (280+ devices), real-time audio analysis, generative algorithms, neo-Riemannian harmony, MIDI file I/O, and technique memory",
3
+ "version": "1.7.2",
4
+ "description": "Agentic production system for Ableton Live 12 — 155 tools, 16 domains, device atlas, spectral perception, technique memory, neo-Riemannian harmony, Euclidean rhythm, species counterpoint, MIDI I/O",
5
5
  "author": "Pilot Studio",
6
6
  "skills": [
7
7
  "skills/livepilot-core",
@@ -1,17 +1,17 @@
1
1
  ---
2
2
  name: livepilot-core
3
- description: Core discipline for controlling Ableton Live 12 through LivePilot's 155 MCP tools, device atlas (280+ devices), M4L analyzer (spectrum/RMS/key detection), automation intelligence (16 curve types, 15 recipes), music theory analysis, generative algorithms, neo-Riemannian harmony, MIDI file I/O, and technique memory. Use whenever working with Ableton Live through MCP tools.
3
+ description: Core discipline for LivePilot — agentic production system for Ableton Live 12. 155 tools across 16 domains. Device atlas (280+ devices), M4L analyzer (spectrum/RMS/key detection), technique memory, automation intelligence (16 curve types, 15 recipes), music theory (Krumhansl-Schmuckler, species counterpoint), generative algorithms (Euclidean rhythm, tintinnabuli, phase shift), neo-Riemannian harmony (PRL transforms, Tonnetz), MIDI file I/O. Use whenever working with Ableton Live through MCP tools.
4
4
  ---
5
5
 
6
- # LivePilot Core — Ableton Live 12 AI Copilot
6
+ # LivePilot Core — Ableton Live 12
7
7
 
8
- LivePilot is an agentic production system for Ableton Live 12. It combines 155 MCP tools with three layers of intelligence:
8
+ Agentic production system for Ableton Live 12. 155 tools across 16 domains, three layers:
9
9
 
10
10
  - **Device Atlas** — A structured knowledge corpus of 280+ instruments, 139 drum kits, and 350+ impulse responses. Consult the atlas before loading any device. It contains real browser URIs, preset names, and sonic descriptions. Never guess a device name — look it up.
11
11
  - **M4L Analyzer** — Real-time audio analysis on the master bus (8-band spectrum, RMS/peak, key detection). Use it to verify mixing decisions, detect frequency problems, and find the key before writing harmonic content.
12
12
  - **Technique Memory** — Persistent storage for production decisions. Consult `memory_recall` before creative tasks to understand the user's taste. Save techniques when the user likes something. The memory shapes future decisions without constraining them.
13
13
 
14
- These layers sit on top of 155 deterministic tools across 16 domains: transport, tracks, clips, MIDI notes, devices, scenes, mixing, browser, arrangement, technique memory, real-time DSP analysis, automation, music theory, generative algorithms, neo-Riemannian harmony, and MIDI file I/O.
14
+ These layers sit on top of 155 deterministic tools across 16 domains: transport, tracks, clips, notes, devices, scenes, mixing, browser, arrangement, memory, analyzer, automation, theory, generative, harmony, and MIDI I/O.
15
15
 
16
16
  ## Golden Rules
17
17
 
@@ -1,6 +1,6 @@
1
- # LivePilot v1.7.0 — Architecture & Tool Reference
1
+ # LivePilot v1.7.2 — Architecture & Tool Reference
2
2
 
3
- LivePilot is an agentic production system for Ableton Live 12. It combines 155 MCP tools with a device knowledge corpus, real-time audio analysis, automation intelligence, generative algorithms, neo-Riemannian harmony, MIDI file I/O, and persistent technique memory.
3
+ Agentic production system for Ableton Live 12. 155 tools across 16 domains. Device atlas (280+ devices), spectral perception (M4L analyzer), technique memory, automation intelligence (16 curve types, 15 recipes), music theory (Krumhansl-Schmuckler, species counterpoint), generative algorithms (Euclidean rhythm, tintinnabuli, phase shift, additive process), neo-Riemannian harmony (PRL transforms, Tonnetz), MIDI file I/O.
4
4
 
5
5
  ## Architecture
6
6