livepilot 1.10.0 → 1.10.2

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.
Files changed (55) hide show
  1. package/.claude-plugin/marketplace.json +3 -3
  2. package/AGENTS.md +3 -3
  3. package/CHANGELOG.md +214 -0
  4. package/CONTRIBUTING.md +2 -2
  5. package/LICENSE +62 -21
  6. package/README.md +264 -286
  7. package/livepilot/.Codex-plugin/plugin.json +2 -2
  8. package/livepilot/.claude-plugin/plugin.json +2 -2
  9. package/livepilot/skills/livepilot-arrangement/SKILL.md +18 -1
  10. package/livepilot/skills/livepilot-core/SKILL.md +5 -5
  11. package/livepilot/skills/livepilot-core/references/overview.md +3 -3
  12. package/livepilot/skills/livepilot-devices/SKILL.md +23 -2
  13. package/livepilot/skills/livepilot-evaluation/references/capability-modes.md +1 -1
  14. package/livepilot/skills/livepilot-release/SKILL.md +21 -17
  15. package/livepilot/skills/livepilot-sample-engine/SKILL.md +2 -1
  16. package/livepilot/skills/livepilot-wonder/SKILL.md +8 -6
  17. package/livepilot.mcpb +0 -0
  18. package/m4l_device/LivePilot_Analyzer.adv +0 -0
  19. package/m4l_device/LivePilot_Analyzer.amxd +0 -0
  20. package/m4l_device/livepilot_bridge.js +1 -1
  21. package/manifest.json +4 -4
  22. package/mcp_server/__init__.py +1 -1
  23. package/mcp_server/composer/engine.py +249 -169
  24. package/mcp_server/composer/sample_resolver.py +153 -0
  25. package/mcp_server/composer/tools.py +97 -87
  26. package/mcp_server/memory/taste_accessors.py +47 -0
  27. package/mcp_server/preview_studio/engine.py +9 -2
  28. package/mcp_server/preview_studio/tools.py +78 -35
  29. package/mcp_server/project_brain/tools.py +34 -0
  30. package/mcp_server/runtime/execution_router.py +180 -38
  31. package/mcp_server/runtime/mcp_dispatch.py +46 -0
  32. package/mcp_server/runtime/remote_commands.py +4 -1
  33. package/mcp_server/runtime/tools.py +55 -32
  34. package/mcp_server/sample_engine/moves.py +12 -12
  35. package/mcp_server/sample_engine/slice_workflow.py +190 -0
  36. package/mcp_server/sample_engine/tools.py +104 -1
  37. package/mcp_server/semantic_moves/device_creation_moves.py +7 -7
  38. package/mcp_server/semantic_moves/mix_moves.py +8 -8
  39. package/mcp_server/semantic_moves/models.py +7 -7
  40. package/mcp_server/semantic_moves/performance_moves.py +4 -4
  41. package/mcp_server/semantic_moves/sample_compilers.py +14 -9
  42. package/mcp_server/semantic_moves/sound_design_moves.py +4 -4
  43. package/mcp_server/semantic_moves/tools.py +63 -10
  44. package/mcp_server/semantic_moves/transition_moves.py +4 -4
  45. package/mcp_server/server.py +20 -1
  46. package/mcp_server/session_continuity/tracker.py +4 -1
  47. package/mcp_server/tools/_conductor.py +16 -0
  48. package/mcp_server/tools/_planner_engine.py +24 -0
  49. package/mcp_server/tools/analyzer.py +2 -0
  50. package/mcp_server/tools/planner.py +3 -0
  51. package/mcp_server/wonder_mode/engine.py +59 -13
  52. package/mcp_server/wonder_mode/tools.py +33 -1
  53. package/package.json +8 -8
  54. package/remote_script/LivePilot/__init__.py +1 -1
  55. package/remote_script/LivePilot/devices.py +10 -0
package/README.md CHANGED
@@ -11,14 +11,13 @@
11
11
  <a href="https://github.com/dreamrec/LivePilot/actions"><img src="https://img.shields.io/github/actions/workflow/status/dreamrec/LivePilot/ci.yml?style=flat-square&label=CI" alt="CI"></a>
12
12
  <a href="https://www.npmjs.com/package/livepilot"><img src="https://img.shields.io/npm/v/livepilot?style=flat-square&color=blue" alt="npm version"></a>
13
13
  <a href="https://www.npmjs.com/package/livepilot"><img src="https://img.shields.io/npm/dm/livepilot?style=flat-square" alt="npm downloads"></a>
14
- <a href="https://github.com/dreamrec/LivePilot/blob/main/LICENSE"><img src="https://img.shields.io/github/license/dreamrec/LivePilot?style=flat-square" alt="License"></a>
14
+ <a href="https://github.com/dreamrec/LivePilot/blob/main/LICENSE"><img src="https://img.shields.io/badge/license-BSL--1.1-blue?style=flat-square" alt="License"></a>
15
15
  <a href="https://github.com/dreamrec/LivePilot/releases"><img src="https://img.shields.io/github/v/release/dreamrec/LivePilot?style=flat-square&label=release" alt="Latest Release"></a>
16
- <a href="https://www.patreon.com/c/dreamrec"><img src="https://img.shields.io/badge/Patreon-Support%20LivePilot-ff424d?style=flat-square&logo=patreon&logoColor=white" alt="Patreon"></a>
17
16
  </p>
18
17
 
19
18
  <p align="center">
20
19
  An agentic production system for Ableton Live 12.<br>
21
- 316 tools. Device atlas. Spectral perception. Technique memory.
20
+ 317 tools. 43 domains. Device atlas. Splice integration. Auto-composition. Spectral perception. Technique memory.
22
21
  </p>
23
22
 
24
23
  <br>
@@ -30,49 +29,90 @@
30
29
 
31
30
  <br>
32
31
 
32
+ ---
33
+
34
+ ## What LivePilot Does
35
+
36
+ Most MCP servers are tool collections — they execute commands. LivePilot is an **agentic production system**. It has six layers that work together:
37
+
38
+ | Layer | What it provides |
39
+ |-------|-----------------|
40
+ | **Deterministic Tools** | Direct control: transport, tracks, clips, notes, devices, scenes, mixing, arrangement, browser, automation |
41
+ | **Device Atlas** | Knowledge of every device in Ableton's library — 1305 devices indexed by name, URI, category, tag, and genre. 81 enriched with sonic intelligence. 683 drum kits mapped |
42
+ | **Sample Engine** | Three-source sample intelligence — searches Ableton's browser, your filesystem, and Splice's catalog simultaneously. 6 fitness critics score every result. 29 processing techniques |
43
+ | **Spectral Perception** | Real-time ears via M4L — 8-band FFT, RMS/peak metering, Krumhansl-Schmuckler key detection, pitch tracking. Closes the feedback loop so the AI hears its own changes |
44
+ | **Technique Memory** | Persistent library of production decisions. Save a beat pattern, device chain, or mix template. Recall by mood, genre, or texture across sessions |
45
+ | **Creative Intelligence** | 12 engines that understand song identity, learn your taste, diagnose stuck sessions, generate creative options, and evaluate results before claiming success |
46
+
47
+ <br>
48
+
49
+ ---
50
+
33
51
  ## Architecture
34
52
 
35
53
  ```
36
- ┌─────────────────────────────────────────────────────────────┐
37
-
38
- KNOWLEDGE PERCEPTION MEMORY
39
- ─────────── ────────── ──────
40
-
41
- 1305 devices 8-band FFT recall by
42
- 81 enriched RMS / peak mood, genre,
43
- 683 drum kits pitch tracking texture
44
- Splice catalog key detection
45
-
46
- ┌────────────┐ ┌────────────┐ ┌────────────┐
47
- │ Device │─────▶│ M4L │─────▶│ Technique
48
- │ Atlas │ │ Analyzer │ │ Store
49
- └─────┬──────┘ └─────┬──────┘ └─────┬──────┘
50
- └───────────────────┼───────────────────┘
51
-
52
- ┌─────────────────┐
53
- 316 MCP Tools
54
- 43 domains
55
- └────────┬────────┘
56
-
57
- Remote Script ──┤── TCP 9878
58
- M4L Bridge ─────┤── UDP 9880 / OSC 9881
59
-
60
- ┌────────────────┐
61
- │ Ableton Live │
62
- └────────────────┘
63
- └─────────────────────────────────────────────────────────────┘
64
- ```
65
-
66
- The **atlas** gives the AI knowledge of every device in Ableton's library —
67
- real names, real URIs, real parameters.
68
-
69
- The **analyzer** gives it ears spectral data from the master bus
70
- via a Max for Live device.
71
-
72
- The **memory** gives it history — a searchable library of production decisions
73
- that persists across sessions.
74
-
75
- All three feed into 316 deterministic tools that execute on Ableton's main thread.
54
+ ┌──────────────────────────────────────────────────────────────────────┐
55
+
56
+ KNOWLEDGE PERCEPTION MEMORY
57
+ ────────────── ────────────── ──────────────
58
+
59
+ Device Atlas 8-band FFT recall by mood,
60
+ 1305 devices RMS / peak genre, texture
61
+ 81 enriched pitch tracking 29 techniques
62
+ 683 drum kits key detection replay into session
63
+
64
+ Sample Engine Corpus Intelligence Taste Graph
65
+ Splice (local SQLite) EmotionalRecipe move preferences
66
+ Browser search GenreChain device affinities
67
+ Filesystem scan PhysicalModelRecipe novelty tolerance
68
+ 6 fitness critics AutomationGesture
69
+
70
+ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐
71
+ Device M4L │ │ Technique │ │
72
+ Atlas │──│ Analyzer │──│ Memory
73
+ └──────┬───────┘ └──────┬───────┘ └──────┬───────┘
74
+ │ │
75
+ ┌──────┴───────┐ ┌──────┴───────┐ ┌──────┴───────┐
76
+ Sample │ │ Corpus │ │ Composer │ │
77
+ Engine │ Intelligence│ │ Engine │ │
78
+ └──────┬───────┘ └──────┬───────┘ └──────┬───────┘
79
+ └─────────────────┼──────────────────┘
80
+
81
+ │ ┌─────────────────┐ │
82
+ │ │ 317 MCP Tools │ │
83
+ │ │ 43 domains │ │
84
+ │ └────────┬────────┘ │
85
+ │ │ │
86
+ │ Remote Script ──┤── TCP 9878 │
87
+ │ M4L Bridge ─────┤── UDP 9880 / OSC 9881 │
88
+ │ Splice (local) ─┤── SQLite (downloaded samples) │
89
+ │ │ │
90
+ │ ┌────────────────┐ │
91
+ │ │ Ableton Live │ │
92
+ │ │ 12 │ │
93
+ │ └────────────────┘ │
94
+ └──────────────────────────────────────────────────────────────────────┘
95
+ ```
96
+
97
+ ### How the pieces connect
98
+
99
+ **Remote Script** (`remote_script/LivePilot/`) — A Python ControlSurface that runs inside Ableton's process. Listens on TCP 9878. All Live Object Model calls execute on Ableton's main thread via `schedule_message`. Detects Ableton version at startup and enables three capability tiers: Core (12.0+), Enhanced Arrangement (12.1.10+), Full Intelligence (12.3+).
100
+
101
+ **MCP Server** (`mcp_server/`) — Python FastMCP server. Validates inputs, routes commands to the Remote Script over TCP, manages the M4L bridge, runs the atlas, sample engine, composer, and all intelligence engines. This is what your AI client connects to.
102
+
103
+ **M4L Bridge** (`m4l_device/`) — Optional Max for Live Audio Effect on the master track. Provides deep LOM access through Max's LiveAPI that the ControlSurface API can't reach. UDP 9880 (M4L to server) carries spectral data and LiveAPI responses. OSC 9881 (server to M4L) sends commands. 36 bridge tools (backed by 27 bridge commands) for hidden parameters, Simpler internals, warp markers, and display values.
104
+
105
+ **Device Atlas** (`mcp_server/atlas/`) — In-memory indexed JSON database. 1305 devices with browser URIs, 81 enriched with YAML sonic intelligence profiles (mood, genre, texture, recommended chains). 6 indexes: by_id, by_name, by_uri, by_category, by_tag, by_genre. The AI never hallucinates a device name or preset — it always resolves against the atlas first.
106
+
107
+ **Sample Engine** (`mcp_server/sample_engine/`) — Searches three sources simultaneously: BrowserSource (Ableton's library), SpliceSource (local Splice catalog via SQLite), FilesystemSource (user directories). Every result passes through a 6-critic fitness battery (key, tempo, spectral, genre, mood, technical). 29 processing techniques (Surgeon precision vs. Alchemist experimentation). Builds complete sample processing plans with warp, slice, and effect recommendations.
108
+
109
+ **Splice Client** (`mcp_server/splice_client/`) — Reads Splice's local SQLite database (`sounds.db`) for searching downloaded samples with full metadata (key, BPM, genre, tags). A gRPC client for the Splice desktop API exists but is not yet wired into the server lifespan — currently all Splice integration is local-only via SQLite. No API key needed.
110
+
111
+ **Composer** (`mcp_server/composer/`) — Prompt-to-plan pipeline. Parses natural language ("dark minimal techno 128bpm with industrial textures") into a CompositionIntent (genre, mood, tempo, key). Plans layers using role templates (kick, bass, percussion, texture, lead, pad, fx). Compiles to a step-by-step plan of tool calls that the agent executes. Does not execute autonomously — returns the plan. 7 genre defaults (techno, house, ambient, hip-hop, dnb, dub, experimental).
112
+
113
+ **Corpus** (`mcp_server/corpus/`) — Parsed device-knowledge markdown converted to queryable Python structures: EmotionalRecipe, GenreChain, PhysicalModelRecipe, AutomationGesture. Feeds Wonder Mode, Sound Design critics, and the Composer with deep creative knowledge at runtime — not just LLM prompts, actual structured data.
114
+
115
+ **Execution Router** (`mcp_server/runtime/execution_router.py`) — Classifies each step in a multi-step plan as remote_command (TCP to Ableton), bridge_command (OSC to M4L), or mcp_tool (internal), then dispatches it through the correct channel.
76
116
 
77
117
  <br>
78
118
 
@@ -80,70 +120,51 @@ All three feed into 316 deterministic tools that execute on Ableton's main threa
80
120
 
81
121
  ## The Intelligence Layer
82
122
 
83
- Most MCP servers are tool collections they execute commands. LivePilot is an **agentic production system** — it understands what a song is becoming, diagnoses when a session is stuck, generates real creative options, learns from your decisions, and tracks its own impact.
84
-
85
- This is the V2 intelligence layer: 12 engines that sit on top of the 316 tools and give the AI musical judgment, not just musical execution.
123
+ 12 engines sit on top of the 317 tools. They give the AI musical judgment, not just musical execution.
86
124
 
87
125
  ### SongBrain — What the Song Is
88
126
 
89
- SongBrain builds a real-time model of the current session: what the defining idea is (identity core), what elements must not be casually damaged (sacred elements), what each section is trying to do emotionally (section purposes), and where the energy arc is heading. It answers the question every producer asks: *"What is this track?"*
90
-
91
- It detects when the song's identity is drifting — when recent edits are pulling the track away from what made it work. When identity confidence is high, the system makes bolder suggestions. When it's fragile, it protects what's there.
127
+ Builds a real-time model of the session: identity core (what defines this track), sacred elements (what must not be casually damaged), section purposes (what each part is doing emotionally), energy arc (where the song is heading). Detects identity drift when edits pull the track away from what made it work.
92
128
 
93
129
  ### Taste Graph — What You Like
94
130
 
95
- The Taste Graph learns your production preferences across sessions. Not just "prefers reverb" — it tracks which move families you keep vs. undo (mix moves? arrangement moves?), which devices you gravitate toward, how experimental you want suggestions to be (your novelty band), and which dimensions you actively avoid.
96
-
97
- Every time you accept or reject a suggestion, the graph updates. Over time, it personalizes which creative options are offered and how they're ranked. Two producers using the same tools get different recommendations.
131
+ Learns your production preferences across sessions. Tracks which move families you keep vs. undo, which devices you gravitate toward, how experimental you want suggestions (novelty band), and which dimensions you avoid. Every accept/reject updates the graph. Two producers using the same tools get different recommendations.
98
132
 
99
133
  ### Semantic Moves — Musical Actions, Not Parameters
100
134
 
101
- A semantic move is a high-level musical intent — "add contrast," "tighten the low end," "build tension toward the chorus" that compiles into a specific sequence of tool calls. The system has 26+ moves across 6 families (mix, arrangement, transition, sound design, sample, device creation), each with an executable plan.
102
-
103
- Moves carry risk levels, target dimensions, and protection thresholds. "Add a filter sweep build" targets energy and tension while protecting clarity. The AI doesn't just know what to do — it knows what it's risking.
135
+ 26+ high-level intents ("add contrast," "tighten the low end," "build tension") that compile into tool sequences. Each move carries a risk level, target dimensions, and protection thresholds. The AI knows what it's risking with every action.
104
136
 
105
137
  ### Wonder Mode — Stuck-Rescue Workflow
106
138
 
107
- When a session is stuck — too many undos, polishing the same loop, no structural progress — Wonder Mode activates. It's not "surprise me." It's a structured diagnosis-and-rescue workflow:
139
+ When a session is stuck — repeated undos, overpolished loops, no structural progress — Wonder Mode activates:
108
140
 
109
- 1. **Diagnose** — Why is the session stuck? Repeated undos? Overpolished loop? Missing contrast? Identity unclear? The stuckness detector analyzes the action history and classifies the problem.
110
-
111
- 2. **Generate** — Based on the diagnosis, Wonder searches for semantic moves that address the specific problem. It enforces real distinctness — each variant must differ by move family or execution approach. If only one real option exists, it says so honestly instead of relabeling the same idea three times.
112
-
113
- 3. **Preview** — Each executable variant can be applied, captured, and undone using Ableton's undo system. You hear what each option would actually sound like before committing.
114
-
115
- 4. **Commit or Reject** — Choose one, and the system records it into taste and session continuity. Reject all, and the creative thread stays open for another attempt. No fake outcomes are recorded.
141
+ 1. **Diagnose** — classify the stuckness (loop trap? missing contrast? identity unclear?)
142
+ 2. **Generate** — find semantic moves that address the diagnosis, enforcing real distinctness
143
+ 3. **Preview** — apply each variant, capture, undo. Hear before committing
144
+ 4. **Commit or Reject** — choice recorded into taste and session continuity
116
145
 
117
146
  ### Creative Engines
118
147
 
119
- Six specialized engines handle different aspects of production intelligence:
120
-
121
148
  | Engine | What it does |
122
149
  |--------|-------------|
123
- | **Mix Engine** | Critic-driven mix analysis. Identifies masking, headroom issues, stereo problems. Plans corrective moves with before/after evaluation. |
124
- | **Sound Design Engine** | Analyzes patches for static timbre, missing modulation, weak transients. Suggests parameter moves and evaluates the result. |
125
- | **Transition Engine** | Classifies transition types (drop, build, breakdown). Scores transition quality and plans improvements using archetypes. |
126
- | **Composition Engine** | Analyzes song structure, detects motifs, infers section purposes, scores emotional arcs. Plans arrangement moves. |
127
- | **Performance Engine** | Safety-constrained suggestions for live performance. Knows which moves are safe during playback and which risk audio dropouts. |
128
- | **Reference Engine** | Distills principles from reference tracks. Maps those principles to your current session as concrete, actionable moves. |
129
-
130
- ### Hook Hunter — Finding What Matters
131
-
132
- The Hook Hunter identifies the most salient musical idea in a session — the element listeners would remember. It ranks candidates by rhythmic distinctiveness, melodic contour, and repetition. Then it tracks whether hooks are being developed, neglected, or undermined by arrangement choices.
133
-
134
- When the hook is strong but underused, it flags it. When a transition fails to deliver the expected payoff, it diagnoses why.
150
+ | **Mix Engine** | Critic-driven analysis: masking, headroom, stereo, dynamics. Plans corrective moves with before/after evaluation |
151
+ | **Sound Design Engine** | Analyzes patches for static timbre, missing modulation, weak transients. Suggests parameter moves |
152
+ | **Transition Engine** | Classifies transition types (drop, build, breakdown). Scores quality, plans improvements from archetypes |
153
+ | **Composition Engine** | Section analysis, motif detection, emotional arcs. Plans structural moves |
154
+ | **Performance Engine** | Safety-constrained suggestions for live sets. Knows which moves risk audio dropouts |
155
+ | **Reference Engine** | Distills principles from reference tracks. Maps them to your session as concrete moves |
135
156
 
136
- ### Session Continuity — The Story of Your Session
157
+ ### Hook Hunter
137
158
 
138
- Session Continuity tracks what happened, what changed, and what's still unresolved. It maintains creative threads (open questions like "the chorus needs more lift") and records turn resolutions (what you tried, whether you kept it, how it affected identity).
159
+ Identifies the most salient musical idea ranks by rhythmic distinctiveness, melodic contour, repetition. Tracks whether hooks are developed, neglected, or undermined. Flags when a transition fails to deliver expected payoff.
139
160
 
140
- When you return to a project, the session story tells the AI: *"Last time, you were working on making the bridge darker. You tried three approaches and kept the filter sweep. The chorus lift thread is still open."*
161
+ ### Session Continuity
141
162
 
142
- ### Evaluation Loop Verify Before Claiming Success
163
+ Maintains creative threads ("the chorus needs more lift") and turn resolutions across the session. When you return to a project: *"Last time, you kept the filter sweep for the bridge. The chorus lift thread is still open."*
143
164
 
144
- Every creative engine follows the same discipline: **measure before, act, measure after, compare**. The evaluation system captures session state snapshots, runs the change, captures again, and scores the difference. If the change made things worse — more masking, lost headroom, identity drift — the system flags it before you move on.
165
+ ### Evaluation Loop
145
166
 
146
- This closes the gap between "the AI did something" and "the AI did something that actually helped."
167
+ Every engine follows: **measure before act measure after → compare**. If a change made things worse (more masking, lost headroom, identity drift), the system flags it before you move on.
147
168
 
148
169
  <br>
149
170
 
@@ -151,11 +172,11 @@ This closes the gap between "the AI did something" and "the AI did something tha
151
172
 
152
173
  ## Tools
153
174
 
154
- 316 tools across 43 domains. Highlights below — [full catalog here](docs/manual/tool-catalog.md).
175
+ 317 tools across 43 domains. Highlights below — [full catalog here](docs/manual/tool-catalog.md).
155
176
 
156
177
  <br>
157
178
 
158
- ### Core
179
+ ### Core (210 tools)
159
180
 
160
181
  | Domain | # | What it covers |
161
182
  |--------|:-:|----------------|
@@ -167,17 +188,23 @@ This closes the gap between "the AI did something" and "the AI did something tha
167
188
  | Scenes | 12 | create, delete, duplicate, fire, name, color, tempo, scene matrix |
168
189
  | Browser | 4 | search library, browse tree, load items, filter by category |
169
190
  | Mixing | 11 | volume, pan, sends, routing, meters, return tracks, master, full mix snapshot |
170
- | Arrangement | 21 | timeline clips, native arrangement clips (12.1.10+), arrangement notes, arrangement automation, recording, cue points |
191
+ | Arrangement | 21 | timeline clips, native arrangement clips (12.1.10+), arrangement notes, automation, recording, cue points |
192
+ | Automation | 8 | 16 curve types, 15 recipes (filter sweep, sidechain pump, dub throw...), spectral suggestions |
193
+ | Theory | 7 | Krumhansl-Schmuckler key detection, Roman numeral analysis, species counterpoint, SATB harmonization |
194
+ | Harmony | 4 | neo-Riemannian PRL transforms, Tonnetz navigation, voice leading paths, chromatic mediants |
195
+ | Generative | 5 | Euclidean rhythm (Bjorklund), tintinnabuli (Arvo Part), phase shift (Steve Reich), additive process (Philip Glass) |
196
+ | Memory | 8 | save, recall, replay, manage production techniques by mood/genre/texture |
197
+ | MIDI I/O | 4 | export/import .mid, offline analysis, piano roll extraction |
198
+ | Perception | 4 | offline loudness (integrated LUFS, LRA), spectral analysis, reference comparison |
171
199
 
172
200
  <br>
173
201
 
174
- ### Perception — 30 tools `[M4L]`
202
+ ### M4L Bridge — 30 tools `[optional]`
175
203
 
176
- The M4L Analyzer sits on the master track. UDP 9880 carries spectral data
177
- from Max to the server. OSC 9881 sends commands back.
204
+ The M4L Analyzer sits on the master track. UDP 9880 carries spectral data to the server. OSC 9881 sends commands back.
178
205
 
179
206
  > [!TIP]
180
- > All 289 core tools work without the analyzer — it adds 27 bridge tools and closes the feedback loop.
207
+ > All 281 core tools work without the analyzer — it adds 36 bridge tools and closes the feedback loop.
181
208
 
182
209
  ```
183
210
  SPECTRAL ─────── 8-band frequency decomposition (sub → air)
@@ -199,229 +226,141 @@ WARP ─────────── get / add / move / remove markers
199
226
 
200
227
  <br>
201
228
 
202
- ### Intelligence
203
-
204
- <details>
205
- <summary><strong>Theory — 7 tools</strong></summary>
206
-
207
- <br>
208
-
209
- Krumhansl-Schmuckler key detection with 7 mode profiles:
210
- major, minor, dorian, phrygian, lydian, mixolydian, locrian.
211
-
212
- Roman numeral analysis via scale-degree chord matching
213
- on a 1/32 note quantization grid.
214
-
215
- Voice leading checks — parallel fifths, parallel octaves,
216
- voice crossing, unresolved dominants.
217
-
218
- Species counterpoint generation (1st and 2nd species).
219
- SATB harmonization with smooth voice leading.
220
- Diatonic transposition that preserves scale relationships.
221
-
222
- ```
223
- analyze_harmony suggest_next_chord detect_theory_issues
224
- identify_scale harmonize_melody generate_countermelody
225
- transpose_smart
226
- ```
227
-
228
- </details>
229
-
230
- <details>
231
- <summary><strong>Harmony — 4 tools</strong></summary>
232
-
233
- <br>
234
-
235
- Neo-Riemannian PRL transforms on the Tonnetz.
236
-
237
- ```
238
- P flips the third ─────── Cm ↔ C
239
- L shifts by semitone ──── C ↔ Em
240
- R shifts by whole tone ── C ↔ Am
241
- ```
242
-
243
- All three are involutions — apply twice, return to origin.
244
-
245
- BFS through PRL space finds the shortest voice-leading path
246
- between any two triads. Cm to E major? That's PLP — the hexatonic pole.
247
- Three steps, each moving one voice by a semitone.
248
- The Hitchcock chord change.
249
-
250
- Chromatic mediants for film-score harmony: chords a major/minor third away
251
- sharing 0-1 common tones. Maximum color shift, minimal voice movement.
252
-
253
- ```
254
- navigate_tonnetz find_voice_leading_path
255
- classify_progression suggest_chromatic_mediants
256
- ```
257
-
258
- </details>
259
-
260
- <details>
261
- <summary><strong>Generative — 5 tools</strong></summary>
262
-
263
- <br>
229
+ ### Device Atlas — 6 tools
264
230
 
265
- **Euclidean Rhythm** Bjorklund distributes N pulses across M steps.
266
- Bresenham's line algorithm applied to rhythm.
231
+ The atlas is an in-memory indexed database of Ableton's entire device library.
267
232
 
268
233
  ```
269
- E(3,8) = tresillo ×··×··×·
270
- E(5,8) = cinquillo ×·××·××·
271
- E(7,16) = Brazilian necklace ×·×·×××·×·×·×××·
234
+ 1305 devices total
235
+ 81 enriched with sonic intelligence (mood, genre, texture, chains)
236
+ 683 drum kits mapped with note assignments
237
+ 6 indexes: by_id, by_name, by_uri, by_category, by_tag, by_genre
272
238
  ```
273
239
 
274
- Layer multiple patterns at different pitches for polyrhythmic textures.
275
-
276
- **Tintinnabuli** (Arvo Pärt) — for each melody note, find the nearest tone
277
- of a specified triad. Two voices, one rule, infinite music.
278
-
279
- **Phase Shifting** (Steve Reich) — identical voices with accumulating timing drift.
280
- They start in unison, gradually separate, and eventually realign.
281
-
282
- **Additive Process** (Philip Glass) — melody unfolds note by note.
283
- The structure *is* the composition.
284
-
285
240
  ```
286
- generate_euclidean_rhythm layer_euclidean_rhythms
287
- generate_tintinnabuli generate_phase_shift
288
- generate_additive_process
241
+ atlas_search Search devices by name, category, or tag
242
+ atlas_suggest Suggest devices for a musical intent (e.g., "warm pad")
243
+ atlas_chain Build a device chain from a genre or purpose
244
+ atlas_compare Compare two devices side-by-side
245
+ atlas_detail Get full enriched profile for a device
246
+ atlas_library_scan Scan what's actually installed on this machine
289
247
  ```
290
248
 
291
- </details>
292
-
293
- <details>
294
- <summary><strong>Automation — 8 tools</strong></summary>
295
-
296
249
  <br>
297
250
 
298
- 16 curve types in 4 categories:
299
-
300
- ```
301
- BASIC ──────────── linear · exponential · logarithmic · s_curve
302
- sine · sawtooth · spike · square · steps
303
-
304
- ORGANIC ─────────── perlin · brownian · spring
251
+ ### Sample Engine 6 tools
305
252
 
306
- SHAPE ──────────── bezier · easing
307
- (bounce, elastic, back, quad, cubic,
308
- quart, quint, expo)
253
+ Three-source sample intelligence with critic-driven fitness scoring.
309
254
 
310
- GENERATIVE ─────── euclidean · stochastic
311
255
  ```
256
+ SOURCES ─────────── BrowserSource (Ableton's built-in library)
257
+ SpliceSource (local Splice catalog via SQLite)
258
+ FilesystemSource (user-specified directories)
312
259
 
313
- 15 built-in recipes:
260
+ CRITICS ─────────── key fitness · tempo fitness · spectral match
261
+ genre alignment · mood alignment · technical quality
314
262
 
263
+ TECHNIQUES ─────── 29 processing recipes:
264
+ Surgeon (precise, transparent) vs.
265
+ Alchemist (experimental, transformative)
315
266
  ```
316
- filter_sweep_up filter_sweep_down dub_throw
317
- tape_stop build_rise sidechain_pump
318
- fade_in fade_out tremolo
319
- auto_pan stutter breathing
320
- washout vinyl_crackle stereo_narrow
321
- ```
322
-
323
- Perception-action loop: `analyze_for_automation` reads the spectrum
324
- and device chain, suggests what to automate, and maps each suggestion
325
- to a recipe.
326
267
 
327
268
  ```
328
- get_clip_automation set_clip_automation clear_clip_automation
329
- apply_automation_shape apply_automation_recipe get_automation_recipes
330
- generate_automation_curve analyze_for_automation
269
+ analyze_sample Build a complete SampleProfile (material, key, BPM, spectral)
270
+ search_samples Multi-source search with critic scoring
271
+ suggest_sample_move Recommend processing technique for a sample
272
+ build_sample_plan Full processing pipeline: warp + slice + effects
273
+ list_sample_techniques Browse the 29-technique library
274
+ get_sample_technique Get detailed recipe for a specific technique
331
275
  ```
332
276
 
333
- </details>
334
-
335
- <details>
336
- <summary><strong>Memory — 8 tools</strong></summary>
337
-
338
277
  <br>
339
278
 
340
- Persistent technique library across sessions.
279
+ ### Splice Integration
341
280
 
342
- Five types: `beat_pattern` · `device_chain` · `mix_template` · `preference` · `browser_pin`
281
+ LivePilot reads Splice's local SQLite database to search your downloaded samples with full metadata. No API key needed — it reads the database file directly.
343
282
 
344
- Each stores:
345
- - **Identity** name, tags, timestamps
346
- - **Qualities** mood, genre, texture, production notes
347
- - **Payload**raw MIDI, device params, tempo, URIs
283
+ **What it does:**
284
+ - Searches your downloaded Splice samples with key, BPM, genre, and tag metadata
285
+ - Integrates as a third source alongside Ableton's browser and filesystem scanning
286
+ - Works without a Splice subscription any previously downloaded samples are searchable
348
287
 
349
- Recall by text query matching mood, genre, texturenot just names.
288
+ **How it works:** The Sample Engine's `SpliceSource` reads `~/Library/Application Support/com.splice.Splice/users/default/*/sounds.db` Splice's local SQLite catalog of downloaded samples. Read-only, no network calls.
350
289
 
351
- ```
352
- memory_learn memory_recall memory_list memory_get
353
- memory_update memory_delete memory_favorite memory_replay
354
- ```
355
-
356
- </details>
357
-
358
- <details>
359
- <summary><strong>MIDI I/O — 4 tools</strong></summary>
290
+ **Requirements:** Splice desktop app installed with some downloaded samples. A gRPC client for Splice's live API exists in `mcp_server/splice_client/` but is not yet wired into the server runtime.
360
291
 
361
292
  <br>
362
293
 
363
- Export session clips to standard .mid files.
364
- Import .mid into session clips — auto-creates the clip, tempo-aware timing.
365
-
366
- Offline analysis without Ableton: note count, duration, tempo,
367
- pitch range, velocity stats, density curve, key estimate.
368
-
369
- Piano roll extraction: 2D velocity matrix at configurable resolution
370
- (default 1/32 note).
371
-
372
- ```
373
- export_clip_midi import_midi_to_clip
374
- analyze_midi_file extract_piano_roll
375
- ```
376
-
377
- </details>
378
-
379
- <details>
380
- <summary><strong>Perception 4 tools</strong></summary>
294
+ ### Composer 3 tools
295
+
296
+ Prompt-to-plan auto-composition engine.
297
+
298
+ ```
299
+ "dark minimal techno 128bpm with industrial textures and ghostly vocals"
300
+
301
+
302
+ ┌─────────────────┐
303
+ │ Prompt Parser │ → CompositionIntent (genre, mood, tempo, key)
304
+ └────────┬────────┘
305
+
306
+ ┌─────────────────┐
307
+ │ Layer Planner │ → role templates (kick, bass, perc, texture, lead, pad, fx)
308
+ └────────┬────────┘
309
+
310
+ ┌─────────────────┐
311
+ │ Plan Compiler │ executable tool sequences
312
+ └────────┬────────┘
313
+
314
+ ┌─────────────────┐
315
+ │ Execution Router │ → dispatches: create tracks, search samples, load devices,
316
+ │ │ program notes, set volumes, build arrangement
317
+ └─────────────────┘
318
+ ```
319
+
320
+ - 7 genre defaults: techno, house, ambient, hip-hop, dnb, dub, experimental
321
+ - Returns step-by-step plans — the agent executes each tool call in sequence
322
+ - `compose` — plan a multi-layer composition from text prompt
323
+ - `augment_with_samples` — plan sample-based layers for existing session
324
+ - `get_composition_plan` — dry-run preview (see the plan without credit checks)
381
325
 
382
326
  <br>
383
327
 
384
- Offline audio analysisno M4L required.
328
+ ### Device Forge3 tools
329
+
330
+ Generate M4L audio effect devices from `gen~` templates and install them into Ableton's browser.
385
331
 
386
332
  ```
387
- analyze_loudness Integrated LUFS, true peak, LRA, streaming compliance
388
- analyze_spectrum_offline Spectral centroid, rolloff, flatness, 5-band balance
389
- compare_to_reference Mix vs reference: loudness + spectral delta
390
- read_audio_metadata Format, duration, sample rate, tags
333
+ forge_device Generate a device from a gen~ template
334
+ forge_list_templates Browse available gen~ templates
335
+ forge_install Install generated device to browser
391
336
  ```
392
337
 
393
- </details>
394
-
395
338
  <br>
396
339
 
397
- ### Agentic Intelligence — 106 tools
340
+ ### Agentic Intelligence — 79 tools
398
341
 
399
- The V2 intelligence layer. These tools don't just execute commands — they analyze, diagnose, plan, evaluate, and learn.
342
+ The V2 intelligence layer. These tools analyze, diagnose, plan, evaluate, and learn.
400
343
 
401
344
  | Domain | # | What it does |
402
345
  |--------|:-:|-------------|
403
346
  | Agent OS | 8 | session kernel, action ledger, capability state, routing, turn budget |
404
- | Composition | 9 | section analysis, motif detection, emotional arc, form planning, section transforms |
347
+ | Composition | 9 | section analysis, motif detection, emotional arc, form planning |
405
348
  | Evaluation | 1 | before/after evaluation with structured scoring |
406
- | Mix Engine | 6 | critic-driven mix analysis, issue detection, move planning, masking reports |
349
+ | Mix Engine | 6 | critic-driven mix analysis, masking, headroom, stereo, dynamics |
407
350
  | Sound Design | 4 | patch analysis, modulation planning, timbre scoring |
408
351
  | Transition Engine | 5 | transition classification, scoring, archetype-based planning |
409
- | Reference Engine | 5 | reference profiling, principle distillation, gap analysis, move mapping |
352
+ | Reference Engine | 5 | reference profiling, principle distillation, gap analysis |
410
353
  | Translation Engine | 3 | cross-domain translation, issue detection |
411
- | Performance Engine | 3 | safety-constrained suggestions, safe move lists, scene handoff planning |
412
- | Song Brain | 3 | identity inference, sacred element detection, drift monitoring |
413
- | Hook Hunter | 9 | hook detection, salience scoring, development strategies, neglect detection, phrase impact |
414
- | Stuckness Detector | 3 | momentum analysis, rescue classification, structured rescue workflows |
415
- | Wonder Mode | 3 | diagnosis-driven variant generation, taste-aware ranking, session discard |
416
- | Session Continuity | 7 | creative threads, turn resolution, taste vs identity ranking, session story |
417
- | Creative Constraints | 5 | constraint activation, reference-inspired variants, constrained generation |
418
- | Preview Studio | 5 | variant creation, preview rendering, comparison, commit, discard |
419
- | **Device Atlas** | **6** | **search 1305 devices, suggest by intent, chain building, device comparison, library scan** |
420
- | **Sample Engine** | **6** | **multi-source sample search (Splice/Browser/filesystem), fitness critics, technique library** |
421
- | **Device Forge** | **3** | **generate M4L devices from gen~ templates, install to browser** |
422
- | **Composer** | **3** | **prompt → multi-layer composition, sample augmentation, plan preview** |
423
-
424
- > **[View all 316 tools →](docs/manual/tool-catalog.md)**
354
+ | Performance Engine | 3 | safety-constrained suggestions, safe moves, scene handoff |
355
+ | Song Brain | 3 | identity inference, sacred elements, drift monitoring |
356
+ | Hook Hunter | 9 | hook detection, salience scoring, neglect detection, phrase impact |
357
+ | Stuckness Detector | 3 | momentum analysis, rescue classification, rescue workflows |
358
+ | Wonder Mode | 3 | diagnosis-driven variants, taste-aware ranking |
359
+ | Session Continuity | 7 | creative threads, turn resolution, session story |
360
+ | Creative Constraints | 5 | constraint activation, reference-inspired variants |
361
+ | Preview Studio | 5 | variant creation, preview rendering, comparison, commit |
362
+
363
+ > **[View all 317 tools →](docs/manual/tool-catalog.md)**
425
364
 
426
365
  <br>
427
366
 
@@ -447,7 +386,7 @@ Claude Desktop installs everything automatically. Then:
447
386
  npx livepilot --setup
448
387
  ```
449
388
 
450
- This runs the full setup wizard: checks Python, installs the Remote Script, creates the Python environment, copies the M4L Analyzer, and tests the Ableton connection.
389
+ Runs the full setup wizard: checks Python, installs the Remote Script, creates the Python environment, copies the M4L Analyzer, and tests the Ableton connection.
451
390
 
452
391
  ### Manual: Step by Step
453
392
 
@@ -520,20 +459,27 @@ livepilot --install
520
459
  </details>
521
460
 
522
461
  <details>
523
- <summary><strong>3. M4L Analyzer (optional)</strong></summary>
462
+ <summary><strong>3. M4L Analyzer (optional — adds 27 tools)</strong></summary>
524
463
 
525
464
  Drag `LivePilot_Analyzer.amxd` onto the master track for real-time spectral analysis.
526
465
  The `--setup` wizard and Desktop Extension do this automatically.
527
466
 
467
+ > **Important:** The Analyzer must be the LAST device on the master track — after all effects (EQ, Compressor, Utility) so it reads the final output signal.
468
+
528
469
  </details>
529
470
 
530
- Unlocks 29 additional tools: spectral analysis, key detection,
531
- sample manipulation, deep device introspection, plugin parameter mapping.
471
+ <details>
472
+ <summary><strong>4. Splice (optional adds sample catalog)</strong></summary>
473
+
474
+ If you have Splice installed with downloaded samples, the Sample Engine can search them with full metadata (key, BPM, genre, tags) via the local SQLite database.
475
+
476
+ No API key, no configuration — the Sample Engine reads Splice's `sounds.db` file directly.
532
477
 
533
- > [!IMPORTANT]
534
- > All core tools work without the analyzer. It adds perception, not dependency.
478
+ Without Splice, the Sample Engine still searches Ableton's browser and your filesystem.
535
479
 
536
- ### 4. Verify
480
+ </details>
481
+
482
+ ### Verify
537
483
 
538
484
  ```bash
539
485
  npx livepilot --status
@@ -551,9 +497,6 @@ npx livepilot --status
551
497
  npx livepilot --install-codex-plugin
552
498
  ```
553
499
 
554
- Installs the bundled plugin into `~/plugins/livepilot` and registers it in
555
- `~/.agents/plugins/marketplace.json`.
556
-
557
500
  **Claude Code**
558
501
 
559
502
  ```bash
@@ -564,15 +507,19 @@ claude plugin add github:dreamrec/LivePilot/plugin
564
507
  |---------|------|
565
508
  | `/session` | Full session overview with diagnostics |
566
509
  | `/beat` | Guided beat creation |
510
+ | `/arrange` | Guided arrangement and song structure |
567
511
  | `/mix` | Mixing assistant |
568
512
  | `/sounddesign` | Sound design workflow |
513
+ | `/perform` | Live performance mode with safety constraints |
514
+ | `/evaluate` | Before/after evaluation of recent changes |
569
515
  | `/memory` | Technique library management |
570
516
 
571
517
  **Producer Agent** — autonomous multi-step production.
572
518
  Consults memory for style context, searches the atlas for instruments,
573
- creates tracks, programs MIDI, chains effects, reads the spectrum to verify.
519
+ searches samples, creates tracks, programs MIDI, chains effects,
520
+ reads the spectrum to verify, and arranges sections.
574
521
 
575
- **Core Skill** — operational discipline connecting all three layers.
522
+ **Core Skill** — operational discipline connecting all layers.
576
523
  Consult atlas before loading. Read analyzer after mixing.
577
524
  Check memory before creative decisions. Verify every mutation.
578
525
 
@@ -584,6 +531,7 @@ Check memory before creative decisions. Verify every mutation.
584
531
 
585
532
  ```bash
586
533
  npx livepilot # Start MCP server (stdio)
534
+ npx livepilot --setup # Full setup wizard
587
535
  npx livepilot --install # Install Remote Script
588
536
  npx livepilot --uninstall # Remove Remote Script
589
537
  npx livepilot --install-codex-plugin # Install bundled Codex plugin
@@ -599,10 +547,18 @@ npx livepilot --version # Show version
599
547
 
600
548
  ## Compatibility
601
549
 
602
- - **Ableton Live 12** — all editions. Suite required for Max for Live and stock instruments (Drift, Meld, Wavetable).
603
- - **Python** 3.9+
604
- - **Node.js** 18+
605
- - **macOS / Windows**
550
+ | Requirement | Minimum |
551
+ |-------------|---------|
552
+ | Ableton Live | **12** (any edition). Suite required for Max for Live bridge and stock instruments |
553
+ | Python | 3.9+ |
554
+ | Node.js | 18+ |
555
+ | OS | macOS / Windows |
556
+ | Splice | Desktop app with downloaded samples (optional — enables SQLite metadata search) |
557
+
558
+ **Version tiers:**
559
+ - **Core (12.0+):** All session tools, mixing, devices, MIDI, theory, generative, memory
560
+ - **Enhanced Arrangement (12.1.10+):** Native arrangement clips, arrangement automation
561
+ - **Full Intelligence (12.3+):** `insert_device_native`, complete device insertion pipeline
606
562
 
607
563
  <br>
608
564
 
@@ -623,6 +579,28 @@ See [CONTRIBUTING.md](CONTRIBUTING.md) for architecture details, code guidelines
623
579
 
624
580
  ---
625
581
 
582
+ ## Documentation
583
+
584
+ | Document | What's inside |
585
+ |----------|---------------|
586
+ | [Manual](docs/manual/index.md) | Complete reference: architecture, all 317 tools, workflows |
587
+ | [Intelligence Layer](docs/manual/intelligence.md) | How the 12 engines connect — conductor, moves, preview, evaluation |
588
+ | [Device Atlas](docs/manual/device-atlas.md) | 1305 devices indexed — search, suggest, chain building |
589
+ | [Samples & Slicing](docs/manual/samples.md) | 3-source search, fitness critics, slice workflows |
590
+ | [Automation](docs/manual/automation.md) | 16 curve types, 15 recipes, spectral suggestions |
591
+ | [Composition](docs/manual/composition.md) | Composer, section analysis, arrangement planning |
592
+ | [Getting Started](docs/manual/getting-started.md) | Zero to sound in five minutes |
593
+ | [Workflows](docs/manual/workflows.md) | Beats, session setup, sound design, arrangement, mixing |
594
+ | [MIDI Guide](docs/manual/midi-guide.md) | Drum patterns, scales, chords, humanization |
595
+ | [Sound Design](docs/manual/sound-design.md) | Instruments, effects, parameter recipes |
596
+ | [Mixing](docs/manual/mixing.md) | Gain staging, EQ, compression, sends, stereo width |
597
+ | [M4L Bridge](docs/M4L_BRIDGE.md) | Technical reference for the Max for Live analyzer |
598
+ | [Troubleshooting](docs/manual/troubleshooting.md) | Connection issues, common errors, diagnostics |
599
+
600
+ <br>
601
+
602
+ ---
603
+
626
604
  ## Community
627
605
 
628
606
  - [Discussions](https://github.com/dreamrec/LivePilot/discussions) — questions, ideas, show & tell
@@ -637,20 +615,20 @@ See [CONTRIBUTING.md](CONTRIBUTING.md) for architecture details, code guidelines
637
615
 
638
616
  ## Support
639
617
 
640
- LivePilot is free and open source. Building it takes hundreds of hours, an Ableton Suite license, and a Claude subscription. If LivePilot saves you time in your sessions, consider supporting development:
618
+ LivePilot is source-available under the [Business Source License 1.1](LICENSE). If it saves you time in your sessions:
641
619
 
642
620
  <p align="center">
643
- <a href="https://www.patreon.com/c/dreamrec"><strong>Support on Patreon</strong></a> · <a href="https://github.com/sponsors/dreamrec">GitHub Sponsors</a>
621
+ <a href="https://github.com/sponsors/dreamrec"><strong>Sponsor on GitHub</strong></a>
644
622
  </p>
645
623
 
646
- Supporters get early access to new features, premium skills, curated technique libraries, and direct support.
624
+ Sponsors get early access to new features, premium skills, curated technique libraries, and direct support.
647
625
 
648
626
  <br>
649
627
 
650
628
  ---
651
629
 
652
630
  <p align="center">
653
- <a href="LICENSE">MIT</a> — Pilot Studio
631
+ <a href="LICENSE">BSL-1.1</a> — Pilot Studio
654
632
  <br><br>
655
633
  Sister projects: <a href="https://github.com/dreamrec/TDPilot">TDPilot</a> (TouchDesigner) · <a href="https://github.com/dreamrec/ComfyPilot">ComfyPilot</a> (ComfyUI)
656
634
  </p>