livepilot 1.9.22 → 1.9.24
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/.claude-plugin/marketplace.json +3 -3
- package/.mcpbignore +40 -0
- package/AGENTS.md +3 -3
- package/CHANGELOG.md +84 -0
- package/CONTRIBUTING.md +1 -1
- package/README.md +141 -72
- package/bin/livepilot.js +135 -0
- package/livepilot/.Codex-plugin/plugin.json +2 -2
- package/livepilot/.claude-plugin/plugin.json +2 -2
- package/livepilot/agents/livepilot-producer/AGENT.md +13 -0
- package/livepilot/commands/arrange.md +42 -23
- package/livepilot/commands/mix.md +34 -19
- package/livepilot/commands/perform.md +31 -19
- package/livepilot/commands/sounddesign.md +38 -25
- package/livepilot/skills/livepilot-arrangement/SKILL.md +2 -1
- package/livepilot/skills/livepilot-composition-engine/references/transition-archetypes.md +2 -2
- package/livepilot/skills/livepilot-core/SKILL.md +60 -4
- package/livepilot/skills/livepilot-core/references/device-atlas/distortion-and-character.md +11 -11
- package/livepilot/skills/livepilot-core/references/device-atlas/drums-and-percussion.md +25 -25
- package/livepilot/skills/livepilot-core/references/device-atlas/dynamics-and-punch.md +21 -21
- package/livepilot/skills/livepilot-core/references/device-atlas/eq-and-filtering.md +13 -13
- package/livepilot/skills/livepilot-core/references/device-atlas/midi-tools.md +13 -13
- package/livepilot/skills/livepilot-core/references/device-atlas/movement-and-modulation.md +5 -5
- package/livepilot/skills/livepilot-core/references/device-atlas/space-and-depth.md +16 -16
- package/livepilot/skills/livepilot-core/references/device-atlas/spectral-and-weird.md +40 -40
- package/livepilot/skills/livepilot-core/references/m4l-devices.md +3 -3
- package/livepilot/skills/livepilot-core/references/overview.md +4 -4
- package/livepilot/skills/livepilot-evaluation/SKILL.md +12 -8
- package/livepilot/skills/livepilot-evaluation/references/memory-promotion.md +2 -2
- package/livepilot/skills/livepilot-mix-engine/SKILL.md +1 -1
- package/livepilot/skills/livepilot-mix-engine/references/mix-moves.md +2 -2
- package/livepilot/skills/livepilot-mixing/SKILL.md +3 -1
- package/livepilot/skills/livepilot-notes/SKILL.md +2 -1
- package/livepilot/skills/livepilot-release/SKILL.md +29 -15
- package/livepilot/skills/livepilot-sound-design-engine/SKILL.md +2 -2
- package/livepilot/skills/livepilot-wonder/SKILL.md +62 -0
- package/livepilot.mcpb +0 -0
- package/manifest.json +91 -0
- package/mcp_server/__init__.py +1 -1
- package/mcp_server/creative_constraints/__init__.py +6 -0
- package/mcp_server/creative_constraints/engine.py +277 -0
- package/mcp_server/creative_constraints/models.py +75 -0
- package/mcp_server/creative_constraints/tools.py +341 -0
- package/mcp_server/experiment/__init__.py +6 -0
- package/mcp_server/experiment/engine.py +213 -0
- package/mcp_server/experiment/models.py +120 -0
- package/mcp_server/experiment/tools.py +263 -0
- package/mcp_server/hook_hunter/__init__.py +5 -0
- package/mcp_server/hook_hunter/analyzer.py +365 -0
- package/mcp_server/hook_hunter/models.py +58 -0
- package/mcp_server/hook_hunter/tools.py +588 -0
- package/mcp_server/memory/taste_graph.py +328 -0
- package/mcp_server/memory/tools.py +99 -0
- package/mcp_server/mix_engine/critics.py +2 -2
- package/mcp_server/mix_engine/models.py +1 -1
- package/mcp_server/mix_engine/state_builder.py +2 -2
- package/mcp_server/musical_intelligence/__init__.py +8 -0
- package/mcp_server/musical_intelligence/detectors.py +434 -0
- package/mcp_server/musical_intelligence/phrase_critic.py +163 -0
- package/mcp_server/musical_intelligence/tools.py +224 -0
- package/mcp_server/persistence/__init__.py +1 -0
- package/mcp_server/persistence/base_store.py +82 -0
- package/mcp_server/persistence/project_store.py +106 -0
- package/mcp_server/persistence/taste_store.py +122 -0
- package/mcp_server/preview_studio/__init__.py +5 -0
- package/mcp_server/preview_studio/engine.py +280 -0
- package/mcp_server/preview_studio/models.py +74 -0
- package/mcp_server/preview_studio/tools.py +466 -0
- package/mcp_server/runtime/capability.py +66 -0
- package/mcp_server/runtime/capability_probe.py +118 -0
- package/mcp_server/runtime/execution_router.py +139 -0
- package/mcp_server/runtime/remote_commands.py +82 -0
- package/mcp_server/runtime/session_kernel.py +96 -0
- package/mcp_server/runtime/tools.py +90 -1
- package/mcp_server/semantic_moves/__init__.py +13 -0
- package/mcp_server/semantic_moves/compiler.py +116 -0
- package/mcp_server/semantic_moves/mix_compilers.py +291 -0
- package/mcp_server/semantic_moves/mix_moves.py +157 -0
- package/mcp_server/semantic_moves/models.py +46 -0
- package/mcp_server/semantic_moves/performance_compilers.py +208 -0
- package/mcp_server/semantic_moves/performance_moves.py +81 -0
- package/mcp_server/semantic_moves/registry.py +32 -0
- package/mcp_server/semantic_moves/resolvers.py +126 -0
- package/mcp_server/semantic_moves/sound_design_compilers.py +266 -0
- package/mcp_server/semantic_moves/sound_design_moves.py +78 -0
- package/mcp_server/semantic_moves/tools.py +205 -0
- package/mcp_server/semantic_moves/transition_compilers.py +222 -0
- package/mcp_server/semantic_moves/transition_moves.py +76 -0
- package/mcp_server/server.py +10 -0
- package/mcp_server/services/__init__.py +1 -0
- package/mcp_server/services/motif_service.py +67 -0
- package/mcp_server/session_continuity/__init__.py +6 -0
- package/mcp_server/session_continuity/models.py +86 -0
- package/mcp_server/session_continuity/tools.py +230 -0
- package/mcp_server/session_continuity/tracker.py +263 -0
- package/mcp_server/song_brain/__init__.py +6 -0
- package/mcp_server/song_brain/builder.py +504 -0
- package/mcp_server/song_brain/models.py +136 -0
- package/mcp_server/song_brain/tools.py +312 -0
- package/mcp_server/stuckness_detector/__init__.py +5 -0
- package/mcp_server/stuckness_detector/detector.py +400 -0
- package/mcp_server/stuckness_detector/models.py +66 -0
- package/mcp_server/stuckness_detector/tools.py +195 -0
- package/mcp_server/tools/_conductor.py +104 -6
- package/mcp_server/tools/analyzer.py +1 -1
- package/mcp_server/tools/devices.py +34 -0
- package/mcp_server/wonder_mode/__init__.py +6 -0
- package/mcp_server/wonder_mode/diagnosis.py +84 -0
- package/mcp_server/wonder_mode/engine.py +493 -0
- package/mcp_server/wonder_mode/session.py +114 -0
- package/mcp_server/wonder_mode/tools.py +290 -0
- package/package.json +2 -2
- package/remote_script/LivePilot/__init__.py +1 -1
- package/remote_script/LivePilot/browser.py +4 -1
- package/remote_script/LivePilot/devices.py +29 -0
- package/remote_script/LivePilot/tracks.py +11 -4
- package/scripts/generate_tool_catalog.py +131 -0
- package/scripts/sync_metadata.py +132 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "livepilot",
|
|
3
|
-
"version": "1.9.
|
|
4
|
-
"description": "Agentic production system for Ableton Live 12 —
|
|
3
|
+
"version": "1.9.24",
|
|
4
|
+
"description": "Agentic production system for Ableton Live 12 — 293 tools, 39 domains, device atlas, spectral perception, technique memory, neo-Riemannian harmony, Euclidean rhythm, species counterpoint, MIDI I/O",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Pilot Studio"
|
|
7
7
|
}
|
|
@@ -8,6 +8,7 @@ tools:
|
|
|
8
8
|
- Read
|
|
9
9
|
- Glob
|
|
10
10
|
- Grep
|
|
11
|
+
- ToolSearch
|
|
11
12
|
---
|
|
12
13
|
|
|
13
14
|
You are LivePilot Producer — an autonomous music production agent for Ableton Live 12 powered by Agent OS V1.
|
|
@@ -200,6 +201,7 @@ After loading any instrument:
|
|
|
200
201
|
| Track volume? | `get_track_info` | `mixer.volume` > 0.5 for primary tracks |
|
|
201
202
|
| Track not muted? | `get_track_info` | `mute: false` |
|
|
202
203
|
| Master audible? | `get_master_track` | `volume` > 0.5 |
|
|
204
|
+
| Analyzer at end? | `get_master_track` | LivePilot_Analyzer is LAST device (after all effects) |
|
|
203
205
|
|
|
204
206
|
### Critical device loading rules:
|
|
205
207
|
|
|
@@ -283,6 +285,17 @@ Load the appropriate skill for domain-specific guidance:
|
|
|
283
285
|
- **livepilot-performance-engine** — live performance safety constraints
|
|
284
286
|
- **livepilot-evaluation** — universal before/after evaluation loop
|
|
285
287
|
|
|
288
|
+
## Tool Access
|
|
289
|
+
|
|
290
|
+
MCP tools (all `mcp__livepilot__*` tools) should be available to you. If they are NOT in your tool namespace:
|
|
291
|
+
|
|
292
|
+
1. Try using `ToolSearch` with query `"livepilot"` to discover and load them
|
|
293
|
+
2. If that fails, **tell the user immediately**: "MCP tools not available in this subagent session"
|
|
294
|
+
3. Do NOT fall back to reading code and planning — that wastes tokens
|
|
295
|
+
4. Suggest running the task in the main conversation instead
|
|
296
|
+
|
|
297
|
+
**NEVER just read files and describe what you would do. You must call MCP tools to control Ableton.**
|
|
298
|
+
|
|
286
299
|
## Rules
|
|
287
300
|
|
|
288
301
|
- Load relevant skills before starting domain-specific work
|
|
@@ -3,26 +3,45 @@ name: arrange
|
|
|
3
3
|
description: Guided arrangement — build song structure with sections, transitions, and energy flow
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
Guide the user through arranging their session
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
6
|
+
Guide the user through arranging their session using the V2 orchestration pipeline.
|
|
7
|
+
|
|
8
|
+
## Orchestration Flow
|
|
9
|
+
|
|
10
|
+
1. **Session kernel** — `get_session_kernel(request_text=<user's request>, mode="improve")`
|
|
11
|
+
2. **Route** — `route_request(<user's request>)` for engine routes + semantic moves
|
|
12
|
+
|
|
13
|
+
## Analysis Phase
|
|
14
|
+
|
|
15
|
+
3. **Scene matrix** — `get_scene_matrix` for the full clip grid
|
|
16
|
+
4. **Section purposes** — `infer_section_purposes` to understand what each scene is doing
|
|
17
|
+
5. **Emotional arc** — `score_emotional_arc` — does the song have build → climax → resolve?
|
|
18
|
+
6. **Repetition check** — `detect_repetition_fatigue` — are patterns overused?
|
|
19
|
+
7. **Motif analysis** — `get_motif_graph` for recurring patterns and fatigue risk
|
|
20
|
+
8. **Role conflicts** — `detect_role_conflicts` to find competing tracks
|
|
21
|
+
|
|
22
|
+
## Planning Phase
|
|
23
|
+
|
|
24
|
+
9. **Ask about target** — what form? (verse-chorus, build-drop, through-composed). What energy arc?
|
|
25
|
+
10. **Plan arrangement** — `plan_arrangement(target_bars, style)` for section blueprint
|
|
26
|
+
11. **Propose moves** — `propose_next_best_move(request_text)` for arrangement semantic moves (e.g., `create_buildup_tension`, `smooth_scene_handoff`)
|
|
27
|
+
12. **Preview** — `preview_semantic_move(move_id)` to see the gesture plan
|
|
28
|
+
|
|
29
|
+
## Execution Phase
|
|
30
|
+
|
|
31
|
+
13. **Build sections** — duplicate scenes, set names/colors, use `transform_motif` for melodic development
|
|
32
|
+
14. **Apply gestures** — `apply_gesture_template` for transitions:
|
|
33
|
+
- `pre_arrival_vacuum` — energy suck before drops
|
|
34
|
+
- `harmonic_tint_rise` — filter opening for intros
|
|
35
|
+
- `re_entry_spotlight` — highlight returning elements
|
|
36
|
+
- `tension_ratchet` — stepped energy build
|
|
37
|
+
- `outro_decay_dissolve` — gradual dissolution
|
|
38
|
+
15. **Add organic movement** — `apply_automation_shape(curve_type="perlin")` on filters/sends
|
|
39
|
+
16. **Verify arc** — `score_emotional_arc` again to confirm improvement
|
|
40
|
+
17. **Perception check** — `capture_audio` + `analyze_loudness` to verify LRA > 2 LU
|
|
41
|
+
|
|
42
|
+
## Summary
|
|
43
|
+
|
|
44
|
+
18. **Report** — "What I did / what improved / what I protected / what remains"
|
|
45
|
+
19. **Session memory** — `add_session_memory` for arrangement decisions
|
|
46
|
+
|
|
47
|
+
For exploratory arrangement, use `create_experiment` to try multiple section orderings.
|
|
@@ -3,27 +3,42 @@ name: mix
|
|
|
3
3
|
description: Mixing assistant — analyze and balance track levels, panning, and sends
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
Help the user mix their session
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
6
|
+
Help the user mix their session using the V2 orchestration pipeline.
|
|
7
|
+
|
|
8
|
+
## Orchestration Flow
|
|
9
|
+
|
|
10
|
+
1. **Session kernel** — `get_session_kernel(request_text=<user's request>, mode="improve")` for the full turn snapshot
|
|
11
|
+
2. **Route** — `route_request(<user's request>)` to get engine routes + semantic move recommendations
|
|
12
|
+
3. **Ensure analyzer** — if `get_master_spectrum` errors, load it: `find_and_load_device(track_index=-1000, device_name="LivePilot_Analyzer")`. If bridge disconnected, try `reconnect_bridge`.
|
|
13
|
+
|
|
14
|
+
## Analysis Phase
|
|
15
|
+
|
|
16
|
+
4. **Quick status** — `get_mix_summary` for track count, dynamics, stereo, issues
|
|
17
|
+
5. **Run critics** — `get_mix_issues` for problems. `get_masking_report` for frequency collisions.
|
|
18
|
+
6. **Spectral check** — `get_master_spectrum` for 8-band balance. Genre targets:
|
|
14
19
|
- Hip-hop: sub dominant, centroid 400-800 Hz
|
|
15
20
|
- Electronic: balanced, centroid 800-1500 Hz
|
|
16
21
|
- Ambient: mid-focused, low sub, centroid 500-1000 Hz
|
|
17
|
-
7. **
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
9. **
|
|
23
|
-
10. **
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
22
|
+
7. **Musical intelligence** — `detect_role_conflicts` to find tracks competing for the same space. `detect_repetition_fatigue` if arrangement feels stale.
|
|
23
|
+
|
|
24
|
+
## Decision Phase
|
|
25
|
+
|
|
26
|
+
8. **Propose semantic moves** — `propose_next_best_move(request_text=<user's request>)` for ranked suggestions (e.g., `make_punchier`, `widen_stereo`, `tighten_low_end`)
|
|
27
|
+
9. **Preview chosen move** — `preview_semantic_move(move_id)` to see the full compile plan before executing
|
|
28
|
+
10. **Rank by taste** — if user has history, `rank_moves_by_taste(move_specs)` to personalize ordering
|
|
29
|
+
|
|
30
|
+
## Execution Phase
|
|
31
|
+
|
|
32
|
+
11. **Apply with approval** — `apply_semantic_move(move_id, mode="improve")` returns the compiled plan. Present it to the user: "I'd suggest: push Drums to 0.75, pull Pad to 0.25. Shall I do it?"
|
|
33
|
+
12. **Verify after EVERY change** — read `value_string` in response, call `get_track_meters(include_stereo=true)`, check no track went silent
|
|
34
|
+
13. **Capture + analyze** — `capture_audio` then `analyze_loudness` for LUFS/LRA, `analyze_spectrum_offline` for centroid/balance
|
|
35
|
+
14. **Evaluate** — `evaluate_mix_move` with before/after snapshots. If `keep_change` is false, `undo` immediately.
|
|
36
|
+
|
|
37
|
+
## Summary
|
|
38
|
+
|
|
39
|
+
15. **Report** — "What I did / what improved / what I protected / what remains"
|
|
40
|
+
16. **Session memory** — `add_session_memory` for notable decisions
|
|
41
|
+
17. **Taste update** — successful moves update the TasteGraph automatically
|
|
28
42
|
|
|
29
43
|
For deeper critic-driven iterative improvement, use the livepilot-mix-engine skill.
|
|
44
|
+
For exploratory mode (try multiple ideas), use `create_experiment` + `run_experiment` + `compare_experiments`.
|
|
@@ -3,28 +3,40 @@ name: perform
|
|
|
3
3
|
description: Performance mode — enter a safety-constrained live performance context with energy tracking and safe moves
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
Enter performance mode
|
|
6
|
+
Enter performance mode with safety constraints and energy tracking.
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
2. **Show the dashboard** — present: current scene, energy level, energy direction (up/down/hold), available safe moves
|
|
10
|
-
3. **Get safe moves** — `get_performance_safe_moves` for what can be done right now
|
|
11
|
-
4. **Check before acting** — `check_safety(move_type)` before every action. Only execute safe or caution moves. Caution moves require user confirmation.
|
|
8
|
+
## Orchestration Flow
|
|
12
9
|
|
|
13
|
-
**
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
- Adding or removing devices (device chain surgery)
|
|
10
|
+
1. **Session kernel** — `get_session_kernel(request_text="live performance", mode="improve")`
|
|
11
|
+
2. **Route** — `route_request("live performance")` → workflow_mode should be `performance_safe`
|
|
12
|
+
3. **Performance state** — `get_performance_state` for current scene, energy level, and safe moves
|
|
17
13
|
|
|
18
|
-
|
|
19
|
-
- Scene launches, mute/unmute, volume nudges, send adjustments, macro tweaks, filter sweeps
|
|
14
|
+
## Safety-First Rules
|
|
20
15
|
|
|
21
|
-
**
|
|
22
|
-
-
|
|
23
|
-
-
|
|
16
|
+
- **NEVER** execute moves rated "high risk" during performance
|
|
17
|
+
- **ALWAYS** use `get_performance_safe_moves` before ANY change
|
|
18
|
+
- Only fire scenes, adjust volumes, and trigger safe effects
|
|
19
|
+
- No device loading, track creation, or destructive operations
|
|
24
20
|
|
|
25
|
-
|
|
26
|
-
- Current energy level and direction
|
|
27
|
-
- What moves are available
|
|
28
|
-
- What moves are blocked and why
|
|
21
|
+
## Performance Tools
|
|
29
22
|
|
|
30
|
-
|
|
23
|
+
4. **Safe moves** — `get_performance_safe_moves` for available actions
|
|
24
|
+
5. **Scene handoff** — `plan_scene_handoff` for safe transitions between scenes
|
|
25
|
+
6. **Energy tracking** — monitor energy level across scene transitions
|
|
26
|
+
7. **Semantic moves** — only performance-safe semantic moves:
|
|
27
|
+
- `smooth_scene_handoff` — safe transition between scenes
|
|
28
|
+
- Gesture templates: `pre_arrival_vacuum`, `re_entry_spotlight`
|
|
29
|
+
|
|
30
|
+
## Live Dashboard
|
|
31
|
+
|
|
32
|
+
8. **Monitor** — `get_track_meters(include_stereo=true)` for real-time levels
|
|
33
|
+
9. **Spectrum** — `get_master_spectrum` for frequency balance during performance
|
|
34
|
+
10. **Playing clips** — `get_playing_clips` to see what's active
|
|
35
|
+
|
|
36
|
+
## Recovery
|
|
37
|
+
|
|
38
|
+
11. **If something goes wrong** — `undo` immediately
|
|
39
|
+
12. **Emergency** — `stop_all_clips` if audio goes haywire
|
|
40
|
+
13. **Check safety** — `check_safety` to verify constraints are holding
|
|
41
|
+
|
|
42
|
+
Keep the user informed of what's happening. Never make surprise changes during a live set.
|
|
@@ -3,28 +3,41 @@ name: sounddesign
|
|
|
3
3
|
description: Sound design workflow — load instruments and effects, shape parameters for a target sound
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
Guide the user through designing a sound
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
6
|
+
Guide the user through designing a sound using the V2 orchestration pipeline.
|
|
7
|
+
|
|
8
|
+
## Orchestration Flow
|
|
9
|
+
|
|
10
|
+
1. **Session kernel** — `get_session_kernel(request_text=<user's request>, mode="improve")`
|
|
11
|
+
2. **Route** — `route_request(<user's request>)` for engine routes + semantic moves
|
|
12
|
+
|
|
13
|
+
## Design Phase
|
|
14
|
+
|
|
15
|
+
3. **Ask about target** — what character? (warm pad, aggressive bass, shimmering lead, etc.)
|
|
16
|
+
4. **Choose instrument** — `search_browser` to find devices, `load_browser_item` to load
|
|
17
|
+
5. **Verify health** — `get_device_info` to confirm plugin initialized. Read `value_string` from `get_device_parameters` to understand actual units.
|
|
18
|
+
6. **Shape sound** — `set_device_parameter` or `batch_set_parameters`. **ALWAYS read `value_string` in response** to confirm Hz/dB/% values make sense.
|
|
19
|
+
7. **Verify after every change** — `get_track_meters(include_stereo=true)` — if stereo drops to 0, the effect killed the signal.
|
|
20
|
+
|
|
21
|
+
## Critic Phase
|
|
22
|
+
|
|
23
|
+
8. **Run critics** — `analyze_sound_design(track_index)` for static timbre, missing modulation, spectral imbalance
|
|
24
|
+
9. **Plan improvements** — `plan_sound_design_move(track_index)` for suggested changes
|
|
25
|
+
10. **Patch model** — `get_patch_model(track_index)` to see chain structure and controllable blocks
|
|
26
|
+
|
|
27
|
+
## Effects & Automation
|
|
28
|
+
|
|
29
|
+
11. **Add effects** — load with `find_and_load_device(track_index, device_name)`. Verify health.
|
|
30
|
+
12. **Organic movement** — `apply_automation_shape(curve_type="perlin")` for filter/send drift
|
|
31
|
+
13. **Automation recipes** — `apply_automation_recipe` for breathing, vinyl_crackle, auto_pan. Verify after applying.
|
|
32
|
+
|
|
33
|
+
## Evaluation
|
|
34
|
+
|
|
35
|
+
14. **Perception check** — `get_master_spectrum` or `capture_audio` + `analyze_spectrum_offline`
|
|
36
|
+
15. **Evaluate** — `evaluate_move(goal_vector, before_snapshot, after_snapshot)` to score improvement
|
|
37
|
+
|
|
38
|
+
## Summary
|
|
39
|
+
|
|
40
|
+
16. **Report** — "What I changed / what improved / what I protected"
|
|
41
|
+
17. **Memory** — if score > 0.7, suggest `memory_learn` to save the technique
|
|
42
|
+
|
|
43
|
+
For critic-driven iterative refinement, use the livepilot-sound-design-engine skill.
|
|
@@ -134,4 +134,5 @@ For deeper compositional analysis beyond basic arrangement:
|
|
|
134
134
|
|
|
135
135
|
## Reference
|
|
136
136
|
|
|
137
|
-
|
|
137
|
+
Supporting references live in the `livepilot-core` skill's `references/` directory:
|
|
138
|
+
- `livepilot-core/references/ableton-workflow-patterns.md` — session/arrangement workflows, song structures by genre, follow actions, clip launch modes, export settings
|
|
@@ -10,7 +10,7 @@ A filter or noise sweep that builds energy into the next section.
|
|
|
10
10
|
- Duration: 2-8 bars
|
|
11
11
|
- Implementation: ascending automation on filter cutoff (20% to 100%) plus optional white noise riser
|
|
12
12
|
- Best for: verse-to-chorus, breakdown-to-drop
|
|
13
|
-
- Tools: `set_clip_automation`, `apply_automation_shape(
|
|
13
|
+
- Tools: `set_clip_automation`, `apply_automation_shape(track_index, clip_index, parameter_type="device", curve_type="exponential", start=0, end=1)`
|
|
14
14
|
|
|
15
15
|
### drum_build
|
|
16
16
|
Progressive addition of percussion layers leading to the downbeat.
|
|
@@ -52,7 +52,7 @@ Low-pass filter sweep closing down to muffle the sound.
|
|
|
52
52
|
- Duration: 2-4 bars
|
|
53
53
|
- Implementation: descending automation on master or bus filter cutoff (100% to 20-30%)
|
|
54
54
|
- Best for: section endings, transitions to breakdowns
|
|
55
|
-
- Tools: `set_clip_automation`, `apply_automation_shape(
|
|
55
|
+
- Tools: `set_clip_automation`, `apply_automation_shape(track_index, clip_index, parameter_type="device", curve_type="exponential", start=1, end=0)`
|
|
56
56
|
|
|
57
57
|
### reverb_wash
|
|
58
58
|
Increase reverb wet level to blur the previous section into the next.
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: livepilot-core
|
|
3
|
-
description: Core discipline for LivePilot — agentic production system for Ableton Live 12.
|
|
3
|
+
description: Core discipline for LivePilot — agentic production system for Ableton Live 12. 293 tools across 39 domains. This skill should be used whenever working with Ableton Live through MCP tools. Provides golden rules, tool speed tiers, error handling protocol, and pointers to domain and engine skills.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# LivePilot Core — Ableton Live 12
|
|
7
7
|
|
|
8
|
-
Agentic production system for Ableton Live 12.
|
|
8
|
+
Agentic production system for Ableton Live 12. 293 tools across 39 domains, three layers:
|
|
9
9
|
|
|
10
10
|
- **Device Atlas** — 280+ instruments, 139 drum kits, 350+ impulse responses. Consult `references/device-atlas/` before loading any device. Never guess a device name.
|
|
11
11
|
- **M4L Analyzer** — Real-time audio analysis on the master bus (8-band spectrum, RMS/peak, key detection). Optional — all core tools work without it.
|
|
@@ -34,11 +34,12 @@ Agentic production system for Ableton Live 12. 237 tools across 32 domains, thre
|
|
|
34
34
|
- If a track's stereo output drops to 0: the effect is killing the signal — check `get_device_parameters` for `value_string`, fix, re-verify
|
|
35
35
|
- **Parameter ranges are NOT always 0-1.** Auto Filter Frequency is 20-135. Bit Depth is 1-16. Always read `value_string` to see actual units.
|
|
36
36
|
16. **NEVER apply automation recipes without understanding the target parameter's range** — recipes generate 0-1 curves that get auto-scaled for device parameters, but always verify the result
|
|
37
|
+
17. **LivePilot_Analyzer must be LAST on master chain** — always place after ALL effects (EQ, Compressor, Utility, etc.) so it measures the final post-processing output, not the raw signal. When loading effects on master, either load them before the analyzer or move the analyzer to end afterward
|
|
37
38
|
|
|
38
39
|
## Tool Speed Tiers
|
|
39
40
|
|
|
40
41
|
### Instant (<1s) — Use freely
|
|
41
|
-
All
|
|
42
|
+
All 293 tools plus M4L perception tools.
|
|
42
43
|
|
|
43
44
|
### Fast (1-5s) — Use freely
|
|
44
45
|
`analyze_loudness` · `analyze_mix` · `analyze_sound_design`
|
|
@@ -63,6 +64,7 @@ Report ALL errors to the user immediately. Common failure modes:
|
|
|
63
64
|
- **Connection timeout** — Ableton unresponsive → check if session is heavy
|
|
64
65
|
- **Volume reset on scene fire** — Ableton restores mixer state when firing scenes. Always re-apply `set_track_volume`/`set_track_pan` after `fire_scene` if your mix settings differ from what was stored in the clips
|
|
65
66
|
- **M4L Analyzer not connected** — if `get_master_spectrum` errors with "Analyzer not detected", auto-load it: `find_and_load_device(track_index=-1000, device_name="LivePilot_Analyzer")`. If it errors with "UDP bridge not connected", try `reconnect_bridge` first
|
|
67
|
+
- **Another client connected** — Remote Script only accepts one TCP client on port 9878. If you see this error, the MCP server is already connected. Use MCP tools instead of raw TCP
|
|
66
68
|
|
|
67
69
|
## Technique Memory
|
|
68
70
|
|
|
@@ -71,6 +73,15 @@ Three modes:
|
|
|
71
73
|
- **Fresh:** Skip memory when user wants something new ("ignore my history", "surprise me")
|
|
72
74
|
- **Explicit recall:** `memory_recall` → `memory_get` → `memory_replay` when user references a saved technique
|
|
73
75
|
|
|
76
|
+
## Wonder Mode — Stuck-Rescue Routing
|
|
77
|
+
|
|
78
|
+
- Use Wonder (`enter_wonder_mode`) for creative ambiguity and session rescue
|
|
79
|
+
- Do not fabricate three variants when only one real option exists
|
|
80
|
+
- Do not describe a branch as previewable unless it has a valid `compiled_plan`
|
|
81
|
+
- Prefer Wonder when `detect_stuckness` confidence > 0.5
|
|
82
|
+
- Prefer Wonder when the user's request is emotionally-shaped, not parametric
|
|
83
|
+
- Load `livepilot-wonder` skill for full workflow guidance
|
|
84
|
+
|
|
74
85
|
## Domain Skills
|
|
75
86
|
|
|
76
87
|
For domain-specific workflows, load the appropriate skill:
|
|
@@ -100,7 +111,7 @@ Deep production knowledge in `references/`:
|
|
|
100
111
|
|
|
101
112
|
| File | Content |
|
|
102
113
|
|------|---------|
|
|
103
|
-
| `references/overview.md` | All
|
|
114
|
+
| `references/overview.md` | All 293 tools with params and ranges |
|
|
104
115
|
| `references/device-atlas/` | 280+ device corpus with URIs and presets |
|
|
105
116
|
| `references/midi-recipes.md` | Drum patterns, chord voicings, humanization |
|
|
106
117
|
| `references/sound-design.md` | Synth recipes, device chain patterns |
|
|
@@ -109,3 +120,48 @@ Deep production knowledge in `references/`:
|
|
|
109
120
|
| `references/ableton-workflow-patterns.md` | Session/arrangement workflows |
|
|
110
121
|
| `references/memory-guide.md` | Technique memory usage and quality templates |
|
|
111
122
|
| `references/m4l-devices.md` | M4L bridge command reference |
|
|
123
|
+
|
|
124
|
+
## V2 Orchestration Layer
|
|
125
|
+
|
|
126
|
+
For complex requests, use the V2 orchestration flow instead of ad-hoc tool calls:
|
|
127
|
+
|
|
128
|
+
### Standard V2 Flow
|
|
129
|
+
1. **`route_request`** — classify the request, get recommended engines and workflow mode
|
|
130
|
+
2. **`get_session_kernel`** — build the unified turn snapshot (session, capabilities, taste, memory)
|
|
131
|
+
3. **`propose_next_best_move`** — get ranked semantic move suggestions (taste-aware)
|
|
132
|
+
4. **`preview_semantic_move`** — see what a move will do before committing
|
|
133
|
+
5. **`apply_semantic_move`** — compile and execute the move (mode-dependent)
|
|
134
|
+
6. **Evaluate** — use the appropriate evaluator to check the result
|
|
135
|
+
|
|
136
|
+
### Semantic Moves
|
|
137
|
+
High-level musical intents that compile to deterministic tool sequences. 5 families:
|
|
138
|
+
- **mix** — `tighten_low_end`, `widen_stereo`, `make_punchier`, `darken_without_losing_width`, `reduce_repetition_fatigue`, `make_kick_bass_lock`, `reduce_foreground_competition`
|
|
139
|
+
- **arrangement** — `create_buildup_tension`, `smooth_scene_handoff`, `increase_contrast_before_payoff`, `refresh_repeated_section`
|
|
140
|
+
- **transition** — `increase_forward_motion`, `open_chorus`, `create_breakdown`, `bridge_sections`
|
|
141
|
+
- **sound_design** — `add_warmth`, `add_texture`, `shape_transients`, `add_space`
|
|
142
|
+
- **performance** — `recover_energy`, `decompress_tension`, `safe_spotlight`, `emergency_simplify`
|
|
143
|
+
|
|
144
|
+
Use `list_semantic_moves(domain="mix")` to discover available moves.
|
|
145
|
+
|
|
146
|
+
### Experiment Branching
|
|
147
|
+
For creative exploration, use experiment branching to compare multiple approaches:
|
|
148
|
+
1. `create_experiment(request_text="make it punchier")` — auto-proposes branches
|
|
149
|
+
2. `run_experiment(experiment_id)` — trials each branch (apply → capture → undo)
|
|
150
|
+
3. `compare_experiments(experiment_id)` — rank branches by score
|
|
151
|
+
4. `commit_experiment(experiment_id, branch_id)` — apply winner permanently
|
|
152
|
+
|
|
153
|
+
### Taste-Aware Ranking
|
|
154
|
+
The system learns user preferences from kept/undone moves:
|
|
155
|
+
- `get_taste_graph()` — current taste model
|
|
156
|
+
- `explain_taste_inference()` — human-readable explanation
|
|
157
|
+
- `rank_moves_by_taste(move_specs)` — sort options by preference fit
|
|
158
|
+
- `propose_next_best_move` automatically applies taste ranking when evidence exists
|
|
159
|
+
|
|
160
|
+
### Musical Intelligence
|
|
161
|
+
Song-level analysis beyond parameters:
|
|
162
|
+
- `detect_repetition_fatigue()` — clip overuse, section staleness
|
|
163
|
+
- `detect_role_conflicts()` — tracks fighting for the same space
|
|
164
|
+
- `infer_section_purposes()` — label sections as setup/tension/payoff/contrast/release
|
|
165
|
+
- `score_emotional_arc()` — does the song have a satisfying build→climax→resolve?
|
|
166
|
+
- `analyze_phrase_arc()` — capture and evaluate musical phrases
|
|
167
|
+
- `compare_phrase_renders()` — compare phrase variants side by side
|
|
@@ -11,7 +11,7 @@ Complete sonic atlas for every distortion, saturation, and coloration device ava
|
|
|
11
11
|
### Saturator
|
|
12
12
|
|
|
13
13
|
- **Type:** Native (all editions)
|
|
14
|
-
- **Load via:** `find_and_load_device("Saturator")`
|
|
14
|
+
- **Load via:** `find_and_load_device(track_index, "Saturator")`
|
|
15
15
|
- **What it does:** General-purpose waveshaping distortion. Pushes audio through a transfer curve that reshapes the waveform, adding harmonics. Ranges from imperceptible warmth to aggressive folding distortion depending on curve and drive. The most versatile single distortion device in Live.
|
|
16
16
|
|
|
17
17
|
- **Signal flow:** Input -> Drive (gain stage) -> Waveshaper (selected curve) -> Color section (2-band post-EQ) -> Soft Clip (optional) -> Output gain -> Dry/Wet mix
|
|
@@ -50,7 +50,7 @@ Complete sonic atlas for every distortion, saturation, and coloration device ava
|
|
|
50
50
|
### Overdrive
|
|
51
51
|
|
|
52
52
|
- **Type:** Native (all editions)
|
|
53
|
-
- **Load via:** `find_and_load_device("Overdrive")`
|
|
53
|
+
- **Load via:** `find_and_load_device(track_index, "Overdrive")`
|
|
54
54
|
- **What it does:** Warm overdrive effect with a built-in bandpass filter that shapes the frequency range being distorted. Models the behavior of a guitar overdrive pedal: the bandpass focuses the distortion on the mids, preventing fizzy highs and muddy lows. Less versatile than Saturator but more immediately musical on guitars, bass, and keys.
|
|
55
55
|
|
|
56
56
|
- **Signal flow:** Input -> Bandpass Filter (pre-distortion frequency focus) -> Distortion stage -> Tone control (post-distortion brightness) -> Dynamics control -> Output -> Dry/Wet
|
|
@@ -79,7 +79,7 @@ Complete sonic atlas for every distortion, saturation, and coloration device ava
|
|
|
79
79
|
### Erosion
|
|
80
80
|
|
|
81
81
|
- **Type:** Native (all editions)
|
|
82
|
-
- **Load via:** `find_and_load_device("Erosion")`
|
|
82
|
+
- **Load via:** `find_and_load_device(track_index, "Erosion")`
|
|
83
83
|
- **What it does:** Digital degradation effect. Modulates the audio signal with noise or a sine wave to create aliasing, digital artifacts, and high-frequency grit. Unlike analog-modeled distortion, Erosion sounds intentionally digital and broken. It creates artifacts that don't exist in the analog domain -- frequency-shifted noise clouds, aliasing products, digital "fuzz."
|
|
84
84
|
|
|
85
85
|
- **Signal flow:** Input signal is ring-modulated/multiplied with a noise source or sine oscillator, creating sum-and-difference frequencies (aliasing artifacts). The result is mixed with the dry signal.
|
|
@@ -107,7 +107,7 @@ Complete sonic atlas for every distortion, saturation, and coloration device ava
|
|
|
107
107
|
### Redux
|
|
108
108
|
|
|
109
109
|
- **Type:** Native (all editions, updated in Live 12)
|
|
110
|
-
- **Load via:** `find_and_load_device("Redux")`
|
|
110
|
+
- **Load via:** `find_and_load_device(track_index, "Redux")`
|
|
111
111
|
- **What it does:** Bit crusher and sample rate reducer. Reduces the bit depth (fewer amplitude steps = quantization noise) and/or sample rate (fewer samples per second = aliasing) of the audio signal. The Live 12 update added new filter modes, jitter controls, and a modernized interface that makes it significantly more musical than the old version.
|
|
112
112
|
|
|
113
113
|
- **Signal flow:** Input -> Downsample (sample rate reduction with selectable filter/interpolation) -> Bit Reduction (bit depth quantization) -> Output
|
|
@@ -138,7 +138,7 @@ Complete sonic atlas for every distortion, saturation, and coloration device ava
|
|
|
138
138
|
### Pedal
|
|
139
139
|
|
|
140
140
|
- **Type:** Native (Standard/Suite, or as add-on)
|
|
141
|
-
- **Load via:** `find_and_load_device("Pedal")`
|
|
141
|
+
- **Load via:** `find_and_load_device(track_index, "Pedal")`
|
|
142
142
|
- **What it does:** Guitar pedal emulation with three distinct distortion voicings. Designed to feel like stepping on a real stompbox. Each mode models a different class of guitar pedal circuit. More aggressive than Overdrive, more focused than Saturator, with a musical 3-band EQ.
|
|
143
143
|
|
|
144
144
|
- **Signal flow:** Input -> Sub switch (optional low shelf boost) -> Gain stage (mode-dependent clipping circuit) -> 3-band EQ (Bass/Mid/Treble) -> Output gain -> Dry/Wet
|
|
@@ -172,7 +172,7 @@ Complete sonic atlas for every distortion, saturation, and coloration device ava
|
|
|
172
172
|
### Amp
|
|
173
173
|
|
|
174
174
|
- **Type:** Native (Standard/Suite, or as add-on, developed with Softube)
|
|
175
|
-
- **Load via:** `find_and_load_device("Amp")`
|
|
175
|
+
- **Load via:** `find_and_load_device(track_index, "Amp")`
|
|
176
176
|
- **What it does:** Physical modeling of seven classic guitar amplifier circuits. Each model captures the nonlinear behavior, EQ voicing, and breakup character of a real amp. Unlike Pedal (which is a pre-amp stompbox), Amp models the full amplifier including preamp gain stage, tone stack, and power amp saturation.
|
|
177
177
|
|
|
178
178
|
- **Signal flow:** Input -> Gain (preamp drive) -> Tone Stack (Bass/Middle/Treble - interactive like real amps) -> Power Amp (Volume - controls power amp saturation) -> Presence (post-power-amp HF control) -> Output -> Dry/Wet
|
|
@@ -210,7 +210,7 @@ Complete sonic atlas for every distortion, saturation, and coloration device ava
|
|
|
210
210
|
### Cabinet
|
|
211
211
|
|
|
212
212
|
- **Type:** Native (Standard/Suite, or as add-on, developed with Softube)
|
|
213
|
-
- **Load via:** `find_and_load_device("Cabinet")`
|
|
213
|
+
- **Load via:** `find_and_load_device(track_index, "Cabinet")`
|
|
214
214
|
- **What it does:** Convolution-based speaker cabinet emulation. Models the frequency response and resonance of classic guitar/bass speaker cabinets with selectable virtual microphones and mic positions. Transforms the raw, harsh output of Amp into a natural, speaker-shaped tone. Essential companion to Amp.
|
|
215
215
|
|
|
216
216
|
- **Signal flow:** Input -> Cabinet impulse response (convolution) -> Microphone model -> Mic Position -> Output -> Dry/Wet
|
|
@@ -241,7 +241,7 @@ Complete sonic atlas for every distortion, saturation, and coloration device ava
|
|
|
241
241
|
### Dynamic Tube
|
|
242
242
|
|
|
243
243
|
- **Type:** Native (Standard/Suite)
|
|
244
|
-
- **Load via:** `find_and_load_device("Dynamic Tube")`
|
|
244
|
+
- **Load via:** `find_and_load_device(track_index, "Dynamic Tube")`
|
|
245
245
|
- **What it does:** Tube saturation with an input-following envelope. The distortion amount responds dynamically to the signal level -- louder passages get more saturation, quiet passages stay cleaner. This mimics how real tube circuits behave: they saturate progressively as the signal increases. Three tube models offer different saturation colors.
|
|
246
246
|
|
|
247
247
|
- **Signal flow:** Input -> Envelope Follower (detects input level) -> Tube saturation stage (model-dependent, amount modulated by envelope) -> Tone control -> Output -> Dry/Wet
|
|
@@ -274,7 +274,7 @@ Complete sonic atlas for every distortion, saturation, and coloration device ava
|
|
|
274
274
|
### Vinyl Distortion
|
|
275
275
|
|
|
276
276
|
- **Type:** Native (Standard/Suite)
|
|
277
|
-
- **Load via:** `find_and_load_device("Vinyl Distortion")`
|
|
277
|
+
- **Load via:** `find_and_load_device(track_index, "Vinyl Distortion")`
|
|
278
278
|
- **What it does:** Emulates the physical artifacts of vinyl record playback. Two independent distortion models (Tracing and Pinch) simulate different aspects of needle-on-groove behavior, plus a Crackle generator for surface noise. Creates that "sampled from vinyl" character heard in lo-fi hip-hop, downtempo, and sample-based production.
|
|
279
279
|
|
|
280
280
|
- **Signal flow:** Input -> Tracing Model (simulates needle tracking distortion) + Pinch Effect (simulates pinch distortion) -> Crackle generator (added noise) -> Output -> Dry/Wet
|
|
@@ -306,7 +306,7 @@ Complete sonic atlas for every distortion, saturation, and coloration device ava
|
|
|
306
306
|
### Roar
|
|
307
307
|
|
|
308
308
|
- **Type:** Native (Live 12 add-on, EUR 99)
|
|
309
|
-
- **Load via:** `find_and_load_device("Roar")`
|
|
309
|
+
- **Load via:** `find_and_load_device(track_index, "Roar")`
|
|
310
310
|
- **What it does:** Live 12's flagship distortion -- a multi-stage distortion synthesizer with flexible routing, feedback loops, modulation, and compression. Three independent gain stages (each with its own shaper and filter), six routing topologies, four modulation sources, and a feedback section with delay. Roar can do everything from subtle tape warming to screaming feedback distortion to multi-band destruction. It is a distortion design environment, not just an effect.
|
|
311
311
|
|
|
312
312
|
- **Signal flow:** Input -> Drive/Tone (global input shaping) -> Routing topology (distributes signal to gain stages) -> Gain Stage(s) (each: shaper + pre/post filter) -> Feedback section (delay with compressor) -> Global Compressor -> Output -> Dry/Wet
|
|
@@ -376,7 +376,7 @@ Complete sonic atlas for every distortion, saturation, and coloration device ava
|
|
|
376
376
|
### Drum Buss (Distortion Aspect)
|
|
377
377
|
|
|
378
378
|
- **Type:** Native (Standard/Suite)
|
|
379
|
-
- **Load via:** `find_and_load_device("Drum Buss")`
|
|
379
|
+
- **Load via:** `find_and_load_device(track_index, "Drum Buss")`
|
|
380
380
|
- **What it does:** All-in-one drum processing combining drive/distortion, transient shaping, bass enhancement, and damping. The distortion section specifically adds harmonic density and aggression to drum buses. While it's a multi-function device, the Drive section alone makes it worth including here.
|
|
381
381
|
|
|
382
382
|
- **Signal flow:** Input -> Trim -> Drive section (distortion with 3 types) -> Crunch (compressive distortion) -> Transients -> Boom (resonant bass boost) -> Damping (HF control) -> Output -> Dry/Wet
|