livepilot 1.9.24 → 1.10.1

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 (185) hide show
  1. package/.claude-plugin/marketplace.json +3 -3
  2. package/AGENTS.md +3 -3
  3. package/CHANGELOG.md +223 -0
  4. package/CONTRIBUTING.md +2 -2
  5. package/LICENSE +62 -21
  6. package/README.md +291 -276
  7. package/bin/livepilot.js +87 -0
  8. package/installer/codex.js +147 -0
  9. package/livepilot/.Codex-plugin/plugin.json +2 -2
  10. package/livepilot/.claude-plugin/plugin.json +2 -2
  11. package/livepilot/skills/livepilot-arrangement/SKILL.md +18 -1
  12. package/livepilot/skills/livepilot-core/SKILL.md +22 -5
  13. package/livepilot/skills/livepilot-core/references/device-knowledge/00-index.md +34 -0
  14. package/livepilot/skills/livepilot-core/references/device-knowledge/automation-as-music.md +204 -0
  15. package/livepilot/skills/livepilot-core/references/device-knowledge/chains-genre.md +173 -0
  16. package/livepilot/skills/livepilot-core/references/device-knowledge/creative-thinking.md +211 -0
  17. package/livepilot/skills/livepilot-core/references/device-knowledge/effects-distortion.md +188 -0
  18. package/livepilot/skills/livepilot-core/references/device-knowledge/effects-space.md +162 -0
  19. package/livepilot/skills/livepilot-core/references/device-knowledge/effects-spectral.md +229 -0
  20. package/livepilot/skills/livepilot-core/references/device-knowledge/instruments-synths.md +243 -0
  21. package/livepilot/skills/livepilot-core/references/overview.md +13 -9
  22. package/livepilot/skills/livepilot-core/references/sample-manipulation.md +724 -0
  23. package/livepilot/skills/livepilot-core/references/sound-design-deep.md +140 -0
  24. package/livepilot/skills/livepilot-devices/SKILL.md +39 -4
  25. package/livepilot/skills/livepilot-evaluation/references/capability-modes.md +1 -1
  26. package/livepilot/skills/livepilot-release/SKILL.md +23 -19
  27. package/livepilot/skills/livepilot-sample-engine/SKILL.md +105 -0
  28. package/livepilot/skills/livepilot-sample-engine/references/sample-critics.md +87 -0
  29. package/livepilot/skills/livepilot-sample-engine/references/sample-philosophy.md +51 -0
  30. package/livepilot/skills/livepilot-sample-engine/references/sample-techniques.md +131 -0
  31. package/livepilot/skills/livepilot-sound-design-engine/SKILL.md +45 -0
  32. package/livepilot/skills/livepilot-wonder/SKILL.md +17 -0
  33. package/livepilot.mcpb +0 -0
  34. package/m4l_device/livepilot_bridge.js +1 -1
  35. package/manifest.json +4 -4
  36. package/mcp_server/__init__.py +1 -1
  37. package/mcp_server/atlas/__init__.py +357 -0
  38. package/mcp_server/atlas/device_atlas.json +44067 -0
  39. package/mcp_server/atlas/enrichments/__init__.py +111 -0
  40. package/mcp_server/atlas/enrichments/audio_effects/auto_filter.yaml +162 -0
  41. package/mcp_server/atlas/enrichments/audio_effects/beat_repeat.yaml +183 -0
  42. package/mcp_server/atlas/enrichments/audio_effects/channel_eq.yaml +126 -0
  43. package/mcp_server/atlas/enrichments/audio_effects/chorus_ensemble.yaml +149 -0
  44. package/mcp_server/atlas/enrichments/audio_effects/color_limiter.yaml +109 -0
  45. package/mcp_server/atlas/enrichments/audio_effects/compressor.yaml +159 -0
  46. package/mcp_server/atlas/enrichments/audio_effects/convolution_reverb.yaml +143 -0
  47. package/mcp_server/atlas/enrichments/audio_effects/convolution_reverb_pro.yaml +178 -0
  48. package/mcp_server/atlas/enrichments/audio_effects/delay.yaml +151 -0
  49. package/mcp_server/atlas/enrichments/audio_effects/drum_buss.yaml +142 -0
  50. package/mcp_server/atlas/enrichments/audio_effects/dynamic_tube.yaml +147 -0
  51. package/mcp_server/atlas/enrichments/audio_effects/echo.yaml +167 -0
  52. package/mcp_server/atlas/enrichments/audio_effects/eq_eight.yaml +148 -0
  53. package/mcp_server/atlas/enrichments/audio_effects/eq_three.yaml +121 -0
  54. package/mcp_server/atlas/enrichments/audio_effects/erosion.yaml +103 -0
  55. package/mcp_server/atlas/enrichments/audio_effects/filter_delay.yaml +173 -0
  56. package/mcp_server/atlas/enrichments/audio_effects/gate.yaml +130 -0
  57. package/mcp_server/atlas/enrichments/audio_effects/gated_delay.yaml +133 -0
  58. package/mcp_server/atlas/enrichments/audio_effects/glue_compressor.yaml +142 -0
  59. package/mcp_server/atlas/enrichments/audio_effects/grain_delay.yaml +141 -0
  60. package/mcp_server/atlas/enrichments/audio_effects/hybrid_reverb.yaml +160 -0
  61. package/mcp_server/atlas/enrichments/audio_effects/limiter.yaml +97 -0
  62. package/mcp_server/atlas/enrichments/audio_effects/multiband_dynamics.yaml +174 -0
  63. package/mcp_server/atlas/enrichments/audio_effects/overdrive.yaml +119 -0
  64. package/mcp_server/atlas/enrichments/audio_effects/pedal.yaml +145 -0
  65. package/mcp_server/atlas/enrichments/audio_effects/phaser_flanger.yaml +161 -0
  66. package/mcp_server/atlas/enrichments/audio_effects/redux.yaml +114 -0
  67. package/mcp_server/atlas/enrichments/audio_effects/reverb.yaml +190 -0
  68. package/mcp_server/atlas/enrichments/audio_effects/roar.yaml +159 -0
  69. package/mcp_server/atlas/enrichments/audio_effects/saturator.yaml +146 -0
  70. package/mcp_server/atlas/enrichments/audio_effects/shifter.yaml +154 -0
  71. package/mcp_server/atlas/enrichments/audio_effects/spectral_resonator.yaml +141 -0
  72. package/mcp_server/atlas/enrichments/audio_effects/spectral_time.yaml +164 -0
  73. package/mcp_server/atlas/enrichments/audio_effects/vector_delay.yaml +140 -0
  74. package/mcp_server/atlas/enrichments/audio_effects/vinyl_distortion.yaml +141 -0
  75. package/mcp_server/atlas/enrichments/instruments/analog.yaml +222 -0
  76. package/mcp_server/atlas/enrichments/instruments/bass.yaml +202 -0
  77. package/mcp_server/atlas/enrichments/instruments/collision.yaml +150 -0
  78. package/mcp_server/atlas/enrichments/instruments/drift.yaml +167 -0
  79. package/mcp_server/atlas/enrichments/instruments/electric.yaml +137 -0
  80. package/mcp_server/atlas/enrichments/instruments/emit.yaml +163 -0
  81. package/mcp_server/atlas/enrichments/instruments/meld.yaml +164 -0
  82. package/mcp_server/atlas/enrichments/instruments/operator.yaml +197 -0
  83. package/mcp_server/atlas/enrichments/instruments/poli.yaml +192 -0
  84. package/mcp_server/atlas/enrichments/instruments/sampler.yaml +218 -0
  85. package/mcp_server/atlas/enrichments/instruments/simpler.yaml +217 -0
  86. package/mcp_server/atlas/enrichments/instruments/tension.yaml +156 -0
  87. package/mcp_server/atlas/enrichments/instruments/tree_tone.yaml +162 -0
  88. package/mcp_server/atlas/enrichments/instruments/vector_fm.yaml +165 -0
  89. package/mcp_server/atlas/enrichments/instruments/vector_grain.yaml +166 -0
  90. package/mcp_server/atlas/enrichments/instruments/wavetable.yaml +162 -0
  91. package/mcp_server/atlas/enrichments/midi_effects/arpeggiator.yaml +156 -0
  92. package/mcp_server/atlas/enrichments/midi_effects/bouncy_notes.yaml +93 -0
  93. package/mcp_server/atlas/enrichments/midi_effects/chord.yaml +147 -0
  94. package/mcp_server/atlas/enrichments/midi_effects/melodic_steps.yaml +97 -0
  95. package/mcp_server/atlas/enrichments/midi_effects/note_echo.yaml +108 -0
  96. package/mcp_server/atlas/enrichments/midi_effects/note_length.yaml +97 -0
  97. package/mcp_server/atlas/enrichments/midi_effects/pitch.yaml +76 -0
  98. package/mcp_server/atlas/enrichments/midi_effects/random.yaml +117 -0
  99. package/mcp_server/atlas/enrichments/midi_effects/rhythmic_steps.yaml +103 -0
  100. package/mcp_server/atlas/enrichments/midi_effects/scale.yaml +83 -0
  101. package/mcp_server/atlas/enrichments/midi_effects/step_arp.yaml +112 -0
  102. package/mcp_server/atlas/enrichments/midi_effects/velocity.yaml +119 -0
  103. package/mcp_server/atlas/enrichments/utility/amp.yaml +159 -0
  104. package/mcp_server/atlas/enrichments/utility/cabinet.yaml +109 -0
  105. package/mcp_server/atlas/enrichments/utility/corpus.yaml +150 -0
  106. package/mcp_server/atlas/enrichments/utility/resonators.yaml +131 -0
  107. package/mcp_server/atlas/enrichments/utility/spectrum.yaml +63 -0
  108. package/mcp_server/atlas/enrichments/utility/tuner.yaml +51 -0
  109. package/mcp_server/atlas/enrichments/utility/utility.yaml +136 -0
  110. package/mcp_server/atlas/enrichments/utility/vocoder.yaml +160 -0
  111. package/mcp_server/atlas/scanner.py +236 -0
  112. package/mcp_server/atlas/tools.py +224 -0
  113. package/mcp_server/composer/__init__.py +1 -0
  114. package/mcp_server/composer/engine.py +532 -0
  115. package/mcp_server/composer/layer_planner.py +427 -0
  116. package/mcp_server/composer/prompt_parser.py +329 -0
  117. package/mcp_server/composer/sample_resolver.py +153 -0
  118. package/mcp_server/composer/tools.py +211 -0
  119. package/mcp_server/connection.py +53 -8
  120. package/mcp_server/corpus/__init__.py +377 -0
  121. package/mcp_server/device_forge/__init__.py +1 -0
  122. package/mcp_server/device_forge/builder.py +377 -0
  123. package/mcp_server/device_forge/models.py +142 -0
  124. package/mcp_server/device_forge/templates.py +483 -0
  125. package/mcp_server/device_forge/tools.py +162 -0
  126. package/mcp_server/m4l_bridge.py +1 -0
  127. package/mcp_server/memory/taste_accessors.py +47 -0
  128. package/mcp_server/preview_studio/engine.py +9 -2
  129. package/mcp_server/preview_studio/tools.py +78 -35
  130. package/mcp_server/project_brain/tools.py +34 -0
  131. package/mcp_server/runtime/capability_probe.py +21 -2
  132. package/mcp_server/runtime/execution_router.py +184 -38
  133. package/mcp_server/runtime/live_version.py +102 -0
  134. package/mcp_server/runtime/mcp_dispatch.py +46 -0
  135. package/mcp_server/runtime/remote_commands.py +13 -5
  136. package/mcp_server/runtime/tools.py +66 -29
  137. package/mcp_server/sample_engine/__init__.py +1 -0
  138. package/mcp_server/sample_engine/analyzer.py +216 -0
  139. package/mcp_server/sample_engine/critics.py +390 -0
  140. package/mcp_server/sample_engine/models.py +193 -0
  141. package/mcp_server/sample_engine/moves.py +127 -0
  142. package/mcp_server/sample_engine/planner.py +186 -0
  143. package/mcp_server/sample_engine/slice_workflow.py +190 -0
  144. package/mcp_server/sample_engine/sources.py +540 -0
  145. package/mcp_server/sample_engine/techniques.py +908 -0
  146. package/mcp_server/sample_engine/tools.py +545 -0
  147. package/mcp_server/semantic_moves/__init__.py +3 -0
  148. package/mcp_server/semantic_moves/device_creation_moves.py +237 -0
  149. package/mcp_server/semantic_moves/mix_moves.py +8 -8
  150. package/mcp_server/semantic_moves/models.py +7 -7
  151. package/mcp_server/semantic_moves/performance_moves.py +4 -4
  152. package/mcp_server/semantic_moves/sample_compilers.py +377 -0
  153. package/mcp_server/semantic_moves/sound_design_moves.py +4 -4
  154. package/mcp_server/semantic_moves/tools.py +63 -10
  155. package/mcp_server/semantic_moves/transition_moves.py +4 -4
  156. package/mcp_server/server.py +71 -1
  157. package/mcp_server/session_continuity/tracker.py +4 -1
  158. package/mcp_server/sound_design/critics.py +89 -1
  159. package/mcp_server/splice_client/__init__.py +1 -0
  160. package/mcp_server/splice_client/client.py +347 -0
  161. package/mcp_server/splice_client/models.py +96 -0
  162. package/mcp_server/splice_client/protos/__init__.py +1 -0
  163. package/mcp_server/splice_client/protos/app_pb2.py +319 -0
  164. package/mcp_server/splice_client/protos/app_pb2.pyi +1153 -0
  165. package/mcp_server/splice_client/protos/app_pb2_grpc.py +1946 -0
  166. package/mcp_server/tools/_conductor.py +16 -0
  167. package/mcp_server/tools/_planner_engine.py +24 -0
  168. package/mcp_server/tools/analyzer.py +2 -0
  169. package/mcp_server/tools/arrangement.py +69 -0
  170. package/mcp_server/tools/automation.py +15 -2
  171. package/mcp_server/tools/devices.py +117 -6
  172. package/mcp_server/tools/notes.py +37 -4
  173. package/mcp_server/tools/planner.py +3 -0
  174. package/mcp_server/wonder_mode/diagnosis.py +5 -0
  175. package/mcp_server/wonder_mode/engine.py +144 -14
  176. package/mcp_server/wonder_mode/tools.py +33 -1
  177. package/package.json +14 -4
  178. package/remote_script/LivePilot/__init__.py +8 -1
  179. package/remote_script/LivePilot/arrangement.py +114 -0
  180. package/remote_script/LivePilot/browser.py +56 -1
  181. package/remote_script/LivePilot/devices.py +246 -6
  182. package/remote_script/LivePilot/mixing.py +8 -3
  183. package/remote_script/LivePilot/server.py +5 -1
  184. package/remote_script/LivePilot/transport.py +3 -0
  185. package/remote_script/LivePilot/version_detect.py +78 -0
package/README.md CHANGED
@@ -11,13 +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
16
  </p>
17
17
 
18
18
  <p align="center">
19
19
  An agentic production system for Ableton Live 12.<br>
20
- 293 tools. Device atlas. Spectral perception. Technique memory.
20
+ 317 tools. 43 domains. Device atlas. Splice integration. Auto-composition. Spectral perception. Technique memory.
21
21
  </p>
22
22
 
23
23
  <br>
@@ -29,49 +29,90 @@
29
29
 
30
30
  <br>
31
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
+
32
51
  ## Architecture
33
52
 
34
53
  ```
35
- ┌─────────────────────────────────────────────────────────────┐
36
-
37
- KNOWLEDGE PERCEPTION MEMORY
38
- ─────────── ────────── ──────
39
-
40
- 280+ devices 8-band FFT recall by
41
- 139 drum kits RMS / peak mood, genre,
42
- 350+ impulse pitch tracking texture
43
- responses key detection
44
-
45
- ┌────────────┐ ┌────────────┐ ┌────────────┐
46
- │ Device │─────▶│ M4L │─────▶│ Technique
47
- │ Atlas │ │ Analyzer │ │ Store
48
- └─────┬──────┘ └─────┬──────┘ └─────┬──────┘
49
- └───────────────────┼───────────────────┘
50
-
51
- ┌─────────────────┐
52
- 293 MCP Tools
53
- 39 domains
54
- └────────┬────────┘
55
-
56
- Remote Script ──┤── TCP 9878
57
- M4L Bridge ─────┤── UDP 9880 / OSC 9881
58
-
59
- ┌────────────────┐
60
- │ Ableton Live │
61
- └────────────────┘
62
- └─────────────────────────────────────────────────────────────┘
63
- ```
64
-
65
- The **atlas** gives the AI knowledge of every device in Ableton's library —
66
- real names, real URIs, real parameters.
67
-
68
- The **analyzer** gives it ears spectral data from the master bus
69
- via a Max for Live device.
70
-
71
- The **memory** gives it history — a searchable library of production decisions
72
- that persists across sessions.
73
-
74
- All three feed into 293 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. 30 bridge tools (backed by 28 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.
75
116
 
76
117
  <br>
77
118
 
@@ -79,70 +120,51 @@ All three feed into 293 deterministic tools that execute on Ableton's main threa
79
120
 
80
121
  ## The Intelligence Layer
81
122
 
82
- 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.
83
-
84
- This is the V2 intelligence layer: 12 engines that sit on top of the 293 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.
85
124
 
86
125
  ### SongBrain — What the Song Is
87
126
 
88
- 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?"*
89
-
90
- 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.
91
128
 
92
129
  ### Taste Graph — What You Like
93
130
 
94
- 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.
95
-
96
- 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.
97
132
 
98
133
  ### Semantic Moves — Musical Actions, Not Parameters
99
134
 
100
- 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 20 moves across 4 families (mix, arrangement, transition, sound design), each with an executable plan.
101
-
102
- 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.
103
136
 
104
137
  ### Wonder Mode — Stuck-Rescue Workflow
105
138
 
106
- 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:
107
-
108
- 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.
109
-
110
- 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.
139
+ When a session is stuck — repeated undos, overpolished loops, no structural progress — Wonder Mode activates:
111
140
 
112
- 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.
113
-
114
- 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
115
145
 
116
146
  ### Creative Engines
117
147
 
118
- Six specialized engines handle different aspects of production intelligence:
119
-
120
148
  | Engine | What it does |
121
149
  |--------|-------------|
122
- | **Mix Engine** | Critic-driven mix analysis. Identifies masking, headroom issues, stereo problems. Plans corrective moves with before/after evaluation. |
123
- | **Sound Design Engine** | Analyzes patches for static timbre, missing modulation, weak transients. Suggests parameter moves and evaluates the result. |
124
- | **Transition Engine** | Classifies transition types (drop, build, breakdown). Scores transition quality and plans improvements using archetypes. |
125
- | **Composition Engine** | Analyzes song structure, detects motifs, infers section purposes, scores emotional arcs. Plans arrangement moves. |
126
- | **Performance Engine** | Safety-constrained suggestions for live performance. Knows which moves are safe during playback and which risk audio dropouts. |
127
- | **Reference Engine** | Distills principles from reference tracks. Maps those principles to your current session as concrete, actionable moves. |
128
-
129
- ### Hook Hunter — Finding What Matters
130
-
131
- 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.
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 |
132
156
 
133
- When the hook is strong but underused, it flags it. When a transition fails to deliver the expected payoff, it diagnoses why.
157
+ ### Hook Hunter
134
158
 
135
- ### Session ContinuityThe Story of Your Session
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.
136
160
 
137
- 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).
161
+ ### Session Continuity
138
162
 
139
- 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."*
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."*
140
164
 
141
- ### Evaluation Loop — Verify Before Claiming Success
165
+ ### Evaluation Loop
142
166
 
143
- 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.
144
-
145
- 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.
146
168
 
147
169
  <br>
148
170
 
@@ -150,11 +172,11 @@ This closes the gap between "the AI did something" and "the AI did something tha
150
172
 
151
173
  ## Tools
152
174
 
153
- 293 tools across 39 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).
154
176
 
155
177
  <br>
156
178
 
157
- ### Core
179
+ ### Core (210 tools)
158
180
 
159
181
  | Domain | # | What it covers |
160
182
  |--------|:-:|----------------|
@@ -162,21 +184,27 @@ This closes the gap between "the AI did something" and "the AI did something tha
162
184
  | Tracks | 17 | create MIDI/audio/return, delete, duplicate, arm, mute, solo, color, freeze, flatten |
163
185
  | Clips | 11 | create, delete, duplicate, fire, stop, loop, launch mode, warp mode, quantize |
164
186
  | Notes | 8 | add/get/remove/modify MIDI notes, transpose, duplicate, per-note probability |
165
- | Devices | 15 | load by name or URI, get/set parameters, batch edit, racks, chains, presets, plugin deep control |
187
+ | Devices | 19 | load by name or URI, insert native (12.3+), get/set parameters, batch edit, racks, chains, drum chain note assignment, presets, plugin deep control |
166
188
  | Scenes | 12 | create, delete, duplicate, fire, name, color, tempo, scene matrix |
167
189
  | Browser | 4 | search library, browse tree, load items, filter by category |
168
190
  | Mixing | 11 | volume, pan, sends, routing, meters, return tracks, master, full mix snapshot |
169
- | Arrangement | 19 | timeline clips, 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 |
170
199
 
171
200
  <br>
172
201
 
173
- ### Perception — 30 tools `[M4L]`
202
+ ### M4L Bridge — 30 tools `[optional]`
174
203
 
175
- The M4L Analyzer sits on the master track. UDP 9880 carries spectral data
176
- 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.
177
205
 
178
206
  > [!TIP]
179
- > All 207 core tools work without the analyzer — it adds 30 more and closes the feedback loop.
207
+ > All 286 core tools work without the analyzer — it adds 30 bridge tools and closes the feedback loop.
180
208
 
181
209
  ```
182
210
  SPECTRAL ─────── 8-band frequency decomposition (sub → air)
@@ -198,225 +226,141 @@ WARP ─────────── get / add / move / remove markers
198
226
 
199
227
  <br>
200
228
 
201
- ### Intelligence
202
-
203
- <details>
204
- <summary><strong>Theory — 7 tools</strong></summary>
229
+ ### Device Atlas — 6 tools
205
230
 
206
- <br>
207
-
208
- Krumhansl-Schmuckler key detection with 7 mode profiles:
209
- major, minor, dorian, phrygian, lydian, mixolydian, locrian.
210
-
211
- Roman numeral analysis via scale-degree chord matching
212
- on a 1/32 note quantization grid.
213
-
214
- Voice leading checks — parallel fifths, parallel octaves,
215
- voice crossing, unresolved dominants.
216
-
217
- Species counterpoint generation (1st and 2nd species).
218
- SATB harmonization with smooth voice leading.
219
- Diatonic transposition that preserves scale relationships.
231
+ The atlas is an in-memory indexed database of Ableton's entire device library.
220
232
 
221
233
  ```
222
- analyze_harmony suggest_next_chord detect_theory_issues
223
- identify_scale harmonize_melody generate_countermelody
224
- transpose_smart
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
225
238
  ```
226
239
 
227
- </details>
228
-
229
- <details>
230
- <summary><strong>Harmony — 4 tools</strong></summary>
231
-
232
- <br>
233
-
234
- Neo-Riemannian PRL transforms on the Tonnetz.
235
-
236
240
  ```
237
- P flips the third ─────── Cm C
238
- L shifts by semitone ──── C ↔ Em
239
- R shifts by whole tone ── C ↔ Am
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
240
247
  ```
241
248
 
242
- All three are involutions — apply twice, return to origin.
243
-
244
- BFS through PRL space finds the shortest voice-leading path
245
- between any two triads. Cm to E major? That's PLP — the hexatonic pole.
246
- Three steps, each moving one voice by a semitone.
247
- The Hitchcock chord change.
248
-
249
- Chromatic mediants for film-score harmony: chords a major/minor third away
250
- sharing 0-1 common tones. Maximum color shift, minimal voice movement.
251
-
252
- ```
253
- navigate_tonnetz find_voice_leading_path
254
- classify_progression suggest_chromatic_mediants
255
- ```
256
-
257
- </details>
258
-
259
- <details>
260
- <summary><strong>Generative — 5 tools</strong></summary>
261
-
262
- <br>
263
-
264
- **Euclidean Rhythm** — Bjorklund distributes N pulses across M steps.
265
- Bresenham's line algorithm applied to rhythm.
266
-
267
- ```
268
- E(3,8) = tresillo ×··×··×·
269
- E(5,8) = cinquillo ×·××·××·
270
- E(7,16) = Brazilian necklace ×·×·×××·×·×·×××·
271
- ```
272
-
273
- Layer multiple patterns at different pitches for polyrhythmic textures.
274
-
275
- **Tintinnabuli** (Arvo Pärt) — for each melody note, find the nearest tone
276
- of a specified triad. Two voices, one rule, infinite music.
277
-
278
- **Phase Shifting** (Steve Reich) — identical voices with accumulating timing drift.
279
- They start in unison, gradually separate, and eventually realign.
280
-
281
- **Additive Process** (Philip Glass) — melody unfolds note by note.
282
- The structure *is* the composition.
283
-
284
- ```
285
- generate_euclidean_rhythm layer_euclidean_rhythms
286
- generate_tintinnabuli generate_phase_shift
287
- generate_additive_process
288
- ```
289
-
290
- </details>
291
-
292
- <details>
293
- <summary><strong>Automation — 8 tools</strong></summary>
294
-
295
249
  <br>
296
250
 
297
- 16 curve types in 4 categories:
298
-
299
- ```
300
- BASIC ──────────── linear · exponential · logarithmic · s_curve
301
- sine · sawtooth · spike · square · steps
302
-
303
- ORGANIC ─────────── perlin · brownian · spring
251
+ ### Sample Engine 6 tools
304
252
 
305
- SHAPE ──────────── bezier · easing
306
- (bounce, elastic, back, quad, cubic,
307
- quart, quint, expo)
253
+ Three-source sample intelligence with critic-driven fitness scoring.
308
254
 
309
- GENERATIVE ─────── euclidean · stochastic
310
255
  ```
256
+ SOURCES ─────────── BrowserSource (Ableton's built-in library)
257
+ SpliceSource (local Splice catalog via SQLite)
258
+ FilesystemSource (user-specified directories)
311
259
 
312
- 15 built-in recipes:
260
+ CRITICS ─────────── key fitness · tempo fitness · spectral match
261
+ genre alignment · mood alignment · technical quality
313
262
 
314
- ```
315
- filter_sweep_up filter_sweep_down dub_throw
316
- tape_stop build_rise sidechain_pump
317
- fade_in fade_out tremolo
318
- auto_pan stutter breathing
319
- washout vinyl_crackle stereo_narrow
263
+ TECHNIQUES ─────── 29 processing recipes:
264
+ Surgeon (precise, transparent) vs.
265
+ Alchemist (experimental, transformative)
320
266
  ```
321
267
 
322
- Perception-action loop: `analyze_for_automation` reads the spectrum
323
- and device chain, suggests what to automate, and maps each suggestion
324
- to a recipe.
325
-
326
268
  ```
327
- get_clip_automation set_clip_automation clear_clip_automation
328
- apply_automation_shape apply_automation_recipe get_automation_recipes
329
- 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
330
275
  ```
331
276
 
332
- </details>
333
-
334
- <details>
335
- <summary><strong>Memory — 8 tools</strong></summary>
336
-
337
277
  <br>
338
278
 
339
- Persistent technique library across sessions.
340
-
341
- Five types: `beat_pattern` · `device_chain` · `mix_template` · `preference` · `browser_pin`
279
+ ### Splice Integration
342
280
 
343
- Each stores:
344
- - **Identity** — name, tags, timestamps
345
- - **Qualities** — mood, genre, texture, production notes
346
- - **Payload** — raw MIDI, device params, tempo, URIs
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.
347
282
 
348
- Recall by text query matching mood, genre, texture — not just names.
349
-
350
- ```
351
- memory_learn memory_recall memory_list memory_get
352
- memory_update memory_delete memory_favorite memory_replay
353
- ```
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
354
287
 
355
- </details>
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.
356
289
 
357
- <details>
358
- <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.
359
291
 
360
292
  <br>
361
293
 
362
- Export session clips to standard .mid files.
363
- Import .mid into session clips — auto-creates the clip, tempo-aware timing.
364
-
365
- Offline analysis without Ableton: note count, duration, tempo,
366
- pitch range, velocity stats, density curve, key estimate.
367
-
368
- Piano roll extraction: 2D velocity matrix at configurable resolution
369
- (default 1/32 note).
370
-
371
- ```
372
- export_clip_midi import_midi_to_clip
373
- analyze_midi_file extract_piano_roll
374
- ```
375
-
376
- </details>
377
-
378
- <details>
379
- <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)
380
325
 
381
326
  <br>
382
327
 
383
- 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.
384
331
 
385
332
  ```
386
- analyze_loudness Integrated LUFS, true peak, LRA, streaming compliance
387
- analyze_spectrum_offline Spectral centroid, rolloff, flatness, 5-band balance
388
- compare_to_reference Mix vs reference: loudness + spectral delta
389
- 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
390
336
  ```
391
337
 
392
- </details>
393
-
394
338
  <br>
395
339
 
396
- ### Agentic Intelligence — 83 tools
340
+ ### Agentic Intelligence — 79 tools
397
341
 
398
- 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.
399
343
 
400
344
  | Domain | # | What it does |
401
345
  |--------|:-:|-------------|
402
346
  | Agent OS | 8 | session kernel, action ledger, capability state, routing, turn budget |
403
- | Composition | 9 | section analysis, motif detection, emotional arc, form planning, section transforms |
347
+ | Composition | 9 | section analysis, motif detection, emotional arc, form planning |
404
348
  | Evaluation | 1 | before/after evaluation with structured scoring |
405
- | Mix Engine | 6 | critic-driven mix analysis, issue detection, move planning, masking reports |
406
- | Sound Design | 5 | patch analysis, modulation planning, timbre scoring |
349
+ | Mix Engine | 6 | critic-driven mix analysis, masking, headroom, stereo, dynamics |
350
+ | Sound Design | 4 | patch analysis, modulation planning, timbre scoring |
407
351
  | Transition Engine | 5 | transition classification, scoring, archetype-based planning |
408
- | Reference Engine | 5 | reference profiling, principle distillation, gap analysis, move mapping |
352
+ | Reference Engine | 5 | reference profiling, principle distillation, gap analysis |
409
353
  | Translation Engine | 3 | cross-domain translation, issue detection |
410
- | Performance Engine | 5 | safety-constrained suggestions, safe move lists, scene handoff planning |
411
- | Song Brain | 4 | identity inference, sacred element detection, drift monitoring, section purposes |
412
- | Hook Hunter | 9 | hook detection, salience scoring, development strategies, neglect detection, phrase impact |
413
- | Stuckness Detector | 3 | momentum analysis, rescue classification, structured rescue workflows |
414
- | Wonder Mode | 3 | diagnosis-driven variant generation, taste-aware ranking, session discard |
415
- | Session Continuity | 7 | creative threads, turn resolution, taste vs identity ranking, session story |
416
- | Creative Constraints | 5 | constraint activation, reference-inspired variants, constrained generation |
417
- | Preview Studio | 5 | variant creation, preview rendering, comparison, commit, discard |
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 |
418
362
 
419
- > **[View all 293 tools →](docs/manual/tool-catalog.md)**
363
+ > **[View all 317 tools →](docs/manual/tool-catalog.md)**
420
364
 
421
365
  <br>
422
366
 
@@ -442,7 +386,7 @@ Claude Desktop installs everything automatically. Then:
442
386
  npx livepilot --setup
443
387
  ```
444
388
 
445
- 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.
446
390
 
447
391
  ### Manual: Step by Step
448
392
 
@@ -466,6 +410,11 @@ claude mcp add LivePilot -- npx livepilot
466
410
  claude plugin add github:dreamrec/LivePilot/plugin
467
411
  ```
468
412
 
413
+ **Codex App:**
414
+ ```bash
415
+ npx livepilot --install-codex-plugin
416
+ ```
417
+
469
418
  **Claude Desktop (macOS)** — `~/Library/Application Support/Claude/claude_desktop_config.json`:
470
419
  ```json
471
420
  {
@@ -510,20 +459,27 @@ livepilot --install
510
459
  </details>
511
460
 
512
461
  <details>
513
- <summary><strong>3. M4L Analyzer (optional)</strong></summary>
462
+ <summary><strong>3. M4L Analyzer (optional — adds 27 tools)</strong></summary>
514
463
 
515
464
  Drag `LivePilot_Analyzer.amxd` onto the master track for real-time spectral analysis.
516
465
  The `--setup` wizard and Desktop Extension do this automatically.
517
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
+
518
469
  </details>
519
470
 
520
- Unlocks 29 additional tools: spectral analysis, key detection,
521
- 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.
522
477
 
523
- > [!IMPORTANT]
524
- > 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.
479
+
480
+ </details>
525
481
 
526
- ### 4. Verify
482
+ ### Verify
527
483
 
528
484
  ```bash
529
485
  npx livepilot --status
@@ -535,6 +491,14 @@ npx livepilot --status
535
491
 
536
492
  ## Plugin
537
493
 
494
+ **Codex App**
495
+
496
+ ```bash
497
+ npx livepilot --install-codex-plugin
498
+ ```
499
+
500
+ **Claude Code**
501
+
538
502
  ```bash
539
503
  claude plugin add github:dreamrec/LivePilot/plugin
540
504
  ```
@@ -543,15 +507,19 @@ claude plugin add github:dreamrec/LivePilot/plugin
543
507
  |---------|------|
544
508
  | `/session` | Full session overview with diagnostics |
545
509
  | `/beat` | Guided beat creation |
510
+ | `/arrange` | Guided arrangement and song structure |
546
511
  | `/mix` | Mixing assistant |
547
512
  | `/sounddesign` | Sound design workflow |
513
+ | `/perform` | Live performance mode with safety constraints |
514
+ | `/evaluate` | Before/after evaluation of recent changes |
548
515
  | `/memory` | Technique library management |
549
516
 
550
517
  **Producer Agent** — autonomous multi-step production.
551
518
  Consults memory for style context, searches the atlas for instruments,
552
- 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.
553
521
 
554
- **Core Skill** — operational discipline connecting all three layers.
522
+ **Core Skill** — operational discipline connecting all layers.
555
523
  Consult atlas before loading. Read analyzer after mixing.
556
524
  Check memory before creative decisions. Verify every mutation.
557
525
 
@@ -563,8 +531,11 @@ Check memory before creative decisions. Verify every mutation.
563
531
 
564
532
  ```bash
565
533
  npx livepilot # Start MCP server (stdio)
534
+ npx livepilot --setup # Full setup wizard
566
535
  npx livepilot --install # Install Remote Script
567
536
  npx livepilot --uninstall # Remove Remote Script
537
+ npx livepilot --install-codex-plugin # Install bundled Codex plugin
538
+ npx livepilot --uninstall-codex-plugin # Remove bundled Codex plugin
568
539
  npx livepilot --status # Check Ableton connection
569
540
  npx livepilot --doctor # Full diagnostic check
570
541
  npx livepilot --version # Show version
@@ -576,10 +547,18 @@ npx livepilot --version # Show version
576
547
 
577
548
  ## Compatibility
578
549
 
579
- - **Ableton Live 12** — all editions. Suite required for Max for Live and stock instruments (Drift, Meld, Wavetable).
580
- - **Python** 3.9+
581
- - **Node.js** 18+
582
- - **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
583
562
 
584
563
  <br>
585
564
 
@@ -600,6 +579,28 @@ See [CONTRIBUTING.md](CONTRIBUTING.md) for architecture details, code guidelines
600
579
 
601
580
  ---
602
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
+
603
604
  ## Community
604
605
 
605
606
  - [Discussions](https://github.com/dreamrec/LivePilot/discussions) — questions, ideas, show & tell
@@ -612,8 +613,22 @@ See [CONTRIBUTING.md](CONTRIBUTING.md) for architecture details, code guidelines
612
613
 
613
614
  ---
614
615
 
616
+ ## Support
617
+
618
+ LivePilot is source-available under the [Business Source License 1.1](LICENSE). If it saves you time in your sessions:
619
+
620
+ <p align="center">
621
+ <a href="https://github.com/sponsors/dreamrec"><strong>Sponsor on GitHub</strong></a>
622
+ </p>
623
+
624
+ Sponsors get early access to new features, premium skills, curated technique libraries, and direct support.
625
+
626
+ <br>
627
+
628
+ ---
629
+
615
630
  <p align="center">
616
- <a href="LICENSE">MIT</a> — Pilot Studio
631
+ <a href="LICENSE">BSL-1.1</a> — Pilot Studio
617
632
  <br><br>
618
633
  Sister projects: <a href="https://github.com/dreamrec/TDPilot">TDPilot</a> (TouchDesigner) · <a href="https://github.com/dreamrec/ComfyPilot">ComfyPilot</a> (ComfyUI)
619
634
  </p>