livepilot 1.6.4 → 1.7.0

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.4",
3
+ "version": "1.7.0",
4
4
  "mcpName": "io.github.dreamrec/livepilot",
5
- "description": "AI copilot for Ableton Live 12 — 142 tools, device atlas (280+ devices), real-time audio analysis, automation intelligence, and technique memory",
5
+ "description": "AI copilot for Ableton Live 12 — 155 tools, device atlas (280+ devices), real-time audio analysis, generative algorithms, neo-Riemannian harmony, MIDI file I/O, and technique memory",
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.4",
4
- "description": "AI copilot for Ableton Live 12 — 142 tools, device atlas (280+ devices), real-time audio analysis, automation intelligence, and technique memory",
3
+ "version": "1.7.0",
4
+ "description": "AI copilot for Ableton Live 12 — 155 tools, device atlas (280+ devices), real-time audio analysis, generative algorithms, neo-Riemannian harmony, MIDI file I/O, and technique memory",
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 142 MCP tools, device atlas (280+ devices), M4L analyzer (spectrum/RMS/key detection), automation intelligence (16 curve types, 15 recipes), music theory analysis (music21), and technique memory. Use whenever working with Ableton Live through MCP tools.
3
+ description: Core discipline for controlling Ableton Live 12 through LivePilot's 155 MCP tools, device atlas (280+ devices), M4L analyzer (spectrum/RMS/key detection), automation intelligence (16 curve types, 15 recipes), music theory analysis, generative algorithms, neo-Riemannian harmony, MIDI file I/O, and technique memory. Use whenever working with Ableton Live through MCP tools.
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 142 MCP tools with three layers of intelligence:
8
+ LivePilot is an agentic production system for Ableton Live 12. It combines 155 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 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.
14
+ These layers sit on top of 155 deterministic tools across 16 domains: transport, tracks, clips, MIDI notes, devices, scenes, mixing, browser, arrangement, technique memory, real-time DSP analysis, automation, music theory, generative algorithms, neo-Riemannian harmony, and MIDI file I/O.
15
15
 
16
16
  ## Golden Rules
17
17
 
@@ -32,7 +32,7 @@ These layers sit on top of 142 deterministic tools across 13 domains: transport,
32
32
  Not all tools respond instantly. Know the tiers and act accordingly.
33
33
 
34
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.
35
+ All 155 core tools (transport, tracks, clips, notes, devices, scenes, mixing, browser, arrangement, memory, automation, theory, generative, harmony, midi_io) 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
36
 
37
37
  ### Fast (1-5s) — Use freely, barely noticeable
38
38
  `analyze_loudness` · `analyze_dynamic_range` · `compare_loudness`
@@ -117,7 +117,7 @@ Never skip levels. The user's question determines the entry point, but always st
117
117
  - MIDI track with no instrument loaded
118
118
  - Notes programmed but clip not fired
119
119
 
120
- ## Tool Domains (142 total)
120
+ ## Tool Domains (155 total)
121
121
 
122
122
  ### Transport (12)
123
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`
@@ -176,7 +176,7 @@ Clip automation CRUD + intelligent curve generation with 15 built-in recipes.
176
176
  - Load `references/automation-atlas.md` for curve theory, genre recipes, diagnostic technique, and cross-track spectral mapping
177
177
 
178
178
  ### Theory (7)
179
- Music theory analysis powered by music21. Optional dependency install with `pip install 'music21>=9.3'`.
179
+ Music theory analysis built-in pure Python engine, zero external dependencies.
180
180
 
181
181
  **Tools:** `analyze_harmony` · `suggest_next_chord` · `detect_theory_issues` · `identify_scale` · `harmonize_melody` · `generate_countermelody` · `transpose_smart`
182
182
 
@@ -184,9 +184,47 @@ Music theory analysis powered by music21. Optional dependency — install with `
184
184
  - These tools read MIDI notes directly from session clips — no file export needed
185
185
  - Auto-detects key via Krumhansl-Schmuckler if not provided; pass `key` hint for better accuracy
186
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 — music21 provides data, you provide interpretation
187
+ - Use your own musical knowledge alongside these tools — the engine provides data, you provide interpretation
188
188
  - Processing time: 2-5s for generative tools (harmonize, countermelody)
189
189
 
190
+ ### Generative (5)
191
+ Algorithmic composition tools — Euclidean rhythms, minimalist techniques.
192
+
193
+ **Tools:** `generate_euclidean_rhythm` · `layer_euclidean_rhythms` · `generate_tintinnabuli` · `generate_phase_shift` · `generate_additive_process`
194
+
195
+ **Key discipline:**
196
+ - All generative tools return note arrays — use `add_notes` to place them in clips
197
+ - `generate_euclidean_rhythm` uses the Bjorklund algorithm and identifies named rhythms (e.g., "tresillo", "cinquillo")
198
+ - `layer_euclidean_rhythms` stacks multiple patterns for polyrhythmic textures across tracks
199
+ - `generate_tintinnabuli` implements Arvo Pärt's technique: a T-voice (triad arpeggio) against a M-voice (melody)
200
+ - `generate_phase_shift` implements Steve Reich's phasing: two identical patterns drifting apart over time
201
+ - `generate_additive_process` implements Philip Glass's technique: melody expanded by adding one note per iteration
202
+
203
+ ### Harmony (4)
204
+ Neo-Riemannian harmony tools — Tonnetz navigation, voice leading, chromatic mediants.
205
+
206
+ **Tools:** `navigate_tonnetz` · `find_voice_leading_path` · `classify_progression` · `suggest_chromatic_mediants`
207
+
208
+ **Key discipline:**
209
+ - These tools work with chord names and return harmonic relationships — no clip MIDI required
210
+ - `navigate_tonnetz` returns PRL (Parallel, Relative, Leading-tone) neighbors for any chord
211
+ - `find_voice_leading_path` finds the shortest harmonic path between two chords through Tonnetz space
212
+ - `classify_progression` identifies the neo-Riemannian transform pattern in a chord sequence
213
+ - `suggest_chromatic_mediants` returns all chromatic mediant relations with film score usage notes
214
+ - Opycleid library provides full Tonnetz; falls back to pure Python PRL if not installed
215
+
216
+ ### MIDI I/O (4)
217
+ MIDI file import/export — works with standard .mid files on disk.
218
+
219
+ **Tools:** `export_clip_midi` · `import_midi_to_clip` · `analyze_midi_file` · `extract_piano_roll`
220
+
221
+ **Key discipline:**
222
+ - `export_clip_midi` exports a session clip's notes to a .mid file at the specified path
223
+ - `import_midi_to_clip` loads a .mid file into a clip, replacing existing notes
224
+ - `analyze_midi_file` performs offline analysis of any .mid file (tempo, notes, structure) — does not require Ableton connection
225
+ - `extract_piano_roll` returns a 2D velocity matrix (pitch × time) from a .mid file for visualization or processing
226
+ - Dependencies: midiutil (export), pretty-midi (import/analysis) — lazy-loaded, ~5 MB total
227
+
190
228
  ## Workflow: Building a Beat
191
229
 
192
230
  1. `get_session_info` — check current state
@@ -328,7 +366,7 @@ Deep production knowledge lives in `references/`. Consult these when making crea
328
366
 
329
367
  | File | What's inside | When to consult |
330
368
  |------|--------------|-----------------|
331
- | `references/overview.md` | All 142 tools mapped with params, units, ranges | Quick lookup for any tool |
369
+ | `references/overview.md` | All 155 tools mapped with params, units, ranges | Quick lookup for any tool |
332
370
  | `references/midi-recipes.md` | Drum patterns by genre, chord voicings, scales, hi-hat techniques, humanization, polymetrics | Programming MIDI notes, building beats |
333
371
  | `references/sound-design.md` | Stock instruments/effects, parameter recipes for bass/pad/lead/pluck, device chain patterns | Loading and configuring devices |
334
372
  | `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.4 — Architecture & Tool Reference
1
+ # LivePilot v1.7.0 — Architecture & Tool Reference
2
2
 
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.
3
+ LivePilot is an agentic production system for Ableton Live 12. It combines 155 MCP tools with a device knowledge corpus, real-time audio analysis, automation intelligence, generative algorithms, neo-Riemannian harmony, MIDI file I/O, and persistent technique memory.
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 142 Tools — What Each One Does
35
+ ## The 155 Tools — What Each One Does
36
36
 
37
37
  ### Transport (12) — Playback, tempo, global state, diagnostics
38
38
 
@@ -244,7 +244,7 @@ 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) — Music theory analysis powered by music21 (optional dependency)
247
+ ### Theory (7) — Built-in music theory analysis (zero dependencies)
248
248
 
249
249
  | Tool | What it does | Key params |
250
250
  |------|-------------|------------|
@@ -256,7 +256,7 @@ This turns "set EQ band 3 to -4 dB" into "cut 400 Hz by 4 dB, then read the spec
256
256
  | `generate_countermelody` | Species counterpoint against a melody | `track_index`, `clip_index`, `species` (1 or 2) |
257
257
  | `transpose_smart` | Diatonic or chromatic transposition to a new key | `track_index`, `clip_index`, `target_key`, `mode` (diatonic/chromatic) |
258
258
 
259
- **Requires:** `pip install 'music21>=9.3'` — optional dependency, all other 135 tools work without it.
259
+ **Built-in** zero external dependencies, works on every LivePilot install.
260
260
 
261
261
  ## Units & Ranges Quick Reference
262
262
 
@@ -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.4"
8
+ __version__ = "1.7.0"
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.4 initialized")
37
+ self.log_message("LivePilot v1.7.0 initialized")
38
38
  self.show_message("LivePilot: Listening on port 9878")
39
39
 
40
40
  def disconnect(self):
package/requirements.txt CHANGED
@@ -1,5 +1,5 @@
1
1
  # LivePilot MCP Server dependencies
2
2
  fastmcp>=3.0.0,<4.0.0
3
-
4
- # Optional: Music theory tools (lazy-imported, not required for core tools)
5
- # pip install music21>=9.3
3
+ midiutil>=1.2.1
4
+ pretty_midi>=0.2.10
5
+ opycleid>=0.5.1