livepilot 1.26.0 → 1.26.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 (181) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/README.md +1 -1
  3. package/installer/codex.js +87 -9
  4. package/livepilot/.Codex-plugin/plugin.json +8 -0
  5. package/livepilot/.claude-plugin/plugin.json +8 -0
  6. package/livepilot/.mcp.json +8 -0
  7. package/livepilot/agents/livepilot-producer/AGENT.md +314 -0
  8. package/livepilot/commands/arrange.md +47 -0
  9. package/livepilot/commands/beat.md +81 -0
  10. package/livepilot/commands/evaluate.md +49 -0
  11. package/livepilot/commands/memory.md +22 -0
  12. package/livepilot/commands/mix.md +47 -0
  13. package/livepilot/commands/perform.md +42 -0
  14. package/livepilot/commands/session.md +13 -0
  15. package/livepilot/commands/sounddesign.md +58 -0
  16. package/livepilot/rubrics/default_preset_check.md +82 -0
  17. package/livepilot/rubrics/layer_accumulation.md +79 -0
  18. package/livepilot/rubrics/layer_precision.md +79 -0
  19. package/livepilot/rubrics/modulation_presence.md +63 -0
  20. package/livepilot/rubrics/sound_design_depth.md +40 -0
  21. package/livepilot/skills/livepilot-arrangement/SKILL.md +164 -0
  22. package/livepilot/skills/livepilot-composition-engine/SKILL.md +151 -0
  23. package/livepilot/skills/livepilot-composition-engine/references/form-patterns.md +97 -0
  24. package/livepilot/skills/livepilot-composition-engine/references/transition-archetypes.md +102 -0
  25. package/livepilot/skills/livepilot-core/SKILL.md +261 -0
  26. package/livepilot/skills/livepilot-core/references/ableton-workflow-patterns.md +831 -0
  27. package/livepilot/skills/livepilot-core/references/affordances/_schema.md +160 -0
  28. package/livepilot/skills/livepilot-core/references/affordances/devices/auto-filter.yaml +133 -0
  29. package/livepilot/skills/livepilot-core/references/affordances/devices/chorus-ensemble.yaml +91 -0
  30. package/livepilot/skills/livepilot-core/references/affordances/devices/compressor.yaml +98 -0
  31. package/livepilot/skills/livepilot-core/references/affordances/devices/convolution-reverb.yaml +113 -0
  32. package/livepilot/skills/livepilot-core/references/affordances/devices/corpus.yaml +84 -0
  33. package/livepilot/skills/livepilot-core/references/affordances/devices/drift.yaml +105 -0
  34. package/livepilot/skills/livepilot-core/references/affordances/devices/echo.yaml +108 -0
  35. package/livepilot/skills/livepilot-core/references/affordances/devices/eq-eight.yaml +95 -0
  36. package/livepilot/skills/livepilot-core/references/affordances/devices/glue-compressor.yaml +88 -0
  37. package/livepilot/skills/livepilot-core/references/affordances/devices/granulator-iii.yaml +104 -0
  38. package/livepilot/skills/livepilot-core/references/affordances/devices/hybrid-reverb.yaml +83 -0
  39. package/livepilot/skills/livepilot-core/references/affordances/devices/operator.yaml +98 -0
  40. package/livepilot/skills/livepilot-core/references/affordances/devices/ping-pong-delay.yaml +104 -0
  41. package/livepilot/skills/livepilot-core/references/affordances/devices/poli.yaml +98 -0
  42. package/livepilot/skills/livepilot-core/references/affordances/devices/saturator.yaml +98 -0
  43. package/livepilot/skills/livepilot-core/references/affordances/devices/shifter.yaml +77 -0
  44. package/livepilot/skills/livepilot-core/references/affordances/devices/simpler.yaml +113 -0
  45. package/livepilot/skills/livepilot-core/references/affordances/devices/utility.yaml +95 -0
  46. package/livepilot/skills/livepilot-core/references/affordances/devices/vinyl-distortion.yaml +92 -0
  47. package/livepilot/skills/livepilot-core/references/affordances/devices/wavetable.yaml +98 -0
  48. package/livepilot/skills/livepilot-core/references/artist-vocabularies.md +389 -0
  49. package/livepilot/skills/livepilot-core/references/automation-atlas.md +272 -0
  50. package/livepilot/skills/livepilot-core/references/concepts/_schema.md +158 -0
  51. package/livepilot/skills/livepilot-core/references/concepts/artists/akufen.yaml +116 -0
  52. package/livepilot/skills/livepilot-core/references/concepts/artists/aphex-twin.yaml +133 -0
  53. package/livepilot/skills/livepilot-core/references/concepts/artists/arca-sophie.yaml +131 -0
  54. package/livepilot/skills/livepilot-core/references/concepts/artists/autechre.yaml +130 -0
  55. package/livepilot/skills/livepilot-core/references/concepts/artists/basic-channel.yaml +140 -0
  56. package/livepilot/skills/livepilot-core/references/concepts/artists/basinski.yaml +126 -0
  57. package/livepilot/skills/livepilot-core/references/concepts/artists/boards-of-canada.yaml +124 -0
  58. package/livepilot/skills/livepilot-core/references/concepts/artists/burial.yaml +127 -0
  59. package/livepilot/skills/livepilot-core/references/concepts/artists/com-truise-tycho.yaml +121 -0
  60. package/livepilot/skills/livepilot-core/references/concepts/artists/daft-punk.yaml +117 -0
  61. package/livepilot/skills/livepilot-core/references/concepts/artists/dj-premier-rza.yaml +119 -0
  62. package/livepilot/skills/livepilot-core/references/concepts/artists/gas.yaml +134 -0
  63. package/livepilot/skills/livepilot-core/references/concepts/artists/hawtin.yaml +127 -0
  64. package/livepilot/skills/livepilot-core/references/concepts/artists/isolee-luomo.yaml +130 -0
  65. package/livepilot/skills/livepilot-core/references/concepts/artists/j-dilla.yaml +133 -0
  66. package/livepilot/skills/livepilot-core/references/concepts/artists/jeff-mills.yaml +120 -0
  67. package/livepilot/skills/livepilot-core/references/concepts/artists/johannsson-richter.yaml +132 -0
  68. package/livepilot/skills/livepilot-core/references/concepts/artists/madlib.yaml +124 -0
  69. package/livepilot/skills/livepilot-core/references/concepts/artists/moodymann-theo-parrish.yaml +121 -0
  70. package/livepilot/skills/livepilot-core/references/concepts/artists/oneohtrix-point-never.yaml +126 -0
  71. package/livepilot/skills/livepilot-core/references/concepts/artists/photek-source-direct.yaml +120 -0
  72. package/livepilot/skills/livepilot-core/references/concepts/artists/rashad-spinn-traxman.yaml +122 -0
  73. package/livepilot/skills/livepilot-core/references/concepts/artists/robert-henke.yaml +113 -0
  74. package/livepilot/skills/livepilot-core/references/concepts/artists/shackleton.yaml +124 -0
  75. package/livepilot/skills/livepilot-core/references/concepts/artists/skream-mala.yaml +119 -0
  76. package/livepilot/skills/livepilot-core/references/concepts/artists/stars-of-the-lid.yaml +119 -0
  77. package/livepilot/skills/livepilot-core/references/concepts/artists/tim-hecker.yaml +122 -0
  78. package/livepilot/skills/livepilot-core/references/concepts/artists/villalobos.yaml +135 -0
  79. package/livepilot/skills/livepilot-core/references/concepts/genres/ambient.yaml +137 -0
  80. package/livepilot/skills/livepilot-core/references/concepts/genres/boom_bap.yaml +124 -0
  81. package/livepilot/skills/livepilot-core/references/concepts/genres/deep-minimal.yaml +130 -0
  82. package/livepilot/skills/livepilot-core/references/concepts/genres/deep_house.yaml +130 -0
  83. package/livepilot/skills/livepilot-core/references/concepts/genres/detroit_techno.yaml +116 -0
  84. package/livepilot/skills/livepilot-core/references/concepts/genres/disco.yaml +123 -0
  85. package/livepilot/skills/livepilot-core/references/concepts/genres/downtempo.yaml +129 -0
  86. package/livepilot/skills/livepilot-core/references/concepts/genres/drone.yaml +133 -0
  87. package/livepilot/skills/livepilot-core/references/concepts/genres/drum-and-bass.yaml +119 -0
  88. package/livepilot/skills/livepilot-core/references/concepts/genres/dub-techno.yaml +132 -0
  89. package/livepilot/skills/livepilot-core/references/concepts/genres/dub.yaml +129 -0
  90. package/livepilot/skills/livepilot-core/references/concepts/genres/dubstep.yaml +120 -0
  91. package/livepilot/skills/livepilot-core/references/concepts/genres/experimental.yaml +136 -0
  92. package/livepilot/skills/livepilot-core/references/concepts/genres/footwork.yaml +119 -0
  93. package/livepilot/skills/livepilot-core/references/concepts/genres/hip-hop.yaml +132 -0
  94. package/livepilot/skills/livepilot-core/references/concepts/genres/house.yaml +126 -0
  95. package/livepilot/skills/livepilot-core/references/concepts/genres/hyperpop.yaml +128 -0
  96. package/livepilot/skills/livepilot-core/references/concepts/genres/idm.yaml +134 -0
  97. package/livepilot/skills/livepilot-core/references/concepts/genres/lo_fi.yaml +129 -0
  98. package/livepilot/skills/livepilot-core/references/concepts/genres/microhouse.yaml +138 -0
  99. package/livepilot/skills/livepilot-core/references/concepts/genres/minimal-techno.yaml +116 -0
  100. package/livepilot/skills/livepilot-core/references/concepts/genres/modern-classical.yaml +123 -0
  101. package/livepilot/skills/livepilot-core/references/concepts/genres/soul.yaml +125 -0
  102. package/livepilot/skills/livepilot-core/references/concepts/genres/synthwave.yaml +123 -0
  103. package/livepilot/skills/livepilot-core/references/concepts/genres/techno.yaml +123 -0
  104. package/livepilot/skills/livepilot-core/references/concepts/genres/trap.yaml +120 -0
  105. package/livepilot/skills/livepilot-core/references/concepts/genres/uk-garage.yaml +121 -0
  106. package/livepilot/skills/livepilot-core/references/device-atlas/00-index.md +110 -0
  107. package/livepilot/skills/livepilot-core/references/device-atlas/distortion-and-character.md +687 -0
  108. package/livepilot/skills/livepilot-core/references/device-atlas/drums-and-percussion.md +753 -0
  109. package/livepilot/skills/livepilot-core/references/device-atlas/dynamics-and-punch.md +525 -0
  110. package/livepilot/skills/livepilot-core/references/device-atlas/eq-and-filtering.md +402 -0
  111. package/livepilot/skills/livepilot-core/references/device-atlas/midi-tools.md +963 -0
  112. package/livepilot/skills/livepilot-core/references/device-atlas/movement-and-modulation.md +874 -0
  113. package/livepilot/skills/livepilot-core/references/device-atlas/space-and-depth.md +571 -0
  114. package/livepilot/skills/livepilot-core/references/device-atlas/spectral-and-weird.md +714 -0
  115. package/livepilot/skills/livepilot-core/references/device-atlas/synths-native.md +953 -0
  116. package/livepilot/skills/livepilot-core/references/device-knowledge/00-index.md +34 -0
  117. package/livepilot/skills/livepilot-core/references/device-knowledge/automation-as-music.md +204 -0
  118. package/livepilot/skills/livepilot-core/references/device-knowledge/chains-genre.md +173 -0
  119. package/livepilot/skills/livepilot-core/references/device-knowledge/creative-thinking.md +211 -0
  120. package/livepilot/skills/livepilot-core/references/device-knowledge/effects-distortion.md +188 -0
  121. package/livepilot/skills/livepilot-core/references/device-knowledge/effects-space.md +162 -0
  122. package/livepilot/skills/livepilot-core/references/device-knowledge/effects-spectral.md +229 -0
  123. package/livepilot/skills/livepilot-core/references/device-knowledge/instruments-synths.md +243 -0
  124. package/livepilot/skills/livepilot-core/references/genre-vocabularies.md +382 -0
  125. package/livepilot/skills/livepilot-core/references/m4l-devices.md +352 -0
  126. package/livepilot/skills/livepilot-core/references/memory-guide.md +178 -0
  127. package/livepilot/skills/livepilot-core/references/midi-recipes.md +402 -0
  128. package/livepilot/skills/livepilot-core/references/mixing-patterns.md +578 -0
  129. package/livepilot/skills/livepilot-core/references/overview.md +300 -0
  130. package/livepilot/skills/livepilot-core/references/pack-knowledge.md +319 -0
  131. package/livepilot/skills/livepilot-core/references/sample-manipulation.md +724 -0
  132. package/livepilot/skills/livepilot-core/references/sound-design-deep.md +140 -0
  133. package/livepilot/skills/livepilot-core/references/sound-design.md +393 -0
  134. package/livepilot/skills/livepilot-corpus-builder/SKILL.md +379 -0
  135. package/livepilot/skills/livepilot-creative-director/SKILL.md +455 -0
  136. package/livepilot/skills/livepilot-creative-director/references/anti-repetition-rules.md +214 -0
  137. package/livepilot/skills/livepilot-creative-director/references/creative-brief-template.md +222 -0
  138. package/livepilot/skills/livepilot-creative-director/references/hybrid-compilation.md +185 -0
  139. package/livepilot/skills/livepilot-creative-director/references/move-family-diversity-rule.md +258 -0
  140. package/livepilot/skills/livepilot-creative-director/references/phase-6-execution.md +409 -0
  141. package/livepilot/skills/livepilot-creative-director/references/the-four-move-rule.md +192 -0
  142. package/livepilot/skills/livepilot-devices/SKILL.md +213 -0
  143. package/livepilot/skills/livepilot-devices/references/load_browser_item-uri-grammar.md +82 -0
  144. package/livepilot/skills/livepilot-evaluation/SKILL.md +195 -0
  145. package/livepilot/skills/livepilot-evaluation/references/capability-modes.md +176 -0
  146. package/livepilot/skills/livepilot-evaluation/references/evaluation-contracts.md +121 -0
  147. package/livepilot/skills/livepilot-evaluation/references/memory-promotion.md +110 -0
  148. package/livepilot/skills/livepilot-mix-engine/SKILL.md +136 -0
  149. package/livepilot/skills/livepilot-mix-engine/references/mix-critics.md +143 -0
  150. package/livepilot/skills/livepilot-mix-engine/references/mix-moves.md +105 -0
  151. package/livepilot/skills/livepilot-mixing/SKILL.md +157 -0
  152. package/livepilot/skills/livepilot-notes/SKILL.md +130 -0
  153. package/livepilot/skills/livepilot-performance-engine/SKILL.md +122 -0
  154. package/livepilot/skills/livepilot-performance-engine/references/performance-safety.md +98 -0
  155. package/livepilot/skills/livepilot-release/SKILL.md +151 -0
  156. package/livepilot/skills/livepilot-sample-engine/SKILL.md +117 -0
  157. package/livepilot/skills/livepilot-sample-engine/references/sample-critics.md +87 -0
  158. package/livepilot/skills/livepilot-sample-engine/references/sample-philosophy.md +51 -0
  159. package/livepilot/skills/livepilot-sample-engine/references/sample-techniques.md +131 -0
  160. package/livepilot/skills/livepilot-sound-design-engine/SKILL.md +225 -0
  161. package/livepilot/skills/livepilot-sound-design-engine/references/patch-model.md +119 -0
  162. package/livepilot/skills/livepilot-sound-design-engine/references/sound-design-critics.md +118 -0
  163. package/livepilot/skills/livepilot-wonder/SKILL.md +143 -0
  164. package/m4l_device/LivePilot_Analyzer.amxd +0 -0
  165. package/m4l_device/LivePilot_Elektron.amxd +0 -0
  166. package/m4l_device/LivePilot_Elektron.maxpat +758 -0
  167. package/m4l_device/livepilot_bridge.js +1 -1
  168. package/m4l_device/livepilot_elektron_bridge.js +82 -0
  169. package/mcp_server/__init__.py +1 -1
  170. package/mcp_server/composer/develop/apply.py +1 -1
  171. package/mcp_server/composer/full/apply.py +32 -6
  172. package/mcp_server/m4l_bridge.py +5 -0
  173. package/mcp_server/runtime/execution_router.py +6 -0
  174. package/mcp_server/runtime/mcp_dispatch.py +18 -0
  175. package/mcp_server/runtime/remote_commands.py +2 -0
  176. package/mcp_server/server.py +11 -7
  177. package/package.json +20 -5
  178. package/remote_script/LivePilot/__init__.py +1 -1
  179. package/remote_script/LivePilot/server.py +63 -2
  180. package/requirements.txt +3 -3
  181. package/server.json +3 -3
@@ -0,0 +1,98 @@
1
+ # Performance Safety Reference
2
+
3
+ Complete classification of every LivePilot action for live performance contexts.
4
+
5
+ ## Safe Actions (No Confirmation Needed)
6
+
7
+ | Action | Tool | Notes |
8
+ |--------|------|-------|
9
+ | Launch scene | `fire_scene` | Core performance action |
10
+ | Launch clip | `fire_clip` | Individual clip triggering |
11
+ | Stop clip | `stop_clip` | Individual clip stop |
12
+ | Stop track clips | `stop_track_clips` | Clear a track |
13
+ | Volume nudge (small) | `set_track_volume` | Delta <= 3 dB only |
14
+ | Send nudge | `set_track_send` | Small adjustments to reverb/delay throws |
15
+ | Macro nudge | `set_device_parameter` | On mapped macro controls only |
16
+ | Filter sweep | `set_device_parameter` | On Auto Filter frequency parameter |
17
+ | Mute toggle | `set_track_mute` | Non-destructive, reversible |
18
+ | Solo toggle | `set_track_solo` | Non-destructive, reversible |
19
+ | Pan nudge (small) | `set_track_pan` | Delta <= 0.2 only |
20
+ | Master volume | `set_master_volume` | For overall level control |
21
+ | Continue playback | `continue_playback` | Resume from pause |
22
+ | Jump to cue | `jump_to_cue` | Navigate arrangement cue points |
23
+ | Get state | `get_performance_state` | Read-only, always safe |
24
+ | Get playing clips | `get_playing_clips` | Read-only |
25
+ | Get scene matrix | `get_scene_matrix` | Read-only |
26
+ | Any get_* tool | various | All read-only tools are safe |
27
+
28
+ ## Caution Actions (Require Confirmation)
29
+
30
+ | Action | Tool | Risk |
31
+ |--------|------|------|
32
+ | Tempo nudge | `set_tempo` | May destabilize warped audio, synced plugins |
33
+ | Device toggle | `toggle_device` | May cause audio pop, click, or silence |
34
+ | Large pan move | `set_track_pan` | Disorienting for audience if sudden |
35
+ | Large volume jump | `set_track_volume` | Jarring if delta > 3 dB |
36
+ | Fire scene clips | `fire_scene_clips` | Selective scene launch, less predictable |
37
+ | Set scene tempo | `set_scene_tempo` | Changes tempo on next scene fire |
38
+
39
+ ### Confirmation Protocol
40
+
41
+ Present as: "[Action description]. Risk: [what could go wrong]. Confirm?"
42
+
43
+ Keep confirmations short during performance. One line maximum.
44
+
45
+ ## Blocked Actions (Never During Performance)
46
+
47
+ ### Device Chain Surgery
48
+ - `find_and_load_device` — loading causes audio thread hiccup
49
+ - `delete_device` — removing active device causes dropout
50
+ - `load_device_by_uri` — same as find_and_load
51
+ - `load_browser_item` — browser loading is unpredictable latency
52
+
53
+ ### Track Structure
54
+ - `create_midi_track` / `create_audio_track` / `create_return_track` — track creation pauses audio engine momentarily
55
+ - `delete_track` — data loss, audio interruption
56
+ - `duplicate_track` — CPU spike
57
+ - `set_track_routing` — routing changes can cause feedback or silence
58
+
59
+ ### Clip Editing
60
+ - `create_clip` / `delete_clip` / `duplicate_clip` — structural changes while playing
61
+ - `set_clip_loop` / `set_clip_warp_mode` / `quantize_clip` — property changes on playing clips
62
+ - `add_notes` / `modify_notes` / `remove_notes` — note editing mid-playback
63
+
64
+ ### Arrangement Editing
65
+ - All `*_arrangement_*` tools — arrangement view editing during performance
66
+ - `set_arrangement_automation` — automation lane changes
67
+
68
+ ### Heavy Operations
69
+ - `freeze_track` / `flatten_track` — CPU-intensive, blocks audio thread
70
+ - `start_recording` — may cause unexpected monitoring behavior
71
+ - `capture_audio` / `capture_midi` — resource-intensive
72
+
73
+ ### Data Operations
74
+ - `undo` / `redo` — unpredictable state reversion during live playback
75
+ - `memory_learn` / `memory_delete` — non-urgent, save for after the show
76
+ - `import_midi_to_clip` — file I/O during performance
77
+
78
+ ## Emergency Procedures
79
+
80
+ ### Audio Problem
81
+ 1. `set_track_mute(track_index, true)` on the problem track
82
+ 2. If problem persists: `set_master_volume(0.0)` for fade to silence
83
+ 3. Last resort: `stop_all_clips` for emergency silence
84
+
85
+ ### Feedback Loop
86
+ 1. `set_track_mute` on the suspected track immediately
87
+ 2. `set_track_send` to zero on all sends for that track
88
+ 3. Gradually unmute after identifying the routing issue
89
+
90
+ ### Wrong Scene Launched
91
+ 1. Immediately `fire_scene` on the correct scene
92
+ 2. Or `stop_all_clips` and restart from the correct point
93
+ 3. Do not use `undo` — it may revert more than intended
94
+
95
+ ### CPU Spike
96
+ 1. `set_track_mute` on the most CPU-heavy tracks (check `get_session_info` for device counts)
97
+ 2. `toggle_device` to bypass heavy effects (with caution confirmation skipped in emergency)
98
+ 3. If critical: `stop_all_clips` and restart with fewer active tracks
@@ -0,0 +1,151 @@
1
+ ---
2
+ name: livepilot-release
3
+ description: Release checklist for LivePilot — run before ANY push, publish, or "update everything" request. Covers every file, channel, and artifact that references version numbers, tool counts, or project state.
4
+ ---
5
+
6
+ # LivePilot Release Checklist
7
+
8
+ Run this checklist EVERY time the user says "update everything", "push", "release", "make sure everything is current", or similar.
9
+
10
+ ## 1. Version Strings (must ALL match)
11
+
12
+ - [ ] `package.json` → `"version"`
13
+ - [ ] `package-lock.json` → `"version"` (run `npm install --package-lock-only` if stale)
14
+ - [ ] `server.json` → `"version"` (TWO locations: top-level and package)
15
+ - [ ] `livepilot/.Codex-plugin/plugin.json` → `"version"` (primary Codex manifest)
16
+ - [ ] `livepilot/.claude-plugin/plugin.json` → `"version"` (must match Codex plugin)
17
+ - [ ] `.claude-plugin/marketplace.json` → `"version"` in plugins array
18
+ - [ ] `mcp_server/__init__.py` → `__version__`
19
+ - [ ] `remote_script/LivePilot/__init__.py` → `__version__` (log message auto-uses it)
20
+ - [ ] `m4l_device/livepilot_bridge.js` → version in ping response
21
+ - [ ] `CLAUDE.md` → header line
22
+ - [ ] `livepilot/skills/livepilot-core/references/overview.md` → header line
23
+ - [ ] `CHANGELOG.md` → latest version header
24
+ - [ ] `docs/assets/banner-dark.svg` and `docs/assets/banner-light.svg` → current tool/domain display
25
+ - [ ] `docs/M4L_BRIDGE.md` → ping response example
26
+
27
+ **How to check:** `grep -rn "1\.[0-9]\.[0-9]" package.json server.json livepilot/.Codex-plugin/plugin.json livepilot/.claude-plugin/plugin.json .claude-plugin/marketplace.json mcp_server/__init__.py remote_script/LivePilot/__init__.py m4l_device/livepilot_bridge.js CHANGELOG.md CLAUDE.md livepilot/skills/livepilot-core/references/overview.md docs/M4L_BRIDGE.md`
28
+
29
+ ## 2. Tool Count (must ALL match)
30
+
31
+ Current: **465 tools across 56 domains**.
32
+ Spectral/analyzer (bridge-only): **38**. All others: **292** (work without bridge, some with graceful fallbacks). Backed by 32 bridge commands.
33
+
34
+ Verify: `grep -rc "@mcp.tool" mcp_server/tools/ | grep -v ":0" | awk -F: '{sum+=$2} END{print sum}'`
35
+
36
+ Files that reference tool count:
37
+ - [ ] `README.md` — header ("465 tools. 56 domains"), bridge section ("38 spectral/analyzer tools require bridge")
38
+ - [ ] `package.json` → `"description"`
39
+ - [ ] `server.json` → `"description"`
40
+ - [ ] `manifest.json` → `"description"`
41
+ - [ ] `livepilot/.Codex-plugin/plugin.json` → `"description"` (primary Codex manifest)
42
+ - [ ] `livepilot/.claude-plugin/plugin.json` → `"description"` (must match Codex plugin)
43
+ - [ ] `.claude-plugin/marketplace.json` → `"description"`
44
+ - [ ] `CLAUDE.md` → "465 tools across 56 domains"
45
+ - [ ] `CONTRIBUTING.md` → tool count in intro
46
+ - [ ] `livepilot/skills/livepilot-core/SKILL.md` — tool/domain count
47
+ - [ ] `livepilot/skills/livepilot-core/references/overview.md` — tool/domain count
48
+ - [ ] `docs/manual/index.md` — domain table with correct per-domain counts
49
+ - [ ] `docs/manual/getting-started.md` — bridge copy (avoid hard numeric core/bridge split — use "38 spectral tools require bridge")
50
+ - [ ] `docs/manual/tool-reference.md` — all domains present with correct counts
51
+ - [ ] `docs/manual/tool-catalog.md` — auto-regenerated by `python3 scripts/sync_metadata.py --fix`
52
+ (raw generator is `python3 scripts/generate_tool_catalog.py > docs/manual/tool-catalog.md`,
53
+ but you should never need to call it directly — `--fix` invokes it at the end of the chain
54
+ after the count bumps so the catalog stays coherent with the live `mcp.list_tools()` registry)
55
+ - [ ] `docs/M4L_BRIDGE.md` — bridge copy (avoid hard numeric core/bridge split — use "38 spectral tools require bridge")
56
+ - [ ] `docs/assets/banner-dark.svg` and `docs/assets/banner-light.svg`
57
+ - [ ] `tests/test_tools_contract.py` → expected total count
58
+ - [ ] `tests/test_skill_contracts.py` → catalog sync test passes
59
+
60
+ **How to check:** `grep -rn "168\|139\|135\|127\|115\|107" --include="*.md" --include="*.json" --include="*.py" --include="*.html" . | grep -v node_modules | grep -v .git | grep -v __pycache__ | grep -v CHANGELOG`
61
+
62
+ ## 3. Domain Count
63
+
64
+ Current: **56 domains**: transport, tracks, clips, notes, devices, scenes, mixing, browser, arrangement, memory, analyzer, automation, theory, generative, harmony, midi_io, perception, agent_os, composition, motif, research, planner, project_brain, runtime, evaluation, mix_engine, sound_design, transition_engine, reference_engine, translation_engine, performance_engine, song_brain, preview_studio, hook_hunter, stuckness_detector, wonder_mode, session_continuity, creative_constraints, device_forge, sample_engine, atlas, composer, experiment, musical_intelligence, semantic_moves, diagnostics, follow_actions, grooves, scales, take_lanes, miditool, synthesis_brain, creative_director, user_corpus, audit, grader.
65
+
66
+ - [ ] All files that mention domain count say "56 domains"
67
+ - [ ] Domain lists include ALL 45 (especially newer domains — they're the most often omitted)
68
+
69
+ ## 4. npm Registry
70
+
71
+ - [ ] `npm view livepilot version` matches local version
72
+ - [ ] If not: `npm publish`
73
+
74
+ ## 5. GitHub
75
+
76
+ - [ ] Repo description matches current tool count and features (`gh repo edit dreamrec/LivePilot --description "..."`)
77
+ - [ ] Topics are current (should include: ai, mcp, ableton, livepilot, max-for-live, audio-analysis)
78
+ - [ ] Latest release matches current version (`gh release list`)
79
+ - [ ] Release notes are current
80
+ - [ ] **NEW VERSION shows `Latest` flag in `gh release list`** — not just `Draft`. If a tag was deleted-then-recreated during release recovery (e.g., to move the tag to a fix commit), GitHub silently demotes the attached release to Draft AND clears its Latest flag. The release object survives (asset + body preserved) but the public-facing "what's the latest version" badge stays on the prior release. Fix in one call:
81
+ ```bash
82
+ gh release edit v${VERSION} --draft=false --latest
83
+ ```
84
+ This trap caught v1.18.0-era recovery and the v1.25.0 .amxd-freeze fix recovery. **Always re-verify after a tag-recreate flow.**
85
+
86
+ ## 6. Plugin Cache
87
+
88
+ - [ ] `~/.claude/plugins/cache/dreamrec-LivePilot/livepilot/` has current version directory
89
+ - [ ] Old version directories removed
90
+ - [ ] `~/.claude/plugins/installed_plugins.json` → `livepilot@dreamrec-LivePilot` entry: update `version`, `installPath`, `gitCommitSha`, `lastUpdated`
91
+
92
+ ## 7. Social/Promotional Assets
93
+
94
+ - [ ] `docs/assets/banner-dark.svg` and `docs/assets/banner-light.svg` — tool count and domain list
95
+ - [ ] GitHub repo social preview image (Settings > Social preview)
96
+
97
+ ## 8. Documentation Content
98
+
99
+ - [ ] `README.md` — features match current capabilities, "Coming" section is accurate
100
+ - [ ] `docs/manual/getting-started.md` — install instructions current
101
+ - [ ] `docs/manual/tool-reference.md` — all 56 domains listed, all 465 tools present
102
+ - [ ] `docs/M4L_BRIDGE.md` — architecture accurate, core/bridge counts correct
103
+
104
+ ## 9. Derived Artifacts
105
+
106
+ - [ ] `m4l_device/LivePilot_Analyzer.amxd` — frozen JS matches source? All commands present?
107
+ - [ ] If `livepilot_bridge.js` changed → amxd needs rebuilding in Max editor
108
+ - [ ] `dist/livepilot-${VERSION}.mcpb` — MCPB bundle for Claude Desktop one-click install.
109
+ **REQUIRED for every release** — the README's "Easiest: Claude Desktop Extension (1 click)"
110
+ path points at this asset. From v1.17 through v1.20.2 every release silently shipped
111
+ without it; v1.20.3+ MUST attach the bundle to the GitHub release.
112
+ ```bash
113
+ # Build (produces dist/livepilot-${VERSION}.mcpb — versioned, in dist/, ~4-5 MB)
114
+ bash scripts/build_mcpb.sh
115
+
116
+ # Attach to the release (run after `gh release create`)
117
+ VERSION=$(python3 -c "import json; print(json.load(open('manifest.json'))['version'])")
118
+ gh release upload "v${VERSION}" "dist/livepilot-${VERSION}.mcpb" --clobber
119
+ ```
120
+ The script stages `manifest.json` + `bin/livepilot.js` + `mcp_server/` + `remote_script/`
121
+ + `m4l_device/` + `installer/` + `requirements.txt`, strips `__pycache__`/`*.pyc`/`.DS_Store`,
122
+ zips into `dist/`, and verifies the embedded manifest name+version+entry_point.
123
+
124
+ ## 10. Code Consistency
125
+
126
+ - [ ] `@mcp.tool()` count matches documented tool count: `grep -r "@mcp.tool" mcp_server/tools/ | wc -l`
127
+ - [ ] No dead imports or unused code in recently changed files
128
+ - [ ] Remote script version matches MCP server version
129
+ - [ ] All tests pass: `python3 -m pytest tests/ -v`
130
+
131
+ ## 11. Automated Checks
132
+
133
+ - [ ] `python scripts/sync_metadata.py --check` — all metadata in sync
134
+ - [ ] `python -m pytest tests/test_command_boundary_audit.py` — no invalid TCP targets
135
+ - [ ] `python -m pytest tests/test_move_annotations.py` — all moves annotated
136
+ - [ ] `python -m pytest tests/test_capability.py` — capability contract works
137
+ - [ ] `python -m pytest tests/test_capability_probe.py` — doctor probe works
138
+
139
+ ## 12. Release Smoke Board
140
+
141
+ - [ ] Run through `docs/archive/release-smoke-board-v1.10-era.md` scenarios
142
+ against a real Ableton session (archived — still a useful pre-flight
143
+ checklist even if written against v1.10 tool surface)
144
+ - [ ] All preview modes correctly labeled (audible/metadata/analytical)
145
+ - [ ] Persistence survives server restart
146
+
147
+ ## Quick Verify Command
148
+
149
+ ```bash
150
+ echo "=== Versions ===" && grep -h '"version"' package.json server.json manifest.json livepilot/.Codex-plugin/plugin.json livepilot/.claude-plugin/plugin.json .claude-plugin/marketplace.json | head -8 && grep __version__ mcp_server/__init__.py remote_script/LivePilot/__init__.py && echo "=== Tool count ===" && grep -rc "@mcp.tool" mcp_server/ | grep -v ":0" | awk -F: '{sum+=$2} END{print "Total:", sum}' && echo "=== Tests ===" && python3 -m pytest tests/ -q 2>&1 | tail -1
151
+ ```
@@ -0,0 +1,117 @@
1
+ ---
2
+ name: livepilot-sample-engine
3
+ description: >
4
+ This skill should be used when the user asks to "sample", "chop",
5
+ "slice a loop", "find me a sample", "load a sample", "flip this",
6
+ "resample", "vocal chop", "found sound", "texture from", "turn this into",
7
+ "break", "one-shot", "load into Simpler", or when get_sample_opportunities
8
+ finds gaps in the song's sample usage.
9
+ ---
10
+
11
+ # Sample Engine — AI Sample Manipulation for Ableton Live
12
+
13
+ The Sample Engine is LivePilot's intelligence layer for sample discovery,
14
+ analysis, critique, and creative manipulation. It turns raw samples into
15
+ musical elements through 29 techniques drawn from Dilla, Burial, Amon Tobin,
16
+ Four Tet, and DJ Premier.
17
+
18
+ ## Philosophy: Surgeon vs Alchemist
19
+
20
+ Every sample workflow is guided by one of two philosophies:
21
+
22
+ - **Surgeon** — Precision. Match key, align tempo, carve frequencies, blend
23
+ seamlessly. The sample should sound like it was always part of the track.
24
+ - **Alchemist** — Transformation. Reverse, stretch, destroy, rebuild.
25
+ The original creator shouldn't recognize their sample.
26
+ - **Auto** (default) — Context decides. Building a clean layer? Surgeon.
27
+ Stuck and need surprise? Alchemist. The critics and intent determine which.
28
+
29
+ ## 6 MCP Tools
30
+
31
+ | Tool | Purpose |
32
+ |------|---------|
33
+ | `analyze_sample` | Build SampleProfile — material type, key, BPM, recommendations |
34
+ | `evaluate_sample_fit` | 6-critic battery — key, tempo, frequency, role, vibe, intent fit |
35
+ | `search_samples` | Search Splice library, Ableton browser, and local filesystem |
36
+ | `suggest_sample_technique` | Recommend techniques from the 29-recipe library |
37
+ | `plan_sample_workflow` | End-to-end plan: analyze + critique + technique + compiled steps |
38
+ | `get_sample_opportunities` | Analyze song for where samples could improve it |
39
+
40
+ ## Workflow Modes
41
+
42
+ ### Direct Request
43
+ User asks to do something specific with a sample:
44
+ ```
45
+ "Chop this vocal into a rhythm"
46
+ -> analyze_sample -> evaluate_sample_fit(intent="rhythm")
47
+ -> suggest_sample_technique -> execute
48
+ ```
49
+
50
+ ### Discovery Mode
51
+ User wants to find and use a sample:
52
+ ```
53
+ "Find me a dark vocal for this track"
54
+ -> search_samples(query="dark vocal") -> present candidates
55
+ -> user picks -> analyze -> critique -> plan -> execute
56
+ ```
57
+
58
+ ### Wonder Mode Integration
59
+ When stuck, Wonder Mode can suggest sample-based variants:
60
+ - 6 sample-domain semantic moves in the registry
61
+ - Compiled plans require agent to supply `file_path` from prior `search_samples` results
62
+ - Diagnosis detects: no_organic_texture, stale_drums, dense_but_static
63
+ - Note: Wonder does not yet auto-call `search_samples` — the agent must chain the calls
64
+
65
+ ## Golden Rules
66
+
67
+ 1. **Always analyze before loading** — `analyze_sample` tells you what
68
+ the material is before you commit to a technique
69
+ 2. **Always critique before executing** — `evaluate_sample_fit` catches
70
+ key clashes, tempo mismatches, and frequency masking before they happen
71
+ 3. **Respect the intent** — "rhythm" and "texture" need different approaches
72
+ even for the same sample
73
+ 4. **Start from the nearest technique** — don't improvise a workflow when
74
+ a proven recipe exists in the library
75
+ 5. **Present both plans** — surgeon and alchemist. Let the user choose.
76
+
77
+ ## Material Types
78
+
79
+ | Type | Detection | Best Simpler Mode | Best Warp Mode |
80
+ |------|-----------|-------------------|----------------|
81
+ | vocal | "vocal", "vox", "voice" in name | Slice (Region) | Complex Pro |
82
+ | drum_loop | "drum", "break", "beat" in name | Slice (Transient) | Beats |
83
+ | instrument_loop | "guitar", "piano", "synth" | Slice (Beat) | Complex Pro |
84
+ | one_shot | "kick", "snare", "clap", short | Classic | Complex |
85
+ | texture | "ambient", "pad", "drone" | Classic | Texture |
86
+ | foley | "foley", "field", "recording" | Classic | Texture |
87
+ | fx | "fx", "riser", "sweep" | Classic | Complex |
88
+ | full_mix | full mix, long duration | Slice (Beat) | Complex Pro |
89
+
90
+ ## 6 Sample Critics
91
+
92
+ Each scores 0.0-1.0 on one dimension of fitness:
93
+
94
+ 1. **Key Fit** — Circle-of-fifths distance from song key
95
+ 2. **Tempo Fit** — BPM match including half/double time
96
+ 3. **Frequency Fit** — Spectral overlap with existing mix
97
+ 4. **Role Fit** — Does this fill a missing role in the song?
98
+ 5. **Vibe Fit** — Taste graph alignment (if evidence exists)
99
+ 6. **Intent Fit** — Does the material serve the stated goal?
100
+
101
+ ## Beyond Simpler — Sample-Adjacent Instruments in the Library
102
+
103
+ Simpler is the default sample container, but the installed packs ship instruments that change the *physics* of what playback means. When the user reaches for "more texture" / "less recognizable" / "evolving" / "grain" / "drone bed", consider these before defaulting to Simpler + warp:
104
+
105
+ - **Granulator III** (Live Suite, requires Live 12.0+ Max for Live) — Robert Henke's granular synth. Three modes: **Classic** (Granulator II engine), **Loop** (rhythmic playback), **Cloud** (up to 20 unsynced overlapping grains). MPE per-note control of grain size/shape/position. **Built-in real-time audio capture** — can grain whatever is currently playing in the session in one click. 59 presets. Reach for it when the user wants a sample to evolve, smear, or stop sounding like itself.
106
+ - **PitchLoop89** (Live Suite) — Henke / Publison DHM 89 emulation. Two independent pitch-shifting delay voices, ±24 semitones, fine ±1 semitone, per-voice feedback / pan / reverse. The right tool when "shimmer", "detuned cloud", or "pitched echo" describes the goal.
107
+ - **Drone Lab's Harmonic Drone Generator** — 8-voice M4L synth (Expert Math). Multiple tuning systems including just intonation, Pythagorean, Indonesian Pelog. The right tool when the source isn't a sample at all but a sustained tonal bed under whatever's already playing.
108
+ - **Lost and Found multisamples** — music box, mid-century Capri fan organ, DIY plastic guitar, melodica, kazoo, metal xylophone, plus 7 Drum Racks built from everyday objects (steel water bottle, analog clock, submerged objects). When the user wants found-sound character without recording their own.
109
+
110
+ These are awareness, not prescription — pick the one that fits the moment. Don't lock in a chain.
111
+
112
+ ## Reference Docs
113
+
114
+ - `references/sample-techniques.md` — Full 29-technique catalog
115
+ - `references/sample-critics.md` — Critic scoring details
116
+ - `references/sample-philosophy.md` — Surgeon vs Alchemist guide
117
+ - `docs/research/2026-04-22-ableton-packs-deep-analysis.md` — Per-pack capabilities (44 installed packs scored against minimal/dub/cinematic aesthetic)
@@ -0,0 +1,87 @@
1
+ # Sample Critics — Scoring Reference
2
+
3
+ ## Key Fit Critic
4
+
5
+ Uses circle-of-fifths distance between sample key and song key.
6
+
7
+ | Distance | Score | Relationship | Action |
8
+ |----------|-------|-------------|--------|
9
+ | 0 fifths | 1.0 | Same key | Load directly |
10
+ | 1 fifth | 0.85 | Relative major/minor, dominant/subdominant | Layer with care |
11
+ | 2 fifths | 0.7 | Closely related | Works for most intents |
12
+ | 3 fifths | 0.55 | Moderately distant | Transpose or use as texture |
13
+ | 4 fifths | 0.4 | Distant | Heavy filtering needed |
14
+ | 5+ fifths | 0.25-0.3 | Chromatic clash | Intentional tension only |
15
+ | Unknown | 0.0 | Key not detected | Verify by ear |
16
+
17
+ **Weight adjustment:** For "texture" intent, key_fit weight drops 50% (pitch matters less).
18
+
19
+ ## Tempo Fit Critic
20
+
21
+ Compares sample BPM against session tempo including half/double time relationships.
22
+
23
+ | Deviation | Score | Action |
24
+ |-----------|-------|--------|
25
+ | <1% | 1.0 | Exact match, no warping |
26
+ | <2% | 0.95 | Near-exact, minimal warp |
27
+ | <5% | 0.8 | Light warp, quality preserved |
28
+ | <10% | 0.6 | Moderate warp, choose mode carefully |
29
+ | <15% | 0.4 | Significant — use Texture mode for ambient |
30
+ | >15% | 0.2 | Extreme — texture use only |
31
+ | Half time | 0.9 | Set warp to half-time |
32
+ | Double time | 0.9 | Set warp to double-time |
33
+ | Unknown | 0.0 | Estimate from onsets or verify |
34
+
35
+ ## Frequency Fit Critic
36
+
37
+ Requires M4L bridge spectral data. Without it, returns neutral 0.5.
38
+
39
+ | Situation | Score | Action |
40
+ |-----------|-------|--------|
41
+ | Fills empty frequency gap | 1.0 | Perfect complement |
42
+ | Partial overlap, manageable | 0.7 | Suggest EQ carving |
43
+ | Heavy masking | 0.3 | Aggressive filtering or texture use |
44
+ | Full spectrum into dense mix | 0.1 | Transformation source only |
45
+
46
+ ## Role Fit Critic
47
+
48
+ Cross-references material_type against existing track names/roles.
49
+
50
+ | Situation | Score | Action |
51
+ |-----------|-------|--------|
52
+ | Fills missing role | 1.0 | "No percussion texture — this fills the gap" |
53
+ | Complements existing | 0.7 | "Adds variety to palette" |
54
+ | Redundant | 0.3 | "Already 3 synth layers — use as texture" |
55
+
56
+ ## Vibe Fit Critic
57
+
58
+ Uses TasteGraph when evidence exists (>0 entries). Otherwise neutral 0.5.
59
+
60
+ Compares brightness, density, complexity of sample against user's taste profile.
61
+
62
+ ## Intent Fit Critic
63
+
64
+ Compatibility matrix — how well the material serves the stated intent:
65
+
66
+ | Material \ Intent | rhythm | texture | layer | melody | vocal | atmosphere | transform |
67
+ |-------------------|--------|---------|-------|--------|-------|------------|-----------|
68
+ | vocal | 0.6 | 0.6 | 0.8 | 0.9 | 1.0 | 0.5 | 0.9 |
69
+ | drum_loop | 1.0 | 0.5 | 0.6 | 0.2 | — | 0.3 | 0.9 |
70
+ | instrument_loop | 0.5 | 0.6 | 1.0 | 1.0 | 0.3 | 0.5 | 0.9 |
71
+ | one_shot | 0.9 | 0.4 | 0.3 | 0.5 | — | 0.3 | 0.8 |
72
+ | texture | 0.2 | 1.0 | 0.7 | 0.3 | 0.2 | 1.0 | 0.8 |
73
+ | foley | 0.5 | 0.8 | 0.4 | — | — | 0.9 | 0.8 |
74
+ | fx | 0.3 | 0.7 | 0.3 | — | — | 0.8 | 0.7 |
75
+
76
+ ## Composite Score
77
+
78
+ Default weights:
79
+ ```
80
+ overall = key_fit(0.20) + tempo_fit(0.20) + frequency_fit(0.20)
81
+ + role_fit(0.15) + vibe_fit(0.10) + intent_fit(0.15)
82
+ ```
83
+
84
+ Weights shift by intent:
85
+ - **texture/atmosphere:** key_fit 0.10, tempo_fit 0.10, frequency_fit 0.25
86
+ - **rhythm:** tempo_fit 0.25, key_fit 0.10
87
+ - **melody:** key_fit 0.30, intent_fit 0.20
@@ -0,0 +1,51 @@
1
+ # Surgeon vs Alchemist — The Dual Philosophy
2
+
3
+ ## When to be a Surgeon
4
+
5
+ The sample should serve the song without drawing attention to itself.
6
+
7
+ - **Building a clean layer** — matching key, tempo, frequency
8
+ - **Adding percussion variety** — break layering under existing drums
9
+ - **Key-matched melodic layers** — transpose and blend
10
+ - **Chord stab extraction** — isolate and retrigger cleanly
11
+ - **User says:** "blend", "layer", "match", "fit", "complement"
12
+
13
+ **Surgeon priorities:** Key accuracy > tempo precision > frequency carving > volume balance
14
+
15
+ ## When to be an Alchemist
16
+
17
+ The sample is raw material for transformation. The result should surprise.
18
+
19
+ - **Stuck on a boring section** — inject chaos via destruction
20
+ - **Need organic texture** — reverse, stretch, scatter
21
+ - **Vocal as instrument** — chop syllables into rhythm
22
+ - **One-sample challenge** — constraint breeds creativity
23
+ - **User says:** "flip", "destroy", "mangle", "transform", "surprise me"
24
+
25
+ **Alchemist priorities:** Novelty > texture > emotion > originality
26
+
27
+ ## Auto Mode Decision Tree
28
+
29
+ ```
30
+ User said "blend/layer/match/fit"? -> Surgeon
31
+ User said "flip/destroy/mangle/weird"? -> Alchemist
32
+ Wonder Mode (stuck rescue)? -> Alchemist
33
+ Intent is "texture" or "atmosphere"? -> Alchemist
34
+ Intent is "layer" or "melody"? -> Surgeon
35
+ Intent is "rhythm"? -> Both available, lean Surgeon for drums, Alchemist for vocals
36
+ Intent is "transform" or "challenge"? -> Alchemist
37
+ No clear signal? -> Present both, let user choose
38
+ ```
39
+
40
+ ## The Masters
41
+
42
+ | Producer | Philosophy | Signature |
43
+ |----------|-----------|-----------|
44
+ | J Dilla | Both | Surgical chop points, alchemical timing/swing |
45
+ | Burial | Alchemist | Ghostly vocal fragments, vinyl crackle as instrument |
46
+ | Amon Tobin | Alchemist | 80+ samples per track, serial destruction |
47
+ | Four Tet | Alchemist | Found-sound countermelody, collage composition |
48
+ | DJ Premier | Surgeon | Perfect stab isolation, rhythmic precision |
49
+ | Madlib | Alchemist | Blind crate digging, cross-genre flipping |
50
+ | RZA | Both | Cinematic soul sampling with dialogue and detuning |
51
+ | Bon Iver | Surgeon | Pitch-shifted vocal stacks, harmonic layering |
@@ -0,0 +1,131 @@
1
+ # Sample Technique Catalog — 29 Recipes
2
+
3
+ ## Category 1: Rhythmic Sampling
4
+
5
+ ### slice_and_sequence (Surgeon)
6
+ Classic MPC workflow: load loop, slice on transients, sequence with MIDI.
7
+ **Material:** drum_loop, full_mix | **Steps:** load -> slice -> get slices -> create clip -> add notes
8
+
9
+ ### vocal_chop_rhythm (Alchemist)
10
+ Chop vocal into syllable-length slices, trigger as staccato rhythm. Burial-inspired.
11
+ **Material:** vocal | **Steps:** load -> slice by region -> MIDI staccato -> Auto Filter
12
+
13
+ ### micro_chop (Alchemist)
14
+ 1/32 slices, varied velocity, slight timing offsets. J Dilla micro-timing.
15
+ **Material:** any loop | **Steps:** load -> manual slice -> dense 1/32 MIDI
16
+
17
+ ### stab_isolation (Surgeon)
18
+ Isolate single chord stab, crop, retrigger rhythmically. DJ Premier style.
19
+ **Material:** full_mix, instrument_loop | **Steps:** load -> classic mode -> crop -> MIDI
20
+
21
+ ### euclidean_slice_trigger (Alchemist)
22
+ Map Simpler slices to Euclidean rhythm for polyrhythmic texture.
23
+ **Material:** drum_loop, vocal, instrument_loop | **Steps:** load -> slice -> Euclidean pattern
24
+
25
+ ## Category 2: Textural Transformation
26
+
27
+ ### extreme_stretch (Alchemist)
28
+ Paulstretch-style: Texture warp at 10-50x, reverb wash. Stars of the Lid territory.
29
+ **Material:** any | **Steps:** load -> warp 64 beats -> Reverb 60-80% wet
30
+
31
+ ### drum_to_pad (Alchemist)
32
+ Reverse + extreme stretch + reverb = drum hit becomes ambient pad.
33
+ **Material:** drum_loop, one_shot | **Steps:** load -> reverse -> stretch -> Reverb
34
+
35
+ ### reverse_layer (Alchemist)
36
+ Reversed sample as pre-echo swell or ghostly texture.
37
+ **Material:** vocal, instrument_loop, one_shot | **Steps:** load -> reverse -> Delay
38
+
39
+ ### granular_scatter (Alchemist)
40
+ Grain Delay as granular engine — scatter grains for cloud textures. Amon Tobin.
41
+ **Material:** vocal, instrument_loop, texture | **Steps:** load -> Grain Delay -> Reverb
42
+
43
+ ### spectral_freeze (Alchemist)
44
+ Crop to tiny region (50-200ms), extreme stretch = spectral freeze drone.
45
+ **Material:** vocal, instrument_loop, full_mix | **Steps:** load -> crop -> stretch 64 beats
46
+
47
+ ### tail_harvest (Alchemist)
48
+ Resample only the reverb/delay tail as independent texture.
49
+ **Material:** any | **Steps:** load -> Reverb 100% wet -> level for subtle layer
50
+
51
+ ## Category 3: Melodic/Harmonic
52
+
53
+ ### key_matched_layer (Surgeon)
54
+ Transpose to song key, EQ carve, blend behind existing elements.
55
+ **Material:** instrument_loop | **Steps:** load -> transpose -> EQ -> volume -6 to -10dB
56
+
57
+ ### vocal_harmony_stack (Surgeon)
58
+ Pitch-shifted vocal layers — Bon Iver Prismizer approach.
59
+ **Material:** vocal | **Steps:** load -> duplicate -> transpose +3/+5/+7 -> blend
60
+
61
+ ### counterpoint_from_chops (Alchemist)
62
+ Create countermelody from rearranged melodic fragments. Four Tet.
63
+ **Material:** instrument_loop, vocal, full_mix | **Steps:** load -> slice by beat -> program melody
64
+
65
+ ### chord_stab_extraction (Surgeon)
66
+ Isolate chord from full mix, crop, retrigger. Classic house/disco.
67
+ **Material:** full_mix, instrument_loop | **Steps:** load -> slice -> crop -> rhythmic pattern
68
+
69
+ ## Category 4: Drum Enhancement
70
+
71
+ ### break_layering (Surgeon)
72
+ Layer drum break under programmed drums. High-pass to avoid kick clash.
73
+ **Material:** drum_loop | **Steps:** load -> warp 16 beats -> EQ HP 200-400Hz -> volume -10 to -15dB
74
+
75
+ ### ghost_note_texture (Alchemist)
76
+ Heavy filter + low volume = barely audible ghost-note layer.
77
+ **Material:** drum_loop | **Steps:** load -> Auto Filter BP 1-4kHz -> volume -18 to -24dB
78
+
79
+ ### transient_replacement (Surgeon)
80
+ Layer one-shot transient over existing drums for punch.
81
+ **Material:** one_shot | **Steps:** load -> classic mode -> MIDI on kick/snare hits
82
+
83
+ ### shuffle_extract (Alchemist)
84
+ Extract groove timing from loop via slice positions, apply to MIDI.
85
+ **Material:** drum_loop | **Steps:** load -> slice by transient -> read positions
86
+
87
+ ## Category 5: Vocal Processing
88
+
89
+ ### syllable_instrument (Alchemist)
90
+ Each syllable = playable note. Vocal becomes a melodic instrument.
91
+ **Material:** vocal | **Steps:** load -> slice by region -> program melody across slices
92
+
93
+ ### formant_shift_character (Alchemist)
94
+ Shift formants for alien/robotic character. Transpose +/-12st.
95
+ **Material:** vocal | **Steps:** load -> transpose -> Corpus for resonant body
96
+
97
+ ### vocal_freeze_drone (Alchemist)
98
+ Sustain one vowel as ambient pad. Crop tiny region, extreme stretch.
99
+ **Material:** vocal | **Steps:** load -> crop 100-300ms -> stretch 64 beats -> Chorus -> Reverb
100
+
101
+ ### phone_recording_texture (Alchemist)
102
+ Burial signature: pitch down, lo-pass, ghost-level volume.
103
+ **Material:** vocal, foley | **Steps:** load -> pitch -5 to -12 -> LP 800Hz -> volume -20 to -30dB
104
+
105
+ ## Category 6: Resampling Chains
106
+
107
+ ### serial_resample (Alchemist)
108
+ Multi-pass destruction: Saturator + Grain Delay + Reverb, freeze, flatten, repeat.
109
+ **Material:** any | **Steps:** load -> Saturator -> Grain Delay -> Reverb -> freeze -> flatten
110
+
111
+ ### parallel_resample (Alchemist)
112
+ Duplicate, process one copy destructively, blend wet/dry.
113
+ **Material:** any | **Steps:** load -> duplicate -> process duplicate -> blend -6 to -12dB
114
+
115
+ ### freeze_flatten_rechop (Alchemist)
116
+ Freeze processed material, flatten to audio, re-slice the result. Recursive.
117
+ **Material:** any | **Steps:** freeze -> flatten -> re-load into Simpler -> slice again
118
+
119
+ ## Category 7: Creative Constraints
120
+
121
+ ### one_sample_challenge (Alchemist)
122
+ Build entire beat from one sample: kick, snare, hat, bass, pad all from slices.
123
+ **Material:** any | **Steps:** load -> slice -> program full beat across slice pitches
124
+
125
+ ### found_sound_only (Alchemist)
126
+ Non-musical field recordings as sole source material. Musique concrete.
127
+ **Material:** foley | **Steps:** load -> slice -> EQ to isolate musical frequencies
128
+
129
+ ### reverse_engineering (Both)
130
+ Recreate a reference track's texture by sampling and transforming similar elements.
131
+ **Material:** full_mix | **Steps:** load -> slice by beat -> analyze structure