livepilot 1.9.23 → 1.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (191) hide show
  1. package/.claude-plugin/marketplace.json +3 -3
  2. package/AGENTS.md +3 -3
  3. package/CHANGELOG.md +119 -0
  4. package/CONTRIBUTING.md +1 -1
  5. package/README.md +144 -13
  6. package/bin/livepilot.js +87 -0
  7. package/installer/codex.js +147 -0
  8. package/livepilot/.Codex-plugin/plugin.json +2 -2
  9. package/livepilot/.claude-plugin/plugin.json +2 -2
  10. package/livepilot/skills/livepilot-core/SKILL.md +21 -4
  11. package/livepilot/skills/livepilot-core/references/device-knowledge/00-index.md +34 -0
  12. package/livepilot/skills/livepilot-core/references/device-knowledge/automation-as-music.md +204 -0
  13. package/livepilot/skills/livepilot-core/references/device-knowledge/chains-genre.md +173 -0
  14. package/livepilot/skills/livepilot-core/references/device-knowledge/creative-thinking.md +211 -0
  15. package/livepilot/skills/livepilot-core/references/device-knowledge/effects-distortion.md +188 -0
  16. package/livepilot/skills/livepilot-core/references/device-knowledge/effects-space.md +162 -0
  17. package/livepilot/skills/livepilot-core/references/device-knowledge/effects-spectral.md +229 -0
  18. package/livepilot/skills/livepilot-core/references/device-knowledge/instruments-synths.md +243 -0
  19. package/livepilot/skills/livepilot-core/references/overview.md +13 -9
  20. package/livepilot/skills/livepilot-core/references/sample-manipulation.md +724 -0
  21. package/livepilot/skills/livepilot-core/references/sound-design-deep.md +140 -0
  22. package/livepilot/skills/livepilot-devices/SKILL.md +16 -2
  23. package/livepilot/skills/livepilot-evaluation/references/capability-modes.md +1 -1
  24. package/livepilot/skills/livepilot-release/SKILL.md +19 -5
  25. package/livepilot/skills/livepilot-sample-engine/SKILL.md +104 -0
  26. package/livepilot/skills/livepilot-sample-engine/references/sample-critics.md +87 -0
  27. package/livepilot/skills/livepilot-sample-engine/references/sample-philosophy.md +51 -0
  28. package/livepilot/skills/livepilot-sample-engine/references/sample-techniques.md +131 -0
  29. package/livepilot/skills/livepilot-sound-design-engine/SKILL.md +45 -0
  30. package/livepilot/skills/livepilot-wonder/SKILL.md +15 -0
  31. package/livepilot.mcpb +0 -0
  32. package/m4l_device/livepilot_bridge.js +1 -1
  33. package/manifest.json +2 -2
  34. package/mcp_server/__init__.py +1 -1
  35. package/mcp_server/atlas/__init__.py +357 -0
  36. package/mcp_server/atlas/device_atlas.json +44067 -0
  37. package/mcp_server/atlas/enrichments/__init__.py +111 -0
  38. package/mcp_server/atlas/enrichments/audio_effects/auto_filter.yaml +162 -0
  39. package/mcp_server/atlas/enrichments/audio_effects/beat_repeat.yaml +183 -0
  40. package/mcp_server/atlas/enrichments/audio_effects/channel_eq.yaml +126 -0
  41. package/mcp_server/atlas/enrichments/audio_effects/chorus_ensemble.yaml +149 -0
  42. package/mcp_server/atlas/enrichments/audio_effects/color_limiter.yaml +109 -0
  43. package/mcp_server/atlas/enrichments/audio_effects/compressor.yaml +159 -0
  44. package/mcp_server/atlas/enrichments/audio_effects/convolution_reverb.yaml +143 -0
  45. package/mcp_server/atlas/enrichments/audio_effects/convolution_reverb_pro.yaml +178 -0
  46. package/mcp_server/atlas/enrichments/audio_effects/delay.yaml +151 -0
  47. package/mcp_server/atlas/enrichments/audio_effects/drum_buss.yaml +142 -0
  48. package/mcp_server/atlas/enrichments/audio_effects/dynamic_tube.yaml +147 -0
  49. package/mcp_server/atlas/enrichments/audio_effects/echo.yaml +167 -0
  50. package/mcp_server/atlas/enrichments/audio_effects/eq_eight.yaml +148 -0
  51. package/mcp_server/atlas/enrichments/audio_effects/eq_three.yaml +121 -0
  52. package/mcp_server/atlas/enrichments/audio_effects/erosion.yaml +103 -0
  53. package/mcp_server/atlas/enrichments/audio_effects/filter_delay.yaml +173 -0
  54. package/mcp_server/atlas/enrichments/audio_effects/gate.yaml +130 -0
  55. package/mcp_server/atlas/enrichments/audio_effects/gated_delay.yaml +133 -0
  56. package/mcp_server/atlas/enrichments/audio_effects/glue_compressor.yaml +142 -0
  57. package/mcp_server/atlas/enrichments/audio_effects/grain_delay.yaml +141 -0
  58. package/mcp_server/atlas/enrichments/audio_effects/hybrid_reverb.yaml +160 -0
  59. package/mcp_server/atlas/enrichments/audio_effects/limiter.yaml +97 -0
  60. package/mcp_server/atlas/enrichments/audio_effects/multiband_dynamics.yaml +174 -0
  61. package/mcp_server/atlas/enrichments/audio_effects/overdrive.yaml +119 -0
  62. package/mcp_server/atlas/enrichments/audio_effects/pedal.yaml +145 -0
  63. package/mcp_server/atlas/enrichments/audio_effects/phaser_flanger.yaml +161 -0
  64. package/mcp_server/atlas/enrichments/audio_effects/redux.yaml +114 -0
  65. package/mcp_server/atlas/enrichments/audio_effects/reverb.yaml +190 -0
  66. package/mcp_server/atlas/enrichments/audio_effects/roar.yaml +159 -0
  67. package/mcp_server/atlas/enrichments/audio_effects/saturator.yaml +146 -0
  68. package/mcp_server/atlas/enrichments/audio_effects/shifter.yaml +154 -0
  69. package/mcp_server/atlas/enrichments/audio_effects/spectral_resonator.yaml +141 -0
  70. package/mcp_server/atlas/enrichments/audio_effects/spectral_time.yaml +164 -0
  71. package/mcp_server/atlas/enrichments/audio_effects/vector_delay.yaml +140 -0
  72. package/mcp_server/atlas/enrichments/audio_effects/vinyl_distortion.yaml +141 -0
  73. package/mcp_server/atlas/enrichments/instruments/analog.yaml +222 -0
  74. package/mcp_server/atlas/enrichments/instruments/bass.yaml +202 -0
  75. package/mcp_server/atlas/enrichments/instruments/collision.yaml +150 -0
  76. package/mcp_server/atlas/enrichments/instruments/drift.yaml +167 -0
  77. package/mcp_server/atlas/enrichments/instruments/electric.yaml +137 -0
  78. package/mcp_server/atlas/enrichments/instruments/emit.yaml +163 -0
  79. package/mcp_server/atlas/enrichments/instruments/meld.yaml +164 -0
  80. package/mcp_server/atlas/enrichments/instruments/operator.yaml +197 -0
  81. package/mcp_server/atlas/enrichments/instruments/poli.yaml +192 -0
  82. package/mcp_server/atlas/enrichments/instruments/sampler.yaml +218 -0
  83. package/mcp_server/atlas/enrichments/instruments/simpler.yaml +217 -0
  84. package/mcp_server/atlas/enrichments/instruments/tension.yaml +156 -0
  85. package/mcp_server/atlas/enrichments/instruments/tree_tone.yaml +162 -0
  86. package/mcp_server/atlas/enrichments/instruments/vector_fm.yaml +165 -0
  87. package/mcp_server/atlas/enrichments/instruments/vector_grain.yaml +166 -0
  88. package/mcp_server/atlas/enrichments/instruments/wavetable.yaml +162 -0
  89. package/mcp_server/atlas/enrichments/midi_effects/arpeggiator.yaml +156 -0
  90. package/mcp_server/atlas/enrichments/midi_effects/bouncy_notes.yaml +93 -0
  91. package/mcp_server/atlas/enrichments/midi_effects/chord.yaml +147 -0
  92. package/mcp_server/atlas/enrichments/midi_effects/melodic_steps.yaml +97 -0
  93. package/mcp_server/atlas/enrichments/midi_effects/note_echo.yaml +108 -0
  94. package/mcp_server/atlas/enrichments/midi_effects/note_length.yaml +97 -0
  95. package/mcp_server/atlas/enrichments/midi_effects/pitch.yaml +76 -0
  96. package/mcp_server/atlas/enrichments/midi_effects/random.yaml +117 -0
  97. package/mcp_server/atlas/enrichments/midi_effects/rhythmic_steps.yaml +103 -0
  98. package/mcp_server/atlas/enrichments/midi_effects/scale.yaml +83 -0
  99. package/mcp_server/atlas/enrichments/midi_effects/step_arp.yaml +112 -0
  100. package/mcp_server/atlas/enrichments/midi_effects/velocity.yaml +119 -0
  101. package/mcp_server/atlas/enrichments/utility/amp.yaml +159 -0
  102. package/mcp_server/atlas/enrichments/utility/cabinet.yaml +109 -0
  103. package/mcp_server/atlas/enrichments/utility/corpus.yaml +150 -0
  104. package/mcp_server/atlas/enrichments/utility/resonators.yaml +131 -0
  105. package/mcp_server/atlas/enrichments/utility/spectrum.yaml +63 -0
  106. package/mcp_server/atlas/enrichments/utility/tuner.yaml +51 -0
  107. package/mcp_server/atlas/enrichments/utility/utility.yaml +136 -0
  108. package/mcp_server/atlas/enrichments/utility/vocoder.yaml +160 -0
  109. package/mcp_server/atlas/scanner.py +236 -0
  110. package/mcp_server/atlas/tools.py +224 -0
  111. package/mcp_server/composer/__init__.py +1 -0
  112. package/mcp_server/composer/engine.py +452 -0
  113. package/mcp_server/composer/layer_planner.py +427 -0
  114. package/mcp_server/composer/prompt_parser.py +329 -0
  115. package/mcp_server/composer/tools.py +201 -0
  116. package/mcp_server/connection.py +53 -8
  117. package/mcp_server/corpus/__init__.py +377 -0
  118. package/mcp_server/device_forge/__init__.py +1 -0
  119. package/mcp_server/device_forge/builder.py +377 -0
  120. package/mcp_server/device_forge/models.py +142 -0
  121. package/mcp_server/device_forge/templates.py +483 -0
  122. package/mcp_server/device_forge/tools.py +162 -0
  123. package/mcp_server/hook_hunter/analyzer.py +23 -0
  124. package/mcp_server/hook_hunter/models.py +1 -0
  125. package/mcp_server/hook_hunter/tools.py +4 -2
  126. package/mcp_server/m4l_bridge.py +1 -0
  127. package/mcp_server/memory/taste_graph.py +68 -1
  128. package/mcp_server/memory/tools.py +15 -4
  129. package/mcp_server/musical_intelligence/detectors.py +14 -1
  130. package/mcp_server/musical_intelligence/tools.py +11 -8
  131. package/mcp_server/persistence/__init__.py +1 -0
  132. package/mcp_server/persistence/base_store.py +82 -0
  133. package/mcp_server/persistence/project_store.py +106 -0
  134. package/mcp_server/persistence/taste_store.py +122 -0
  135. package/mcp_server/preview_studio/models.py +1 -0
  136. package/mcp_server/preview_studio/tools.py +56 -13
  137. package/mcp_server/runtime/capability.py +66 -0
  138. package/mcp_server/runtime/capability_probe.py +137 -0
  139. package/mcp_server/runtime/execution_router.py +143 -0
  140. package/mcp_server/runtime/live_version.py +102 -0
  141. package/mcp_server/runtime/remote_commands.py +87 -0
  142. package/mcp_server/runtime/tools.py +18 -4
  143. package/mcp_server/sample_engine/__init__.py +1 -0
  144. package/mcp_server/sample_engine/analyzer.py +216 -0
  145. package/mcp_server/sample_engine/critics.py +390 -0
  146. package/mcp_server/sample_engine/models.py +193 -0
  147. package/mcp_server/sample_engine/moves.py +127 -0
  148. package/mcp_server/sample_engine/planner.py +186 -0
  149. package/mcp_server/sample_engine/sources.py +540 -0
  150. package/mcp_server/sample_engine/techniques.py +908 -0
  151. package/mcp_server/sample_engine/tools.py +442 -0
  152. package/mcp_server/semantic_moves/__init__.py +3 -0
  153. package/mcp_server/semantic_moves/device_creation_moves.py +237 -0
  154. package/mcp_server/semantic_moves/mix_moves.py +41 -41
  155. package/mcp_server/semantic_moves/performance_moves.py +13 -13
  156. package/mcp_server/semantic_moves/sample_compilers.py +372 -0
  157. package/mcp_server/semantic_moves/sound_design_moves.py +15 -15
  158. package/mcp_server/semantic_moves/tools.py +18 -17
  159. package/mcp_server/semantic_moves/transition_moves.py +16 -16
  160. package/mcp_server/server.py +51 -0
  161. package/mcp_server/services/__init__.py +1 -0
  162. package/mcp_server/services/motif_service.py +67 -0
  163. package/mcp_server/session_continuity/tracker.py +29 -1
  164. package/mcp_server/song_brain/builder.py +28 -1
  165. package/mcp_server/song_brain/models.py +4 -0
  166. package/mcp_server/song_brain/tools.py +20 -2
  167. package/mcp_server/sound_design/critics.py +89 -1
  168. package/mcp_server/splice_client/__init__.py +1 -0
  169. package/mcp_server/splice_client/client.py +347 -0
  170. package/mcp_server/splice_client/models.py +96 -0
  171. package/mcp_server/splice_client/protos/__init__.py +1 -0
  172. package/mcp_server/splice_client/protos/app_pb2.py +319 -0
  173. package/mcp_server/splice_client/protos/app_pb2.pyi +1153 -0
  174. package/mcp_server/splice_client/protos/app_pb2_grpc.py +1946 -0
  175. package/mcp_server/tools/arrangement.py +69 -0
  176. package/mcp_server/tools/automation.py +15 -2
  177. package/mcp_server/tools/devices.py +117 -6
  178. package/mcp_server/tools/notes.py +37 -4
  179. package/mcp_server/wonder_mode/diagnosis.py +5 -0
  180. package/mcp_server/wonder_mode/engine.py +85 -1
  181. package/mcp_server/wonder_mode/tools.py +6 -1
  182. package/package.json +12 -2
  183. package/remote_script/LivePilot/__init__.py +8 -1
  184. package/remote_script/LivePilot/arrangement.py +114 -0
  185. package/remote_script/LivePilot/browser.py +56 -1
  186. package/remote_script/LivePilot/devices.py +236 -6
  187. package/remote_script/LivePilot/mixing.py +8 -3
  188. package/remote_script/LivePilot/server.py +5 -1
  189. package/remote_script/LivePilot/transport.py +3 -0
  190. package/remote_script/LivePilot/version_detect.py +78 -0
  191. package/scripts/sync_metadata.py +132 -0
@@ -0,0 +1,724 @@
1
+ # Sample Manipulation — Advanced Techniques from the Masters
2
+
3
+ Comprehensive knowledge base for professional sample manipulation. Each technique includes context, philosophy, and step-by-step Ableton workflow.
4
+
5
+ ---
6
+
7
+ ## 1. Granular Sampling Techniques
8
+
9
+ ### 1.1 Amon Tobin — Destructive Granular Layering
10
+
11
+ **Description:** Tobin samples from diverse vinyl sources (jazz, Bollywood, film soundtracks, 1970s electronic music) — sometimes 80+ samples per track — then processes each through filters and modulation, re-records, chops again, and layers the fragments until the source is unrecognizable. The key insight: each resample pass destroys the original identity while preserving its energy.
12
+
13
+ **When to use:** When you want dense, cinematic textures that sound like nothing else. When you have a sample that is "too recognizable" and needs to become raw material.
14
+
15
+ **Ableton workflow:**
16
+ 1. Load sample into an audio track
17
+ 2. Add Auto Filter (bandpass, moderate Q) and Saturator (Sinoid Fold, subtle drive)
18
+ 3. Record output to a new audio track (Resampling input)
19
+ 4. Chop the resampled audio into 4-8 fragments using Simpler in Slice mode
20
+ 5. Rearrange slices into a new sequence — ignore the original order
21
+ 6. Record that arrangement to audio again
22
+ 7. Repeat steps 2-6 with different effects each pass (Grain Delay, Erosion, Shifter)
23
+ 8. After 3-4 passes, the material is fully transformed — layer the best fragments from each generation
24
+
25
+ ### 1.2 Burial — Hand-Placed Granular Collage
26
+
27
+ **Description:** Burial works in SoundForge (a destructive waveform editor), dragging tiny audio snippets by hand with no grid, no quantization, no undo. Every element — R&B vocal fragments, UK garage drum hits, vinyl crackle, rain recordings, phone recordings of friends singing — is placed by ear. The "crackle" people associate with Burial is actually tape crackle pitched down an octave, not vinyl. His drums come from recording impacts on surfaces around his home, then processing them to resemble real drum kits.
28
+
29
+ **When to use:** When you want organic, un-gridded rhythms with emotional depth. When the music needs to feel like a faded memory rather than a produced track.
30
+
31
+ **Ableton workflow:**
32
+ 1. Collect source material: vocal a cappellas, field recordings, found sounds, self-recorded impacts
33
+ 2. Set Ableton's grid to OFF (Cmd+4 / Ctrl+4) — work without quantization
34
+ 3. Load each sound as a separate audio clip in Arrangement view
35
+ 4. Manually drag clips to position by ear — let things drift off-grid
36
+ 5. For Burial-style crackle: take a vinyl noise sample, duplicate it, crossfade the copies to avoid pops, consolidate, then pitch down 12 semitones (one octave) using Transpose
37
+ 6. Layer the pitched crackle under everything at -18 to -24 dB
38
+ 7. For ghost vocals: chop individual words from a cappellas, add heavy reverb (Decay 4-8s, Diffusion high, 60-80% wet), and tuck them at -15 dB in the background
39
+ 8. Fill dead space with atmospheric textures (rain, tape hiss, room tone)
40
+
41
+ ### 1.3 Four Tet — Found-Sound Granular Composition
42
+
43
+ **Description:** Four Tet keeps sound collection and composition as separate activities. He records sounds on his phone (Hang drums, street sounds, conversations) then processes them later. His album "Rounds" was composed using copy-paste techniques without a quantized grid. The approach is about capturing the energy of a moment, then sculpting it into music.
44
+
45
+ **When to use:** When working with field recordings or non-musical sources. When you want warmth and organic texture in electronic music.
46
+
47
+ **Ableton workflow:**
48
+ 1. Dedicate sessions purely to sound collection — record everything interesting on your phone
49
+ 2. Import recordings into Ableton as raw audio
50
+ 3. Use Simpler in Classic mode with Warp ON — set warp mode to Texture (Grain Size 30-60, Flux 50-80%)
51
+ 4. Play the loaded sample across the keyboard — different notes reveal different textures
52
+ 5. Record improvised performances with these "instruments" to audio
53
+ 6. Build compositions by copy-pasting the best fragments in Arrangement view
54
+ 7. Add Grain Delay (Pitch +-12, Spray 50-100%, Frequency 40-80 Hz) for additional granular texture
55
+ 8. Process with Reverb and Delay to create space around the found sounds
56
+
57
+ ### 1.4 Ableton Grain Delay as Granular Engine
58
+
59
+ **Description:** Grain Delay breaks incoming audio into tiny grains and plays them back with independent control over pitch, timing scatter, and grain rate. It is the closest thing to a granular synth in Ableton's stock effects.
60
+
61
+ **When to use:** When you want to smear a sound into a texture cloud. When you need pitch-shifted ambience from a dry source.
62
+
63
+ **Ableton workflow:**
64
+ 1. Load Grain Delay on an audio track or return track
65
+ 2. Set Dry/Wet to 100% (or use on a return for parallel blend)
66
+ 3. **Pitch**: 0 for pure texture, +-12 for octave-shifted clouds, +-7 for fifth harmonics
67
+ 4. **Spray**: 0 = tight rhythmic grains, 100+ = scattered ambient texture
68
+ 5. **Frequency**: Low values (1-20 Hz) = slow, evolving clouds. High values (80-150 Hz) = buzzy, rhythmic grains
69
+ 6. **Feedback**: 30-60% for evolving tails, 80%+ for self-generating textures (use with care)
70
+ 7. Automate Spray and Frequency over time for evolving granular landscapes
71
+ 8. Follow with Reverb (long decay, high diffusion) to smooth the grains into pads
72
+
73
+ ---
74
+
75
+ ## 2. Chopping and Slicing Philosophies
76
+
77
+ ### 2.1 J Dilla — Micro-Chopping and the Dilla Feel
78
+
79
+ **Description:** Dilla's revolution was twofold: (1) micro-chopping — slicing samples into tiny fragments and rearranging them to create new melodic/harmonic phrases, and (2) disabling MPC quantization so every hit was placed by feel. The result: a "drunk" or "wonky" timing where kicks land 30ms early, snares drag 20ms late, and different elements have different swing amounts. Dilla spoke through his sample choices — each chop was selected to reinforce the emotional theme of the track.
80
+
81
+ **When to use:** When you want humanized, soulful beats. When rigid quantization kills the groove. When building hip-hop, neo-soul, or lo-fi.
82
+
83
+ **Ableton workflow:**
84
+ 1. Find a soul/jazz/funk record with a melodic phrase you love
85
+ 2. Load into Simpler, switch to Slice mode, set Slice By to "Manual"
86
+ 3. Place slice markers at musically meaningful points — the start of each note, chord change, or melodic fragment (NOT just transients)
87
+ 4. Right-click Simpler > "Slice to Drum Rack" to get each chop on its own pad
88
+ 5. **Critical step — disable quantization**: In the piano roll, turn grid to OFF or set to very fine (1/64)
89
+ 6. Sequence the chops by hand — drag each MIDI note slightly off-grid
90
+ 7. Apply different swing amounts to different elements: kick at 55% swing, snare at 62%, hats at 48%
91
+ 8. For the Dilla velocity feel: vary velocity between 80-127 on every hit — nothing at full velocity, nothing perfectly consistent
92
+ 9. Use Simpler's pitch control to transpose individual chops for new melodies from the original harmonic material
93
+
94
+ ### 2.2 Madlib — Eclectic Blind Crate Digging
95
+
96
+ **Description:** Madlib buys records without previewing them, often based only on the cover art, instrumentation credits, or year. He does not limit himself to any genre — his collection spans dub reggae, avant-garde jazz, Brazilian music, African music, psychedelia, film soundtracks, classical, rock, and industrial. His secret weapon: flipping multiple sections from the same record (intro, bridge, outro) rather than just one loop. His beats have a cinematic, collage-like quality because the sources are so diverse.
97
+
98
+ **When to use:** When your sampling sources have become predictable. When you want to break out of genre conventions. When building beat tapes or experimental hip-hop.
99
+
100
+ **Ableton workflow:**
101
+ 1. Select a record/song you would never normally sample — the further outside your comfort zone, the better
102
+ 2. Listen to the ENTIRE track, not just the intro — mark interesting moments with Ableton's Set Cue Points (see `toggle_cue_point`)
103
+ 3. Sample 3-5 different sections from the same source
104
+ 4. Load each section into its own Simpler in Classic mode
105
+ 5. Pitch each section independently — try +-3 to +-7 semitones to obscure the source
106
+ 6. Layer sections from different parts of the same record — the intro chords under the bridge melody
107
+ 7. Add lo-fi processing: Redux (Downsample to 12-16, Bit Depth 10-12), subtle Saturator, Auto Filter with slow LFO
108
+ 8. Keep the arrangement loose — Madlib's beats breathe because they are not over-arranged
109
+
110
+ ### 2.3 DJ Premier — Stab and Loop Chopping
111
+
112
+ **Description:** Premier's signature is the single melodic "stab" — a chord or melodic fragment chopped from a record, then replayed rhythmically to create a new groove. Unlike Dilla's micro-chops, Premier's chops are larger (full chord hits) and more percussive. He layers these stabs with heavy filtering and scratched vocal hooks. The philosophy: find the ONE moment in a record that has the most energy, isolate it, and build the entire beat around that moment.
113
+
114
+ **When to use:** When you want hard, punchy sample-based beats. When building boom-bap or gritty hip-hop. When a single chord or stab has enough energy to carry a track.
115
+
116
+ **Ableton workflow:**
117
+ 1. Find a record with a strong chord hit, horn stab, or melodic accent
118
+ 2. Isolate a 200-500ms fragment — the stab — and load into Simpler (One-Shot mode)
119
+ 3. Set the amp envelope: Attack 0ms, Decay 200-500ms, Sustain 0%, Release 50ms (tight, punchy)
120
+ 4. Sequence the stab rhythmically — 16th-note patterns with velocity variation
121
+ 5. Add EQ Eight: high-pass at 100 Hz (keep it tight), slight boost at 2-4 kHz for presence
122
+ 6. Layer with a filtered version of the same stab: duplicate the track, add Auto Filter (LP, cutoff 800 Hz) for a "dusty" double
123
+ 7. For the Premier vinyl character: add subtle Erosion (Noise mode, Amount 5-10) and Redux (Downsample 1.5-3x)
124
+ 8. Add a scratched vocal hook: load a vocal phrase into Simpler, map to keys, and "perform" scratch patterns by rapid note triggering with pitch bend
125
+
126
+ ### 2.4 RZA / Wu-Tang — Cinematic Soul Sampling
127
+
128
+ **Description:** RZA's approach combines soul and kung-fu movie dialogue samples with gritty, detuned production. The philosophy: samples are not just musical — they are narrative. A dialogue sample sets the scene, a soul loop carries the emotion, and the drums (often from cheap drum machines run through distortion) provide the raw energy.
129
+
130
+ **When to use:** When building narrative-driven beats. When you want samples to tell a story, not just provide harmony.
131
+
132
+ **Ableton workflow:**
133
+ 1. Find a dialogue sample (film, interview, spoken word) that sets a mood
134
+ 2. Place it at the beginning or as an interlude — let it breathe without musical backing
135
+ 3. Find a soul/R&B loop with emotional weight — load into audio track
136
+ 4. Pitch down 2-5 semitones for the signature dark, detuned RZA feel
137
+ 5. Add heavy Saturator (Hard Curve, Drive 15-20 dB) for grit
138
+ 6. Program drums in Drum Rack — keep patterns simple, hard-hitting
139
+ 7. Process the entire drum bus through Overdrive (Drive high, Dynamics low) for that "blown speaker" sound
140
+ 8. Use scene-based arrangement: Scene 1 = dialogue intro, Scene 2 = beat drops, Scene 3 = verse, etc.
141
+
142
+ ---
143
+
144
+ ## 3. Resampling Chains
145
+
146
+ ### 3.1 Serial Resampling (Destructive Iteration)
147
+
148
+ **Description:** Record a processed sound to audio, then process the audio again, then record again. Each pass accumulates artifacts, harmonics, and textural complexity. After 3-5 passes, the original sound is completely transformed. This is how Amon Tobin, Aphex Twin, and many IDM producers create sounds that cannot be reverse-engineered.
149
+
150
+ **When to use:** When you want sounds nobody else has. When a synth patch sounds too "clean" or "stock." When you need to create a unique sonic identity for a track.
151
+
152
+ **Ableton workflow:**
153
+ 1. Start with ANY sound — a synth note, a drum hit, a vocal phrase, a field recording
154
+ 2. **Pass 1 — Distortion character**: Add Saturator (Sinoid Fold) + Erosion → Record to new audio track
155
+ 3. **Pass 2 — Spatial smearing**: Add Reverb (100% wet, 3-5s decay) + Delay (dotted 1/8, 50% feedback) → Record to new audio track
156
+ 4. **Pass 3 — Pitch warping**: Load result into Simpler, transpose -12 or +12 semitones, enable Warp (Texture mode, Grain 20, Flux 80) → Record to new audio track
157
+ 5. **Pass 4 — Frequency sculpting**: Add Auto Filter (bandpass, resonance 60%, LFO to cutoff) + EQ Eight (aggressive notches) → Record to new audio track
158
+ 6. **Pass 5 — Final granular**: Add Grain Delay (Spray 100, Pitch +-5, Frequency 30 Hz) → Record to new audio track
159
+ 7. Compare all 5 generations — often generation 2 or 3 has the best balance of character and musicality
160
+ 8. Use fragments from different generations in the same track for textural variety
161
+
162
+ ### 3.2 Parallel Resampling (Wet/Dry Blend)
163
+
164
+ **Description:** Instead of serial destruction, split the signal and process each path differently, then recombine. This preserves the original's clarity while adding complexity. The result is more controlled than serial resampling.
165
+
166
+ **When to use:** When you want texture and character but need to maintain the original's rhythmic or melodic integrity. Good for vocals, leads, and any element that needs to stay recognizable.
167
+
168
+ **Ableton workflow:**
169
+ 1. Create an Audio Effect Rack on the source track
170
+ 2. Create 3-4 chains:
171
+ - **Chain A (Dry):** No effects — 100% clean signal
172
+ - **Chain B (Destroyed):** Saturator (heavy) > Reverb (100% wet) > Auto Filter
173
+ - **Chain C (Pitched):** Grain Delay (Pitch +12, Spray 50) > Chorus-Ensemble
174
+ - **Chain D (Sub):** EQ Eight (LP at 200 Hz) > Saturator (Analog Clip) for sub harmonics
175
+ 3. Balance chain volumes: Dry at 0 dB, others at -6 to -12 dB
176
+ 4. Map chain volumes to Macro knobs for performance control
177
+ 5. Record the combined output to audio when you find a good balance
178
+ 6. Chop the best moments from the recording
179
+
180
+ ### 3.3 Effects-Tail Harvesting
181
+
182
+ **Description:** Feed a short, percussive sound into a long reverb or delay, then capture only the TAIL — discard the original transient. The tail becomes a pad, texture, or atmospheric element with the spectral character of the original.
183
+
184
+ **When to use:** When you need ambient material that harmonically relates to your existing sounds. When creating transitions or background layers.
185
+
186
+ **Ableton workflow:**
187
+ 1. Create a return track with Reverb (Decay 8-15s, Diffusion max, Dry/Wet 100%, Pre-Delay 50-100ms)
188
+ 2. Send a short percussive sound (chord stab, snare, vocal syllable) to this return at 100%
189
+ 3. Record the return track output to a new audio track
190
+ 4. Trim away the first 500ms-1s (the initial transient bleed)
191
+ 5. What remains is a pad/drone with the harmonic character of the original
192
+ 6. Time-stretch this pad to fit your arrangement using Warp (Texture mode)
193
+ 7. For variation: repeat with different reverb settings or different source sounds
194
+ 8. Layer multiple tails at low volumes for rich, harmonically coherent atmospheres
195
+
196
+ ---
197
+
198
+ ## 4. Vocal Sampling Techniques
199
+
200
+ ### 4.1 Formant Shifting for Character Transformation
201
+
202
+ **Description:** Formant shifting changes the resonant frequencies of a voice (which define whether it sounds male, female, large, small) without changing the pitch. Shifting formants UP makes a voice sound smaller/younger/feminine. Shifting DOWN makes it sound larger/deeper/masculine. This is different from pitch shifting, which changes both pitch and formants together.
203
+
204
+ **When to use:** When you want to disguise a vocal source. When creating alien/robotic/otherworldly vocal textures. When a vocal sample is in the right key but the wrong "character."
205
+
206
+ **Ableton workflow:**
207
+ 1. Load a vocal sample into an audio track
208
+ 2. For stock Ableton: use Simpler with Warp ON — set warp mode to Complex Pro
209
+ 3. Complex Pro's "Formants" parameter controls formant preservation — at 100% formants are preserved during transposition, at 0% they shift with pitch
210
+ 4. To shift formants independently: transpose the sample UP in Simpler, then set Formants to 0% — the pitch goes up AND the formants shift up, creating a chipmunk effect
211
+ 5. For more control: use Audio Effect Rack with two chains — one pitched up with formants at 0%, one pitched down with formants at 100% — blend for hybrid character
212
+ 6. For the "Prismizer" effect (Bon Iver): see Section 4.4 below
213
+ 7. Automate formant/pitch parameters over time for morphing vocal textures
214
+
215
+ ### 4.2 Time-Stretch Artifacts as Texture
216
+
217
+ **Description:** Most producers try to minimize time-stretching artifacts. This technique deliberately maximizes them. When you extreme-stretch a vocal (200-1000% length), the algorithm creates granular clouds, metallic resonances, and ghost harmonics that become the texture itself.
218
+
219
+ **When to use:** When you want haunting, ethereal vocal pads. When you need to transform a short vocal fragment into a long atmospheric layer. When building ambient or experimental music.
220
+
221
+ **Ableton workflow:**
222
+ 1. Take a short vocal phrase (1-4 bars)
223
+ 2. Select the audio clip and change its Warp Mode to Texture (Grain Size 10-30, Flux 70-100%)
224
+ 3. Drag the clip's end to stretch it to 4-16x its original length
225
+ 4. The artifacts from extreme stretching become the texture — metallic ghosts, granular clouds, pitch smearing
226
+ 5. Alternatively: set Warp Mode to Tones and stretch 4x — Tones mode creates a more tonal, singing quality in the artifacts
227
+ 6. For maximum destruction: set Warp Mode to Beats (Transients mode, Envelope 10-30) and stretch 4x — this creates rhythmic stuttering from the vocal
228
+ 7. Layer the stretched vocal under the original at -10 to -15 dB for depth
229
+ 8. Add Reverb (100% wet, 5-10s decay) and Chorus-Ensemble to smooth artifacts into pads
230
+
231
+ ### 4.3 Vocal Chopping for Rhythmic Patterns
232
+
233
+ **Description:** Chop vocals into individual syllables, phonemes, or even sub-syllable fragments, then sequence them as rhythmic percussion. The human voice has natural transients (consonants) and sustains (vowels) that map perfectly to percussive and melodic roles.
234
+
235
+ **When to use:** When building vocal-driven electronic music (future bass, UK garage, house). When you want rhythmic energy from non-drum sources. When creating signature vocal hooks.
236
+
237
+ **Ableton workflow:**
238
+ 1. Load a vocal recording into Simpler, switch to Slice mode
239
+ 2. Set Slice By to "Transient" with sensitivity around 50-70%
240
+ 3. Right-click > "Slice to Drum Rack" — each syllable/phoneme gets its own pad
241
+ 4. In the Drum Rack, process individual pads:
242
+ - Vowel sounds ("ah", "oh"): add Reverb, use for sustained/melodic parts
243
+ - Consonant sounds ("t", "k", "s"): keep dry, use as percussion
244
+ - Breaths: keep as rhythmic fills at low volume
245
+ 5. Sequence the chops into a pattern: consonants on beats 1 and 3, vowels on 2 and 4
246
+ 6. Apply Ping Pong Delay (1/16, 30% feedback) to the vocal percussion track for stereo movement
247
+ 7. Use Simpler's pitch control per-slice to create melodies from the vocal fragments
248
+ 8. Group the Drum Rack and add Glue Compressor to bind the chops together
249
+
250
+ ### 4.4 Bon Iver / Prismizer — Layered Harmonic Vocal Processing
251
+
252
+ **Description:** The "Prismizer" effect (developed by Bon Iver collaborator Chris Messina) routes a vocal through a vocoder that uses the same vocal as BOTH carrier and modulator, combined with a harmonizer that creates parallel harmony voices. The result: a choir-like, crystalline vocal texture where the singer harmonizes with transformed versions of themselves. Heard on Bon Iver's "715 - CREEKS" and Frank Ocean's "Blonde."
253
+
254
+ **When to use:** When you want a single vocal to sound like a choir of cyborg angels. When creating emotional, textured vocal-led tracks. When a simple vocal needs to become a wall of sound.
255
+
256
+ **Ableton workflow:**
257
+ 1. Record a simple vocal melody (doesn't need to be perfect — imperfection adds character)
258
+ 2. Duplicate the vocal track 3-4 times
259
+ 3. On each duplicate, add a different pitch shift:
260
+ - Track 1: Original (no shift)
261
+ - Track 2: +3 or +4 semitones (major/minor third up)
262
+ - Track 3: +7 semitones (perfect fifth up)
263
+ - Track 4: -12 semitones (octave down)
264
+ 4. On each pitched track: set Warp to Complex Pro with Formants at 80-100% to preserve vocal character
265
+ 5. Add Vocoder on each track: set Carrier to "Noise" or "Modulator" for different textures
266
+ 6. Add Chorus-Ensemble to each track with slightly different Rate settings
267
+ 7. Add Reverb (Hall, 3-5s decay, 40-60% wet) on a shared return track
268
+ 8. Pan the layers: original center, third L30%, fifth R30%, octave center
269
+ 9. Automate the layer volumes over time — bring in the harmonies gradually
270
+
271
+ ### 4.5 Vocal Texture Freezing
272
+
273
+ **Description:** Capture a single moment of a vocal (a vowel, a breath, a consonant) and freeze it into an infinite sustain using reverb freeze, granular looping, or spectral hold. This single frozen moment becomes a drone or pad that carries the vocal's formant character indefinitely.
274
+
275
+ **When to use:** When you need a pad that has human vocal quality. When transitioning between sections. When creating ambient beds from vocal material.
276
+
277
+ **Ableton workflow:**
278
+ 1. Load a vocal into an audio track
279
+ 2. Add Reverb with Freeze enabled — set Decay very long (20s+), Diffusion max
280
+ 3. Play the vocal and engage Freeze (automate the Freeze parameter) at the exact moment you want to capture
281
+ 4. The frozen reverb sustains that vowel/consonant indefinitely
282
+ 5. Record the frozen output to a new audio track
283
+ 6. Use this recording as a pad — add Auto Filter with slow LFO for movement
284
+ 7. Alternative: load a vocal into Simpler, find a sustaining vowel, set very short loop points (10-50ms) with crossfade — this creates a granular freeze of that moment
285
+ 8. Transpose the frozen texture across the keyboard for chords
286
+
287
+ ---
288
+
289
+ ## 5. Texture Creation from Samples
290
+
291
+ ### 5.1 Paulstretch-Style Extreme Stretching
292
+
293
+ **Description:** Paul's Extreme Sound Stretch uses spectral smoothing with phase randomization to stretch audio 10x-1000x its original length without artifacts. Unlike standard time-stretching, Paulstretch destroys all temporal structure (rhythm, transients) while preserving spectral character (timbre, harmony). Any sound becomes an ambient drone.
294
+
295
+ **When to use:** When you need ambient pads or drones from any source material. When creating transitions or atmospheric layers. Works best on harmonically rich material (chords, melodies, voices) — drums and percussive sounds lose their character.
296
+
297
+ **Ableton workflow (approximating Paulstretch with stock tools):**
298
+ 1. Take a harmonically rich sample (a chord, a vocal phrase, a melodic fragment) — 2-10 seconds long
299
+ 2. Load into an audio track, set Warp Mode to Texture
300
+ 3. Set Grain Size to maximum (the higher the smoother), Flux to 50-70%
301
+ 4. Stretch the clip to 10-20x its original length by dragging the clip end
302
+ 5. The result: a long, evolving drone that retains the harmonic character of the source
303
+ 6. For even smoother results: bounce this to audio, then stretch AGAIN (double-stretch)
304
+ 7. Add Reverb (100% wet, 8-15s decay) and Chorus-Ensemble to smooth granular seams
305
+ 8. For true Paulstretch quality: use the free PaulXStretch plugin as an external effect, or process offline in Audacity (which has Paulstretch built in) and reimport
306
+
307
+ ### 5.2 Reverse-and-Layer
308
+
309
+ **Description:** Reverse a sample, process it, then layer it with the original forward version. The reversed version provides a "pre-echo" or "inhale" effect before each attack. When layered with the original, it creates a breathing, living quality where sounds seem to both arrive and depart simultaneously.
310
+
311
+ **When to use:** When creating cinematic transitions. When a sound needs to feel like it exists in a time-warped space. Essential for reverse reverb effects.
312
+
313
+ **Ableton workflow:**
314
+ 1. Place your sample in Arrangement view
315
+ 2. Duplicate it to a track below
316
+ 3. Select the duplicate clip > Reverse (press R or right-click > Reverse)
317
+ 4. Process the reversed version: add Reverb (100% wet, 4-8s decay), then consolidate/freeze
318
+ 5. Reverse the processed clip AGAIN — now the reverb tail precedes the original sound
319
+ 6. Align the reversed-reverb tail so it builds into the attack of the original
320
+ 7. Crossfade the two at the meeting point for a smooth transition
321
+ 8. For Simpler-based approach: load sample, press Reverse button, record the output with effects, reimport
322
+
323
+ ### 5.3 Creating Ambient Pads from Drums
324
+
325
+ **Description:** Take a drum hit (kick, snare, cymbal) and use extreme processing to reveal and sustain its hidden harmonic content. Every acoustic drum sound contains pitched resonances — the trick is to expose them.
326
+
327
+ **When to use:** When you want pads that are harmonically "native" to your drum sounds. When building tracks where every element derives from the same source material. When you need pads that blend naturally with your drum bus.
328
+
329
+ **Ableton workflow:**
330
+ 1. Load a drum hit (snare or cymbal work best — they have the richest harmonics) into Simpler
331
+ 2. Set Warp Mode to Texture (Grain Size 80-120, Flux 40-60%)
332
+ 3. Stretch the hit to 10-20x length — the transient disappears, leaving the resonant body
333
+ 4. The result is a tonal drone at the drum's natural pitch
334
+ 5. Add Reverb (100% wet, 8-15s decay) to smooth the texture
335
+ 6. Add Auto Filter (LP, cutoff 2 kHz, slow LFO) to create gentle movement
336
+ 7. Play this across the keyboard — the drum's resonance transposes to create a tonal palette
337
+ 8. Layer multiple drum-derived pads (kick-pad for sub, snare-pad for mid, cymbal-pad for air) for a full-range texture bed
338
+
339
+ ### 5.4 Spectral Processing and Freezing
340
+
341
+ **Description:** Use FFT-based spectral processing to isolate, manipulate, or freeze specific frequency components of a sound. This includes spectral blur (smearing frequencies over time), spectral freeze (holding a single spectral snapshot), and spectral filtering (surgically removing or boosting narrow frequency bands).
342
+
343
+ **When to use:** When you need surgical control over a sound's frequency content. When creating evolving textures from static material. When doing advanced sound design for film/game audio.
344
+
345
+ **Ableton workflow (using stock tools to approximate spectral techniques):**
346
+ 1. **Spectral freeze approximation**: Use Reverb's Freeze function on a sound — this captures and holds the current spectral content indefinitely
347
+ 2. **Spectral blur**: Add Corpus (resonator) after your sound — it imposes resonant frequencies that blur the original into a tonal cloud. Tune Corpus to the track's key.
348
+ 3. **Spectral filtering**: Use EQ Eight with very narrow Q values (Q > 10) to isolate specific harmonics of a sound. Boost one harmonic +15 dB, cut everything else. The result: a sine-like tone at that harmonic's frequency derived from the original.
349
+ 4. **Spectral layering**: Duplicate a track 3 times. On each, use EQ Eight to isolate a different frequency band (0-500 Hz, 500-2000 Hz, 2000+ Hz). Process each band independently, then recombine.
350
+ 5. For true spectral processing: use Max for Live spectral devices (Spectral Blur, Spectral Time) or external plugins like iZotope Iris, Paulstretch, or FluCoMa tools
351
+
352
+ ---
353
+
354
+ ## 6. Sample Layering for Composition
355
+
356
+ ### 6.1 Key and Tempo Detection for Musical Layering
357
+
358
+ **Description:** Before layering samples, detect their key and tempo so they can be musically aligned. Modern key detection uses chromagram analysis — converting audio's frequency spectrum into 12 pitch classes and correlating them with major/minor key profiles (Krumhansl-Schmuckler algorithm). Tempo detection uses onset detection functions and autocorrelation to find periodic beat patterns.
359
+
360
+ **When to use:** Every time you layer samples from different sources. Essential for avoiding dissonant clashes between samples.
361
+
362
+ **Ableton workflow:**
363
+ 1. **Tempo detection**: Ableton auto-detects tempo when you drag audio in — verify by listening. For manual check: find two consecutive beats, measure the time between them, calculate BPM = 60 / (time in seconds). Use `read_audio_metadata` to check embedded tempo.
364
+ 2. **Key detection**: Use `get_detected_key` (LivePilot tool) which uses chromagram analysis. Or: listen and use `identify_scale` to verify by ear.
365
+ 3. **Matching**: Once keys are known, transpose the non-matching sample to fit:
366
+ - Same key = perfect match
367
+ - Related key (relative major/minor, dominant, subdominant) = usually works
368
+ - Distant key = transpose by the interval between the two keys
369
+ 4. Use Simpler's Transpose to adjust pitch without affecting timing (when Warp is ON)
370
+ 5. For tempo matching: Warp the sample and set the correct original BPM — Ableton handles the rest
371
+ 6. **Programmatic approach**: Chromagram = STFT > map to 12 pitch classes > sum energy per class > correlate with Krumhansl-Schmuckler profiles for all 24 keys > highest correlation = detected key
372
+
373
+ ### 6.2 Complementary Frequency Layering
374
+
375
+ **Description:** Layer samples so each occupies a different frequency band, creating a full-spectrum composition from found sounds. Think of it as an orchestra where each sample is a different "instrument section."
376
+
377
+ **When to use:** When building compositions from diverse sample sources. When you want each layer to contribute without masking others.
378
+
379
+ **Ableton workflow:**
380
+ 1. Categorize your samples by frequency content:
381
+ - **Sub/Bass layer** (20-200 Hz): bass notes, low drones, pitched-down material
382
+ - **Mid layer** (200-2000 Hz): melodic content, chords, voices
383
+ - **Presence layer** (2000-6000 Hz): attacks, articulations, percussive elements
384
+ - **Air layer** (6000-20000 Hz): textures, shimmer, noise, ambience
385
+ 2. Load each sample on its own track
386
+ 3. On each track, add EQ Eight to carve its frequency space:
387
+ - Bass layer: LP at 200 Hz
388
+ - Mid layer: BP 200-2000 Hz
389
+ - Presence layer: BP 2000-6000 Hz
390
+ - Air layer: HP at 6000 Hz
391
+ 4. Match all samples to the same key and tempo (see 6.1)
392
+ 5. Build the arrangement by introducing layers one at a time
393
+ 6. Use `get_masking_report` to check for frequency conflicts between layers
394
+
395
+ ### 6.3 Creating Counterpoint from Found Sounds
396
+
397
+ **Description:** Found sounds (field recordings, environmental audio, household objects) can be pitched and arranged into contrapuntal musical lines. The key insight: every sound has a fundamental pitch — even a door slam or a glass clink. By detecting these pitches and building melodies from them, you create music that sounds both musical and alien.
398
+
399
+ **When to use:** When making musique concrete or experimental compositions. When you want a completely unique melodic palette. When standard synths and samples feel too conventional.
400
+
401
+ **Ableton workflow:**
402
+ 1. Record 10-20 found sounds (tapping objects, environmental sounds, mechanical noises)
403
+ 2. Load each into Simpler in Classic mode with Warp ON
404
+ 3. For each sound, use `get_detected_key` or listen to find its natural pitch
405
+ 4. Set the Simpler's Root Note to match the detected pitch — now MIDI C3 plays the sound at its natural pitch, and other keys transpose it accurately
406
+ 5. Write a melody using each found sound as an "instrument"
407
+ 6. For counterpoint: assign different found sounds to different melodic lines
408
+ - Line 1 (glass taps): plays the main melody
409
+ - Line 2 (metal scrapes): plays a counter-melody in contrary motion
410
+ - Line 3 (wood knocks): plays a bass line
411
+ 7. Process each line with appropriate effects (reverb for cohesion, EQ for frequency separation)
412
+ 8. The result: a fully musical composition where every sound is sourced from the real world
413
+
414
+ ---
415
+
416
+ ## 7. Ableton-Specific Techniques
417
+
418
+ ### 7.1 Simpler vs Sampler — When to Use Which
419
+
420
+ **Simpler** is the right choice when:
421
+ - Working with a single sample
422
+ - You need warping (Sampler cannot warp)
423
+ - You want Slice mode (Simpler exclusive)
424
+ - Quick sample playback with basic processing
425
+ - Creative mangling with warp modes
426
+
427
+ **Sampler** is the right choice when:
428
+ - Building multi-sample instruments (mapping different samples across velocity and key zones)
429
+ - You need advanced modulation matrix (multiple LFOs, envelopes mapped to any parameter)
430
+ - Creating realistic acoustic instrument patches from multiple recordings
431
+ - You need sample crossfading between velocity layers
432
+
433
+ **Key difference**: Simpler has warping and slicing. Sampler has multi-sample zones and deeper modulation. For creative sampling, Simpler is almost always the right starting point.
434
+
435
+ ### 7.2 Simpler Modes Deep Dive
436
+
437
+ **Classic Mode:**
438
+ - Standard sample playback with ADSR envelope
439
+ - Supports warping — sample plays in time regardless of pitch
440
+ - Best for: melodic instruments, pads, one-shot effects, pitched playback of any sample
441
+ - Tip: Enable Loop and set short loop points (10-50ms) on a sustaining portion for granular-style freeze
442
+
443
+ **One-Shot Mode:**
444
+ - Trigger-and-forget — sample plays through completely regardless of note length
445
+ - No ADSR (just Fade In and Fade Out)
446
+ - Best for: drum hits, percussion, sound effects, stabs
447
+ - Tip: Use Fade Out to control tail length. Map velocity to volume for dynamic playing.
448
+
449
+ **Slice Mode:**
450
+ - Non-destructively divides sample into playable slices
451
+ - Slice By options: Transient, Beat, Region, Manual
452
+ - Best for: drum breaks, vocal phrases, melodic loops
453
+ - Tip: After slicing, right-click > "Slice to Drum Rack" for individual pad control per slice
454
+
455
+ ### 7.3 Warp Modes as Creative Effects
456
+
457
+ Each warp mode produces different artifacts when pushed beyond its intended use:
458
+
459
+ **Beats Mode (for creative abuse):**
460
+ - Designed for: rhythmic material with clear transients
461
+ - Creative abuse: Apply to non-rhythmic material (pads, drones) and stretch 2-4x
462
+ - Result: The algorithm imposes a rhythmic stutter on non-rhythmic material, creating glitch patterns
463
+ - The "Preserve" dropdown (Transients/Off/1/4/1/8/etc.) determines the repeat grid
464
+ - Envelope parameter controls how much of each "slice" plays — low values = choppy, high = smooth
465
+
466
+ **Tones Mode (for creative abuse):**
467
+ - Designed for: monophonic melodic material
468
+ - Creative abuse: Apply to polyphonic or noisy material and stretch 2-4x
469
+ - Result: Singing, warbling artifacts as the algorithm tries to find a pitch in complex material
470
+ - Grain Size parameter: small values = metallic, robotic; large values = smooth, chorus-like
471
+
472
+ **Texture Mode (for creative abuse):**
473
+ - Designed for: ambient, textural, polyphonic material
474
+ - Creative abuse: Apply to ANYTHING and use Grain Size and Flux as sound design tools
475
+ - Grain Size: 1-20 = buzzy, granular, almost synthesis-like; 50-100 = smooth, cloud-like; 100+ = very smooth
476
+ - Flux: 0 = stable, repeating; 50 = gently evolving; 100 = maximally random, chaotic
477
+ - This is Ableton's closest stock equivalent to a granular synth
478
+ - Tip: Load a 1-second drum hit, set Texture mode, Grain 10, Flux 80, stretch to 30 seconds = instant granular drone
479
+
480
+ **Complex Pro Mode (for vocal work):**
481
+ - Designed for: complex, polyphonic material
482
+ - The Formants parameter (0-100%) controls how much formant character is preserved during pitch shifting
483
+ - At 0%: formants shift with pitch (chipmunk/monster effect)
484
+ - At 100%: formants stay natural while pitch changes (transparent transposition)
485
+ - Envelope parameter controls transient preservation
486
+
487
+ ### 7.4 Slice to MIDI Workflow
488
+
489
+ **Description:** Convert an audio loop into a MIDI-triggered Drum Rack where each slice is independently playable, rearrangeable, and processable.
490
+
491
+ **Ableton workflow:**
492
+ 1. Load an audio loop (drum break, vocal phrase, melodic loop) into an audio track
493
+ 2. Double-click the clip to open it in the Detail View
494
+ 3. Adjust warp markers so the loop is properly in time
495
+ 4. Right-click the clip > "Slice to New MIDI Track"
496
+ 5. Choose slicing resolution:
497
+ - **Transient**: Slices at detected transients (best for drums)
498
+ - **Beat division** (1/4, 1/8, 1/16): Fixed grid slicing (best for rhythmic rearrangement)
499
+ - **Warp Markers**: Slices at your manual warp marker positions (most control)
500
+ - **Bar**: One slice per bar (best for long loops)
501
+ 6. A new MIDI track appears with a Drum Rack containing all slices
502
+ 7. The original MIDI pattern plays back identically to the audio — now rearrange, delete, and add notes
503
+ 8. Process individual slices: expand the Drum Rack, add effects per pad (reverb on snare slice, distortion on kick slice)
504
+ 9. Use `get_simpler_slices` to inspect slice points programmatically
505
+
506
+ ### 7.5 Simpler Creative Techniques
507
+
508
+ **Reverse in Simpler:**
509
+ - Toggle the Reverse button (or use `reverse_simpler`) to play the sample backwards
510
+ - Combined with effects: Reverse + Reverb creates classic reverse-reverb swells
511
+ - Use `warp_simpler` to enable/disable warping on the reversed sample
512
+
513
+ **Crop and Replace:**
514
+ - Use `crop_simpler` to trim a sample to only the visible region — useful after finding the perfect section
515
+ - Use `replace_simpler_sample` to swap samples while keeping all Simpler settings (envelope, filter, etc.)
516
+
517
+ **Sample Start Modulation:**
518
+ - Map an LFO or envelope to Simpler's Sample Start parameter
519
+ - Each note triggers from a slightly different position in the sample
520
+ - Creates natural variation — no two notes sound identical
521
+
522
+ ---
523
+
524
+ ## 8. Key Detection Approaches
525
+
526
+ ### 8.1 Chromagram Method (Most Common)
527
+
528
+ **Algorithm:**
529
+ 1. Compute Short-Time Fourier Transform (STFT) of the audio signal
530
+ 2. Map each frequency bin to one of 12 pitch classes (C, C#, D, ... B) by folding all octaves together
531
+ 3. Sum the energy in each pitch class across time to create a Pitch Class Distribution (PCD)
532
+ 4. Correlate the PCD against 24 key profiles (12 major + 12 minor) using the Krumhansl-Schmuckler profiles
533
+ 5. The key with the highest correlation coefficient is the detected key
534
+
535
+ **Strengths:** Simple, fast, works well on tonal music with clear harmonic content.
536
+ **Weaknesses:** Struggles with atonal music, music with many key changes, or heavily percussive material with weak pitch content.
537
+
538
+ **LivePilot integration:** The `get_detected_key` tool performs chromagram-based key detection on any audio clip, and `get_chroma` returns the raw 12-dimensional chroma vector for further analysis.
539
+
540
+ ### 8.2 Hidden Markov Model Method
541
+
542
+ **Algorithm:**
543
+ 1. Compute chromagram as above
544
+ 2. Define states as 24 keys (12 major + 12 minor)
545
+ 3. Define transition probabilities between keys (e.g., C major to G major = high probability, C major to F# major = low probability)
546
+ 4. Use the Viterbi algorithm to find the most likely sequence of keys over time
547
+ 5. The global key is the most frequent state
548
+
549
+ **Strengths:** Handles key changes and modulations. More accurate for complex music.
550
+ **Weaknesses:** More computationally expensive. Requires training data for transition probabilities.
551
+
552
+ ### 8.3 Practical Key Detection in Ableton
553
+
554
+ **Quick ear-based method:**
555
+ 1. Find a sustained note or chord in the sample
556
+ 2. Use a tuner (Ableton's Tuner device on the track) to identify the pitch
557
+ 3. Play along with a piano/synth to find which scale fits
558
+ 4. Use `identify_scale` with the notes you hear to confirm
559
+
560
+ **Hybrid method:**
561
+ 1. Run `get_detected_key` for algorithmic detection
562
+ 2. Verify by ear — play the detected key's scale over the sample
563
+ 3. If the algorithm is wrong (common with ambiguous material), try the relative major/minor or the parallel key
564
+ 4. Use `classify_progression` on any identified chord sequence for deeper harmonic analysis
565
+
566
+ ---
567
+
568
+ ## 9. Transient Detection and Musical Slicing
569
+
570
+ ### 9.1 Transient Detection (Energy-Based)
571
+
572
+ **Algorithm:**
573
+ 1. Compute the spectral flux: for each STFT frame, calculate the sum of positive differences between consecutive magnitude spectra
574
+ 2. Apply a peak-picking function with adaptive threshold to find onset candidates
575
+ 3. Filter candidates by minimum inter-onset interval to avoid double-triggers
576
+ 4. Each detected onset marks a transient
577
+
578
+ **Ableton integration:** Simpler's Slice mode with "Transient" option uses onset detection. The Sensitivity parameter controls the adaptive threshold — higher = more slices, lower = fewer.
579
+
580
+ **LivePilot integration:** `get_onsets` returns detected onset positions for any audio clip.
581
+
582
+ ### 9.2 Beat-Aligned Slicing
583
+
584
+ **Description:** Slice at metrically meaningful positions (beats, half-beats, bars) rather than at acoustic transients. This is better for rhythmic rearrangement because every slice aligns to a musical grid.
585
+
586
+ **When to use:** When rearranging drum breaks. When you want to swap beats between different loops. When building remix-style arrangements.
587
+
588
+ **Ableton workflow:**
589
+ 1. Load a loop into Simpler, switch to Slice mode
590
+ 2. Set Slice By to "Beat" and choose the division (1/4 for beats, 1/8 for half-beats, 1/16 for fine)
591
+ 3. Ensure the sample is correctly warped (BPM matches) so beat divisions align to actual beats
592
+ 4. Slice to Drum Rack for per-beat access
593
+ 5. Now you can rearrange beats: play beat 3 where beat 1 was, reverse beat 4, etc.
594
+
595
+ ### 9.3 Phrase-Level Segmentation
596
+
597
+ **Description:** Detect higher-level musical boundaries — verse/chorus transitions, 4-bar phrase boundaries, section changes. This goes beyond beat detection into music structure analysis.
598
+
599
+ **When to use:** When working with full songs or long recordings. When you need to extract specific sections (just the chorus, just the bridge). When planning arrangement structure.
600
+
601
+ **Ableton workflow:**
602
+ 1. Load the full track into Arrangement view
603
+ 2. Use `get_arrangement_clips` to see the current arrangement structure
604
+ 3. Use Ableton's Set Cue Points at section boundaries (see `toggle_cue_point`)
605
+ 4. Use `analyze_composition` for AI-powered structure detection
606
+ 5. Use `get_section_graph` to see detected section boundaries and their relationships
607
+ 6. For manual phrase detection: look for energy changes, harmonic shifts, and arrangement changes in the waveform
608
+ 7. Place warp markers at phrase boundaries for easy slicing
609
+ 8. Use `get_phrase_grid` for algorithmically detected phrase structure
610
+
611
+ ### 9.4 Novelty-Based Segmentation
612
+
613
+ **Description:** Detect points where the audio changes character — not just transients, but timbral shifts, harmonic changes, or textural transitions. Uses self-similarity matrices and novelty curves.
614
+
615
+ **LivePilot integration:** `get_novelty` returns a novelty curve that highlights moments of significant change in the audio — peaks in this curve are musically meaningful slice points that go beyond simple transient detection.
616
+
617
+ ---
618
+
619
+ ## 10. Creative Constraint Techniques
620
+
621
+ ### 10.1 The One-Sample Challenge
622
+
623
+ **Description:** Create an entire track using only one sample as the source for every element — drums, bass, melody, pads, effects. Forces extreme creativity in processing and resampling.
624
+
625
+ **When to use:** When you are creatively stuck. When you want to develop deeper processing skills. When you want a track with absolute sonic cohesion.
626
+
627
+ **Ableton workflow:**
628
+ 1. Choose a single sample (4-10 seconds of anything — a vocal phrase works well)
629
+ 2. **Kick**: Isolate a transient, pitch down 12-24 semitones, add Saturator for harmonics, shape with short ADSR
630
+ 3. **Snare**: Find a noisy/breathy section, pitch up 5-7 semitones, add Erosion (noise mode), short decay
631
+ 4. **Hi-hat**: Take the highest-frequency portion, pitch up 12+ semitones, add Redux (heavy downsample), very short decay
632
+ 5. **Bass**: Find a tonal section, pitch down 12 semitones, LP filter at 200 Hz, add Saturator (Analog Clip) for upper harmonics
633
+ 6. **Pad**: Stretch the full sample 10-20x using Texture warp mode, add Reverb (100% wet), Chorus
634
+ 7. **Lead**: Load into Simpler, set short loop points on a tonal section, play melodically across keyboard
635
+ 8. **FX/Transition**: Reverse the sample, add Grain Delay with high Spray, record and chop the best moments
636
+ 9. Use `apply_creative_constraint_set` to formalize constraint rules
637
+
638
+ ### 10.2 Genre-Locked Source Constraint
639
+
640
+ **Description:** Sample only from a specific genre or era that is completely different from what you are making. Making techno? Sample only from country records. Making hip-hop? Sample only from classical recordings. The friction between source and destination creates unexpected results.
641
+
642
+ **When to use:** When your music sounds too predictable. When you want to force yourself into unfamiliar harmonic and textural territory.
643
+
644
+ **Ableton workflow:**
645
+ 1. Define your constraint: "I will only sample from [specific genre/decade/artist]"
646
+ 2. Select 3-5 recordings from that constrained source
647
+ 3. Listen through each, marking the most usable moments (unusual chords, interesting textures, surprising rhythms)
648
+ 4. Process heavily to obscure the source genre:
649
+ - Pitch shift +-5 to +-7 semitones
650
+ - Time-stretch 2-4x using Texture warp mode
651
+ - Heavy filtering (bandpass, sweep the center frequency)
652
+ - Resampling through distortion chains
653
+ 5. Build your target genre's structure using only these processed sources
654
+ 6. The constraint forces you to hear musical potential in unexpected places
655
+
656
+ ### 10.3 Time-Limited Composition
657
+
658
+ **Description:** Set a strict time limit (30 minutes, 1 hour) to complete a track from sample selection to final arrangement. The time pressure eliminates overthinking and forces instinctive decisions.
659
+
660
+ **When to use:** When perfectionism is killing your output. When you need to develop faster decision-making skills. When building a large body of work quickly (beat tapes, sketch albums).
661
+
662
+ **Ableton workflow:**
663
+ 1. Set a timer (use your phone, not Ableton)
664
+ 2. First 5 minutes: select and load all samples — do not audition extensively, trust instinct
665
+ 3. Minutes 5-15: build the core loop — drums, bass, main harmonic element
666
+ 4. Minutes 15-25: arrange and add variation — verse/chorus structure, transitions
667
+ 5. Minutes 25-30: quick mix — volume balance, one EQ per track maximum, master limiter
668
+ 6. STOP when the timer ends — export as-is
669
+ 7. Resist the urge to "fix it later" — the rawness is the point
670
+
671
+ ### 10.4 Subtraction-Only Production
672
+
673
+ **Description:** Start with everything and remove elements rather than building up. Load 8-16 loops/samples simultaneously, then sculpt the track by muting, filtering, and removing until only the essential elements remain.
674
+
675
+ **When to use:** When your tracks feel thin or sparse. When you want to approach arrangement from a sculptural perspective. When working with large sample libraries.
676
+
677
+ **Ableton workflow:**
678
+ 1. Load 8-16 loops/samples across tracks — all playing simultaneously
679
+ 2. Match all to the same key and tempo (see Section 6.1)
680
+ 3. Start with everything playing — it will be chaotic
681
+ 4. Begin removing: mute the least essential track. Listen. Mute another. Listen.
682
+ 5. Continue until every remaining element is essential — removing anything would be felt
683
+ 6. Now sculpt with EQ: on each remaining track, carve away frequencies occupied by other tracks
684
+ 7. Add subtle effects (reverb, delay) only where needed
685
+ 8. The arrangement is the process of reintroducing muted elements at different points
686
+ 9. Use `get_mix_issues` and `get_masking_report` to identify frequency conflicts for targeted removal
687
+
688
+ ### 10.5 Found Sound Only
689
+
690
+ **Description:** No synths, no sample packs, no presets. Every sound in the track must be recorded by you from the physical world. Forces deep listening and creative processing.
691
+
692
+ **When to use:** When you want a completely unique sonic palette. When developing your ear for the musicality in everyday sounds. When making musique concrete, experimental, or field recording-based music.
693
+
694
+ **Ableton workflow:**
695
+ 1. Spend 1-2 hours recording sounds: kitchen utensils, doors, objects being struck/scraped/dropped, environmental ambience, your own voice
696
+ 2. Import all recordings into Ableton
697
+ 3. Audition each recording — note which have:
698
+ - Clear pitch (these become melodic elements)
699
+ - Strong transients (these become percussion)
700
+ - Sustained noise/texture (these become pads/atmosphere)
701
+ - Interesting rhythmic patterns (these become loops)
702
+ 4. Process each into its musical role using techniques from Sections 1-5
703
+ 5. Build a complete composition using only these processed field recordings
704
+ 6. The album "Plunderphonics" by John Oswald and the entire musique concrete tradition (Pierre Schaeffer) pioneered this approach
705
+
706
+ ---
707
+
708
+ ## Quick Reference: Technique-to-Tool Mapping
709
+
710
+ | Technique | Primary Ableton Tool | Key LivePilot Tools |
711
+ |-----------|---------------------|-------------------|
712
+ | Granular texture | Grain Delay, Simpler (Texture warp) | `set_clip_warp_mode`, `warp_simpler` |
713
+ | Sample chopping | Simpler (Slice mode), Drum Rack | `get_simpler_slices`, `crop_simpler` |
714
+ | Resampling | Audio track (Resampling input) | `flatten_track`, `create_audio_track` |
715
+ | Vocal processing | Complex Pro warp, Vocoder | `set_clip_warp_mode` |
716
+ | Extreme stretch | Texture warp mode | `set_clip_warp_mode` |
717
+ | Key detection | Tuner, `get_detected_key` | `get_detected_key`, `get_chroma`, `identify_scale` |
718
+ | Transient detection | Simpler Slice (Transient) | `get_onsets`, `get_simpler_slices` |
719
+ | Reverse | Simpler Reverse, Clip Reverse | `reverse_simpler` |
720
+ | Formant control | Complex Pro warp (Formants) | `set_clip_warp_mode` |
721
+ | Creative constraints | N/A (philosophy) | `apply_creative_constraint_set` |
722
+ | Sample replacement | Simpler | `replace_simpler_sample`, `load_sample_to_simpler` |
723
+ | Frequency analysis | EQ Eight, Spectrum | `get_master_spectrum`, `get_spectral_shape` |
724
+ | Structure analysis | Arrangement view, Cue points | `analyze_composition`, `get_section_graph`, `get_phrase_grid` |