livepilot 1.6.3 → 1.6.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "livepilot",
3
- "version": "1.6.3",
3
+ "version": "1.6.5",
4
4
  "mcpName": "io.github.dreamrec/livepilot",
5
- "description": "AI copilot for Ableton Live 12 — 135 tools, device atlas (280+ devices), real-time audio analysis, automation intelligence, and technique memory",
5
+ "description": "AI copilot for Ableton Live 12 — 142 tools, device atlas (280+ devices), real-time audio analysis, automation intelligence, and technique memory",
6
6
  "author": "Pilot Studio",
7
7
  "license": "MIT",
8
8
  "type": "commonjs",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "livepilot",
3
- "version": "1.6.3",
4
- "description": "AI copilot for Ableton Live 12 — 135 tools, device atlas (280+ devices), real-time audio analysis, automation intelligence, and technique memory",
3
+ "version": "1.6.5",
4
+ "description": "AI copilot for Ableton Live 12 — 142 tools, device atlas (280+ devices), real-time audio analysis, automation intelligence, and technique memory",
5
5
  "author": "Pilot Studio",
6
6
  "skills": [
7
7
  "skills/livepilot-core",
@@ -1,17 +1,17 @@
1
1
  ---
2
2
  name: livepilot-core
3
- description: Core discipline for controlling Ableton Live 12 through LivePilot's 135 MCP tools, device atlas (280+ devices), M4L analyzer (spectrum/RMS/key detection), automation intelligence (16 curve types, 15 recipes), and technique memory. Use whenever working with Ableton Live through MCP tools.
3
+ description: Core discipline for controlling Ableton Live 12 through LivePilot's 142 MCP tools, device atlas (280+ devices), M4L analyzer (spectrum/RMS/key detection), automation intelligence (16 curve types, 15 recipes), music theory analysis, and technique memory. Use whenever working with Ableton Live through MCP tools.
4
4
  ---
5
5
 
6
6
  # LivePilot Core — Ableton Live 12 AI Copilot
7
7
 
8
- LivePilot is an agentic production system for Ableton Live 12. It combines 135 MCP tools with three layers of intelligence:
8
+ LivePilot is an agentic production system for Ableton Live 12. It combines 142 MCP tools with three layers of intelligence:
9
9
 
10
10
  - **Device Atlas** — A structured knowledge corpus of 280+ instruments, 139 drum kits, and 350+ impulse responses. Consult the atlas before loading any device. It contains real browser URIs, preset names, and sonic descriptions. Never guess a device name — look it up.
11
11
  - **M4L Analyzer** — Real-time audio analysis on the master bus (8-band spectrum, RMS/peak, key detection). Use it to verify mixing decisions, detect frequency problems, and find the key before writing harmonic content.
12
12
  - **Technique Memory** — Persistent storage for production decisions. Consult `memory_recall` before creative tasks to understand the user's taste. Save techniques when the user likes something. The memory shapes future decisions without constraining them.
13
13
 
14
- These layers sit on top of 135 deterministic tools across 12 domains: transport, tracks, clips, MIDI notes, devices, scenes, mixing, browser, arrangement, technique memory, real-time DSP analysis, and automation.
14
+ These layers sit on top of 142 deterministic tools across 13 domains: transport, tracks, clips, MIDI notes, devices, scenes, mixing, browser, arrangement, technique memory, real-time DSP analysis, automation, and music theory.
15
15
 
16
16
  ## Golden Rules
17
17
 
@@ -25,6 +25,59 @@ These layers sit on top of 135 deterministic tools across 12 domains: transport,
25
25
  8. **Volume is 0.0-1.0, pan is -1.0 to 1.0** — these are normalized, not dB
26
26
  9. **Tempo range 20-999 BPM** — validated before sending to Ableton
27
27
  10. **Always name your tracks and clips** — organization is part of the creative process
28
+ 11. **Respect tool speed tiers** — see below. Never call heavy tools without user consent.
29
+
30
+ ## Tool Speed Tiers
31
+
32
+ Not all tools respond instantly. Know the tiers and act accordingly.
33
+
34
+ ### Instant (<1s) — Use freely, no warning needed
35
+ All 142 core tools (transport, tracks, clips, notes, devices, scenes, mixing, browser, arrangement, memory, automation, theory) plus Layer A perception tools (spectral shape, timbral profile, mel spectrum, chroma, onsets, harmonic/percussive, novelty, momentary loudness). These are the reflex tools — call them anytime without hesitation.
36
+
37
+ ### Fast (1-5s) — Use freely, barely noticeable
38
+ `analyze_loudness` · `analyze_dynamic_range` · `compare_loudness`
39
+
40
+ File-based analysis that reads audio from disk. Fast enough to use mid-conversation. No warning needed for files under 2 minutes.
41
+
42
+ ### Slow (5-15s) — Tell the user before calling
43
+ `analyze_spectral_evolution` · `compare_to_reference` · `transcribe_to_midi`
44
+
45
+ These run multi-pass analysis or load AI models. Always tell the user what you're about to do and roughly how long it takes. Never chain multiple slow tools back-to-back without checking in.
46
+
47
+ ### Heavy (30-120s) — ALWAYS ask the user first
48
+ `separate_stems` · `diagnose_mix`
49
+
50
+ These run GPU-intensive processes (Demucs stem separation). Processing time: 15-25s on GPU, 60-90s on CPU/MPS. `diagnose_mix` chains stem separation with per-stem analysis and can take 2+ minutes.
51
+
52
+ **CRITICAL: Heavy Tool Protocol**
53
+ - NEVER call `separate_stems` or `diagnose_mix` unless the user explicitly requests it
54
+ - NEVER call them speculatively or "just to check"
55
+ - NEVER call them during creative flow (beat-making, sound design, mixing) — they break momentum
56
+ - ALWAYS warn the user with an estimated time before calling
57
+ - ALWAYS prefer fast tools first: if the user says "check my mix", use `analyze_loudness` + `analyze_dynamic_range` (2 seconds total), report findings, THEN offer to escalate: "I could separate stems to investigate further, but that takes about a minute. Want me to?"
58
+
59
+ **Wrong:** User says "how does my track sound?" → call `diagnose_mix` (120s surprise)
60
+ **Right:** User says "how does my track sound?" → call `analyze_loudness` + `get_master_spectrum` (1s) → report findings → offer heavy analysis only if needed
61
+
62
+ ### Escalation Pattern for Analysis
63
+
64
+ Always follow this ladder — start fast, escalate only with consent:
65
+
66
+ ```
67
+ Level 1 (instant): get_master_spectrum + get_track_meters
68
+ → frequency balance + levels. Enough for 80% of questions.
69
+
70
+ Level 2 (fast): analyze_loudness + analyze_dynamic_range
71
+ → LUFS, true peak, LRA, crest factor. For mastering prep.
72
+
73
+ Level 3 (slow): analyze_spectral_evolution + compare_to_reference
74
+ → timbral trends, reference matching. Ask first.
75
+
76
+ Level 4 (heavy): separate_stems → per-stem analysis → diagnose_mix
77
+ → full diagnostic. Explicit user consent required.
78
+ ```
79
+
80
+ Never skip levels. The user's question determines the entry point, but always start at the lowest appropriate level and offer to go deeper.
28
81
 
29
82
  ## Track Health Checks — MANDATORY
30
83
 
@@ -64,7 +117,7 @@ These layers sit on top of 135 deterministic tools across 12 domains: transport,
64
117
  - MIDI track with no instrument loaded
65
118
  - Notes programmed but clip not fired
66
119
 
67
- ## Tool Domains (135 total)
120
+ ## Tool Domains (142 total)
68
121
 
69
122
  ### Transport (12)
70
123
  `get_session_info` · `set_tempo` · `set_time_signature` · `start_playback` · `stop_playback` · `continue_playback` · `toggle_metronome` · `set_session_loop` · `undo` · `redo` · `get_recent_actions` · `get_session_diagnostics`
@@ -122,6 +175,18 @@ Clip automation CRUD + intelligent curve generation with 15 built-in recipes.
122
175
  - Clear existing automation before rewriting: `clear_clip_automation` first
123
176
  - Load `references/automation-atlas.md` for curve theory, genre recipes, diagnostic technique, and cross-track spectral mapping
124
177
 
178
+ ### Theory (7)
179
+ Music theory analysis — built-in pure Python engine, zero external dependencies.
180
+
181
+ **Tools:** `analyze_harmony` · `suggest_next_chord` · `detect_theory_issues` · `identify_scale` · `harmonize_melody` · `generate_countermelody` · `transpose_smart`
182
+
183
+ **Key discipline:**
184
+ - These tools read MIDI notes directly from session clips — no file export needed
185
+ - Auto-detects key via Krumhansl-Schmuckler if not provided; pass `key` hint for better accuracy
186
+ - `analyze_harmony` and `detect_theory_issues` are analysis-only; `harmonize_melody`, `generate_countermelody`, and `transpose_smart` return note data ready for `add_notes`
187
+ - Use your own musical knowledge alongside these tools — the engine provides data, you provide interpretation
188
+ - Processing time: 2-5s for generative tools (harmonize, countermelody)
189
+
125
190
  ## Workflow: Building a Beat
126
191
 
127
192
  1. `get_session_info` — check current state
@@ -263,7 +328,7 @@ Deep production knowledge lives in `references/`. Consult these when making crea
263
328
 
264
329
  | File | What's inside | When to consult |
265
330
  |------|--------------|-----------------|
266
- | `references/overview.md` | All 135 tools mapped with params, units, ranges | Quick lookup for any tool |
331
+ | `references/overview.md` | All 142 tools mapped with params, units, ranges | Quick lookup for any tool |
267
332
  | `references/midi-recipes.md` | Drum patterns by genre, chord voicings, scales, hi-hat techniques, humanization, polymetrics | Programming MIDI notes, building beats |
268
333
  | `references/sound-design.md` | Stock instruments/effects, parameter recipes for bass/pad/lead/pluck, device chain patterns | Loading and configuring devices |
269
334
  | `references/mixing-patterns.md` | Gain staging, parallel compression, sidechain, EQ by instrument, bus processing, stereo width | Setting volumes, panning, adding effects |
@@ -1,6 +1,6 @@
1
- # LivePilot v1.6.3 — Architecture & Tool Reference
1
+ # LivePilot v1.6.5 — Architecture & Tool Reference
2
2
 
3
- LivePilot is an agentic production system for Ableton Live 12. It combines 135 MCP tools with a device knowledge corpus, real-time audio analysis, automation intelligence, and persistent technique memory.
3
+ LivePilot is an agentic production system for Ableton Live 12. It combines 142 MCP tools with a device knowledge corpus, real-time audio analysis, automation intelligence, and persistent technique memory.
4
4
 
5
5
  ## Architecture
6
6
 
@@ -32,7 +32,7 @@ A flat tool list lets the AI press buttons. LivePilot's three layers give it con
32
32
 
33
33
  This turns "set EQ band 3 to -4 dB" into "cut 400 Hz by 4 dB, then read the spectrum to confirm the mud is actually reduced."
34
34
 
35
- ## The 135 Tools — What Each One Does
35
+ ## The 142 Tools — What Each One Does
36
36
 
37
37
  ### Transport (12) — Playback, tempo, global state, diagnostics
38
38
 
@@ -244,6 +244,20 @@ This turns "set EQ band 3 to -4 dB" into "cut 400 Hz by 4 dB, then read the spec
244
244
 
245
245
  **15 recipes:** filter_sweep_up, filter_sweep_down, dub_throw, tape_stop, build_rise, sidechain_pump, fade_in, fade_out, tremolo, auto_pan, stutter, breathing, washout, vinyl_crackle, stereo_narrow
246
246
 
247
+ ### Theory (7) — Built-in music theory analysis (zero dependencies)
248
+
249
+ | Tool | What it does | Key params |
250
+ |------|-------------|------------|
251
+ | `analyze_harmony` | Chord-by-chord Roman numeral analysis of a clip | `track_index`, `clip_index`, `key` (optional) |
252
+ | `suggest_next_chord` | Suggests theory-valid chord continuations | `track_index`, `clip_index`, `style` (common_practice/jazz/modal/pop) |
253
+ | `detect_theory_issues` | Finds parallel fifths/octaves, out-of-key notes, voice crossing | `track_index`, `clip_index`, `strict` (bool) |
254
+ | `identify_scale` | Deep scale/mode identification with confidence ranking | `track_index`, `clip_index` |
255
+ | `harmonize_melody` | Generates 2 or 4-voice SATB harmonization | `track_index`, `clip_index`, `voices` (2 or 4) |
256
+ | `generate_countermelody` | Species counterpoint against a melody | `track_index`, `clip_index`, `species` (1 or 2) |
257
+ | `transpose_smart` | Diatonic or chromatic transposition to a new key | `track_index`, `clip_index`, `target_key`, `mode` (diatonic/chromatic) |
258
+
259
+ **Built-in** — zero external dependencies, works on every LivePilot install.
260
+
247
261
  ## Units & Ranges Quick Reference
248
262
 
249
263
  | Concept | Unit/Range | Notes |
@@ -5,7 +5,7 @@ Entry point for the ControlSurface. Ableton calls create_instance(c_instance)
5
5
  when this script is selected in Preferences > Link, Tempo & MIDI.
6
6
  """
7
7
 
8
- __version__ = "1.6.3"
8
+ __version__ = "1.6.5"
9
9
 
10
10
  from _Framework.ControlSurface import ControlSurface
11
11
  from .server import LivePilotServer
@@ -34,7 +34,7 @@ class LivePilot(ControlSurface):
34
34
  ControlSurface.__init__(self, c_instance)
35
35
  self._server = LivePilotServer(self)
36
36
  self._server.start()
37
- self.log_message("LivePilot v1.6.3 initialized")
37
+ self.log_message("LivePilot v1.6.5 initialized")
38
38
  self.show_message("LivePilot: Listening on port 9878")
39
39
 
40
40
  def disconnect(self):