livepilot 1.16.0 → 1.17.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 (86) hide show
  1. package/CHANGELOG.md +344 -5
  2. package/README.md +16 -15
  3. package/m4l_device/LivePilot_Analyzer.amxd +0 -0
  4. package/m4l_device/livepilot_bridge.js +1 -1
  5. package/mcp_server/__init__.py +1 -1
  6. package/mcp_server/atlas/__init__.py +85 -0
  7. package/mcp_server/atlas/device_atlas.json +3183 -382
  8. package/mcp_server/atlas/device_techniques_index.json +1510 -0
  9. package/mcp_server/atlas/enrichments/__init__.py +1 -0
  10. package/mcp_server/atlas/enrichments/audio_effects/amp.yaml +112 -0
  11. package/mcp_server/atlas/enrichments/audio_effects/audio_effect_rack.yaml +77 -0
  12. package/mcp_server/atlas/enrichments/audio_effects/cabinet.yaml +81 -0
  13. package/mcp_server/atlas/enrichments/audio_effects/corpus.yaml +128 -0
  14. package/mcp_server/atlas/enrichments/audio_effects/envelope_follower.yaml +99 -0
  15. package/mcp_server/atlas/enrichments/audio_effects/external_audio_effect.yaml +64 -0
  16. package/mcp_server/atlas/enrichments/audio_effects/looper.yaml +85 -0
  17. package/mcp_server/atlas/enrichments/audio_effects/pitch_hack.yaml +61 -0
  18. package/mcp_server/atlas/enrichments/audio_effects/pitchloop89.yaml +111 -0
  19. package/mcp_server/atlas/enrichments/audio_effects/re_enveloper.yaml +51 -0
  20. package/mcp_server/atlas/enrichments/audio_effects/resonators.yaml +121 -0
  21. package/mcp_server/atlas/enrichments/audio_effects/snipper.yaml +53 -0
  22. package/mcp_server/atlas/enrichments/audio_effects/spectral_blur.yaml +64 -0
  23. package/mcp_server/atlas/enrichments/audio_effects/spectrum.yaml +61 -0
  24. package/mcp_server/atlas/enrichments/audio_effects/tuner.yaml +43 -0
  25. package/mcp_server/atlas/enrichments/audio_effects/utility.yaml +118 -0
  26. package/mcp_server/atlas/enrichments/audio_effects/vocoder.yaml +94 -0
  27. package/mcp_server/atlas/enrichments/instruments/analog.yaml +11 -0
  28. package/mcp_server/atlas/enrichments/instruments/bass.yaml +11 -0
  29. package/mcp_server/atlas/enrichments/instruments/bell_tower.yaml +75 -0
  30. package/mcp_server/atlas/enrichments/instruments/collision.yaml +11 -0
  31. package/mcp_server/atlas/enrichments/instruments/drift.yaml +11 -0
  32. package/mcp_server/atlas/enrichments/instruments/drum_rack.yaml +142 -0
  33. package/mcp_server/atlas/enrichments/instruments/electric.yaml +11 -0
  34. package/mcp_server/atlas/enrichments/instruments/emit.yaml +11 -0
  35. package/mcp_server/atlas/enrichments/instruments/granulator_iii.yaml +124 -0
  36. package/mcp_server/atlas/enrichments/instruments/harmonic_drone_generator.yaml +83 -0
  37. package/mcp_server/atlas/enrichments/instruments/impulse.yaml +47 -0
  38. package/mcp_server/atlas/enrichments/instruments/meld.yaml +11 -0
  39. package/mcp_server/atlas/enrichments/instruments/operator.yaml +11 -0
  40. package/mcp_server/atlas/enrichments/instruments/poli.yaml +11 -0
  41. package/mcp_server/atlas/enrichments/instruments/sampler.yaml +12 -0
  42. package/mcp_server/atlas/enrichments/instruments/simpler.yaml +15 -0
  43. package/mcp_server/atlas/enrichments/instruments/sting_iftah.yaml +44 -0
  44. package/mcp_server/atlas/enrichments/instruments/tension.yaml +11 -0
  45. package/mcp_server/atlas/enrichments/instruments/vector_fm.yaml +11 -0
  46. package/mcp_server/atlas/enrichments/instruments/vector_grain.yaml +11 -0
  47. package/mcp_server/atlas/enrichments/instruments/wavetable.yaml +11 -0
  48. package/mcp_server/atlas/enrichments/midi_effects/expressive_chords.yaml +38 -0
  49. package/mcp_server/atlas/enrichments/midi_effects/filler.yaml +49 -0
  50. package/mcp_server/atlas/enrichments/midi_effects/microtuner.yaml +83 -0
  51. package/mcp_server/atlas/enrichments/midi_effects/patterns_iftah.yaml +38 -0
  52. package/mcp_server/atlas/enrichments/midi_effects/phase_pattern.yaml +51 -0
  53. package/mcp_server/atlas/enrichments/midi_effects/polyrhythm.yaml +46 -0
  54. package/mcp_server/atlas/enrichments/midi_effects/retrigger.yaml +40 -0
  55. package/mcp_server/atlas/enrichments/midi_effects/slice_shuffler.yaml +39 -0
  56. package/mcp_server/atlas/enrichments/midi_effects/sq_sequencer.yaml +39 -0
  57. package/mcp_server/atlas/enrichments/midi_effects/stages.yaml +38 -0
  58. package/mcp_server/atlas/enrichments/utility/arrangement_looper.yaml +31 -0
  59. package/mcp_server/atlas/enrichments/utility/cv_clock_in.yaml +25 -0
  60. package/mcp_server/atlas/enrichments/utility/cv_clock_out.yaml +25 -0
  61. package/mcp_server/atlas/enrichments/utility/cv_envelope_follower.yaml +38 -0
  62. package/mcp_server/atlas/enrichments/utility/cv_in.yaml +26 -0
  63. package/mcp_server/atlas/enrichments/utility/cv_instrument.yaml +34 -0
  64. package/mcp_server/atlas/enrichments/utility/cv_lfo.yaml +38 -0
  65. package/mcp_server/atlas/enrichments/utility/cv_shaper.yaml +35 -0
  66. package/mcp_server/atlas/enrichments/utility/cv_triggers.yaml +26 -0
  67. package/mcp_server/atlas/enrichments/utility/cv_utility.yaml +37 -0
  68. package/mcp_server/atlas/enrichments/utility/performer.yaml +51 -0
  69. package/mcp_server/atlas/enrichments/utility/prearranger.yaml +36 -0
  70. package/mcp_server/atlas/enrichments/utility/rotating_rhythm_generator.yaml +35 -0
  71. package/mcp_server/atlas/enrichments/utility/surround_panner.yaml +40 -0
  72. package/mcp_server/atlas/enrichments/utility/variations.yaml +40 -0
  73. package/mcp_server/atlas/enrichments/utility/vector_map.yaml +57 -0
  74. package/mcp_server/atlas/tools.py +291 -0
  75. package/mcp_server/m4l_bridge.py +19 -2
  76. package/mcp_server/sample_engine/tools.py +190 -72
  77. package/mcp_server/server.py +18 -6
  78. package/mcp_server/splice_client/client.py +90 -18
  79. package/mcp_server/splice_client/http_bridge.py +414 -138
  80. package/mcp_server/splice_client/models.py +12 -0
  81. package/mcp_server/tools/analyzer.py +150 -1
  82. package/mcp_server/tools/automation.py +168 -0
  83. package/package.json +2 -2
  84. package/remote_script/LivePilot/__init__.py +1 -1
  85. package/remote_script/LivePilot/arrangement.py +216 -1
  86. package/server.json +3 -3
@@ -0,0 +1,83 @@
1
+ id: harmonic_drone_generator
2
+ name: Harmonic Drone Generator
3
+ sonic_description: >
4
+ 8-voice Max for Live drone synth by Berlin-based Expert Math (shipped inside
5
+ Drone Lab). Each voice has its own tuning assignment, and the device
6
+ supports multiple tuning systems — Solfeggio frequencies, Pythagorean,
7
+ Indonesian Pelog, Indian temperaments, plus equal and just intonation.
8
+ Produces sustained harmonic drones with microtonal beating that equal-
9
+ tempered synths architecturally cannot generate. The secret weapon for
10
+ a harmonic bed that sits under a whole track at -30 dB and makes it
11
+ sound like nothing else.
12
+ synthesis_type: additive_drone
13
+ character_tags: [drone, microtonal, sustained, harmonic, meditative, evolving, dark]
14
+ use_cases: [drone_bed, harmonic_atmosphere, microtonal_pad, ambient_bed, tension_bed]
15
+ genre_affinity:
16
+ primary: [ambient, deep_minimal, dub_techno, drone, experimental]
17
+ secondary: [cinematic, dark_ambient, microhouse]
18
+ complexity: intermediate
19
+ self_contained: true
20
+ introduced_in: "12.0"
21
+ pack: Drone Lab
22
+ creator: Expert Math (Berlin)
23
+ class_name: PluginDevice
24
+
25
+ key_parameters:
26
+ - name: "Tuning System"
27
+ description: "Selects the scale used to map voices. Each tuning produces a different harmonic flavor."
28
+ range: ["Equal", "Just", "Pythagorean", "Solfeggio", "Pelog", "Indian"]
29
+ type: enum
30
+ sweet_spots:
31
+ deep_minimal_bed: "Just"
32
+ dark_meditation: "Solfeggio"
33
+ exotic_mystery: "Pelog"
34
+
35
+ - name: "Voice Count"
36
+ description: "How many of the 8 voices are active. Fewer voices = purer drone; more voices = denser harmonic cloud."
37
+ range: [1, 8]
38
+ type: int
39
+ sweet_spots:
40
+ sub_drone: 2
41
+ full_cloud: 8
42
+
43
+ - name: "Per-voice pitch"
44
+ description: "Each voice has its own pitch assignment. Spread across the scale or stack on root for subtle detuned bed."
45
+ type: composite
46
+
47
+ - name: "Detune"
48
+ description: "Global detune amount. Low values (5-15 cents) give tape-warble; high values break into chord clouds."
49
+ range: [0.0, 100.0]
50
+ unit: "cents"
51
+ type: float
52
+
53
+ - name: "Amp Envelope"
54
+ description: "Long attack (5-10s) for slow-swell pads; short attack for staccato 'one note' hits."
55
+ type: composite
56
+
57
+ signature_techniques:
58
+ - name: "Minimal-techno underlay"
59
+ description: "Just intonation tuning, all 8 voices active but voiced as a sparse cluster (root + 5 + minor 3 + octave), level at -30 dB → sits under the whole track as a harmonic shadow."
60
+ aesthetic: [deep_minimal, dub_techno]
61
+ - name: "Pelog mystery bed"
62
+ description: "Indonesian Pelog scale, 5 voices, long reverb send → off-grid harmonic character that sounds ancient without sounding 'wrong'."
63
+ aesthetic: [ambient, deep_minimal]
64
+ - name: "Evolving drone with automation"
65
+ description: "Automate Detune over 32 bars from 5 to 40 cents → drone starts as a tight pad and slowly blossoms into a chord cloud."
66
+ aesthetic: [drone, cinematic]
67
+
68
+ pairings:
69
+ - device: microtuner
70
+ rationale: "Microtuner can replace or extend the built-in tunings with user-loaded Scala files."
71
+ - device: convolution_reverb
72
+ rationale: "Cathedral or warehouse IR on the Drone Generator's output = Basic Channel-adjacent sustained bed."
73
+ - device: pitchloop89
74
+ rationale: "Slow Position-LFO modulation on the drone through PitchLoop89 = shuddering pitched cloud."
75
+
76
+ gotchas:
77
+ - "All 8 voices at full level clip the output — use Voice Count or the internal level control"
78
+ - "Long attack envelopes don't trigger instantly — for stabs, use short attack or pre-gate"
79
+ - "Solfeggio frequencies are outside standard tuning — this is intentional; don't try to match to a song's key"
80
+
81
+ learn_more:
82
+ official: "https://www.ableton.com/en/packs/drone-lab/"
83
+ pack: "Drone Lab"
@@ -0,0 +1,47 @@
1
+ id: impulse
2
+ name: Impulse
3
+ sonic_description: >
4
+ Ableton's original drum sampler — 8-pad sample player with per-pad
5
+ pitch, pan, volume, and simple filter/saturator/envelope. Older than
6
+ Drum Rack but still ships with Live; lighter CPU, simpler interface.
7
+ Good for quick one-shot drums when you don't need Drum Rack's full
8
+ chain architecture. The understated alternative when a full Drum Rack
9
+ is overkill.
10
+ synthesis_type: drum_sampler
11
+ character_tags: [drum, sample_player, lightweight, 8_pad]
12
+ use_cases: [quick_drums, single_kit, lightweight_programming]
13
+ genre_affinity:
14
+ primary: [house, techno, all_electronic_drums]
15
+ secondary: [all]
16
+ complexity: beginner
17
+ self_contained: false # requires samples
18
+ introduced_in: "7.0"
19
+ pack: Core Library
20
+ creator: Ableton
21
+ class_name: OriginalDevice
22
+ native: true
23
+
24
+ key_parameters:
25
+ - name: "Per-pad sample slot (8 pads)"
26
+ description: "Each pad holds one sample, mapped to a MIDI note."
27
+ - name: "Start / Transpose / Stretch"
28
+ description: "Per-pad playback controls."
29
+ - name: "Saturator"
30
+ description: "Per-pad one-knob saturator."
31
+ - name: "Filter"
32
+ description: "Per-pad LP/HP filter with envelope."
33
+ - name: "Decay / Mute Group"
34
+ description: "Decay envelope; mute group for hi-hat choke patterns."
35
+
36
+ signature_techniques:
37
+ - name: "Quick-and-dirty drum kit"
38
+ description: "Drag 8 samples onto the pads → play. No chain complexity. Great for sketching before moving to Drum Rack."
39
+ aesthetic: [all]
40
+ - name: "Hi-hat choke pattern"
41
+ description: "Put closed and open hats in the same mute group → playing the open hat kills the closed hat tail. Natural choke behavior."
42
+ aesthetic: [house, techno]
43
+
44
+ gotchas:
45
+ - "Only 8 pads — for bigger kits, use Drum Rack"
46
+ - "No per-pad chain = no per-pad effect insert — use return sends instead"
47
+ - "No MPE support"
@@ -101,6 +101,17 @@ key_parameters:
101
101
  tight: 100.0
102
102
  ambient: 2000.0
103
103
 
104
+ signature_techniques:
105
+ - name: "Layered evolving pad"
106
+ description: "Two Drift engines with different characters (one dark, one bright), crossfade-modulated by slow LFO. The pad morphs between timbres without notes changing."
107
+ aesthetic: ['ambient', 'deep_minimal', 'cinematic']
108
+ - name: "Bass + sub stack"
109
+ description: "Engine A: mid bass with character. Engine B: pure sine sub. Balanced -3 dB apart. Two engines = precise crossover without needing a split."
110
+ aesthetic: ['dub_techno', 'trap', 'dnb']
111
+ - name: "Dual-voice chord"
112
+ description: "Engine A: plucked pluck at root. Engine B: sustained pad at 3rd/5th. Stacked voicing without needing two tracks."
113
+ aesthetic: ['house', 'deep_house', 'melodic_techno']
114
+
104
115
  pairs_well_with:
105
116
  - device: "Reverb"
106
117
  reason: "MPE expression + reverb creates deeply immersive evolving soundscapes"
@@ -133,6 +133,17 @@ key_parameters:
133
133
  subtle_vibrato: 0.1
134
134
  deep_modulation: 0.5
135
135
 
136
+ signature_techniques:
137
+ - name: "DX7 bell cluster"
138
+ description: "Algorithm 5 (two parallel 2-op stacks), operator ratios 1:3.51 and 1:14, envelope decay long. The inharmonic ratio 3.51 is the classic bell metallic quality."
139
+ aesthetic: ['synthwave', '80s', 'ambient']
140
+ - name: "Haas deep bass"
141
+ description: "Single sine carrier, modulator at ratio 1:1 low feedback, fundamental at C1. The sine fundamental is what reproduces on laptop speakers via harmonics — FM adds body without touching fundamental."
142
+ aesthetic: ['dub_techno', 'deep_house']
143
+ - name: "Aphex ambient FM pad"
144
+ description: "Algorithm with 3 serial carriers, slow LFO modulating operator levels, long release. Shifts timbre over 16+ bars without notes changing. The 'breathing' is the composition."
145
+ aesthetic: ['idm', 'ambient', 'experimental']
146
+
136
147
  pairs_well_with:
137
148
  - device: "Reverb"
138
149
  reason: "FM bells and keys sound stunning with plate or hall reverb"
@@ -128,6 +128,17 @@ key_parameters:
128
128
  standard: 6
129
129
  full: 12
130
130
 
131
+ signature_techniques:
132
+ - name: "Juno-style detuned chord"
133
+ description: "2 saws detuned 7 cents, sub-osc octave down, low-pass with slight resonance, chorus send heavy. 80s Juno territory without the preset."
134
+ aesthetic: ['synthwave', '80s', 'italo']
135
+ - name: "Retro stab"
136
+ description: "Single saw, fast filter envelope, high resonance, short decay. Classic 1987 house stab — works on top of any groove."
137
+ aesthetic: ['house', 'acid_house', 'electro']
138
+ - name: "Warm pad"
139
+ description: "Saw+square, slow attack, chorus, subtle LFO on cutoff. Where Poli shines vs Analog: less clinical, more 'plastic-fantastic' 80s charm."
140
+ aesthetic: ['synthwave', 'vaporwave', 'synth_pop']
141
+
131
142
  pairs_well_with:
132
143
  - device: "Reverb"
133
144
  reason: "Lush pads benefit from plate or hall reverb for depth"
@@ -14,6 +14,7 @@ genre_affinity:
14
14
  complexity: advanced
15
15
  self_contained: false
16
16
  introduced_in: "1.0"
17
+ pack: Core Library
17
18
 
18
19
  key_parameters:
19
20
  - name: "Filter Type"
@@ -159,6 +160,17 @@ key_parameters:
159
160
  natural: 0.5
160
161
  full_range: 1.0
161
162
 
163
+ signature_techniques:
164
+ - name: "Orchestral multi-velocity"
165
+ description: "4 velocity layers per note (pp/mp/mf/ff), velocity->filter positive so harder hits open brighter. Essential for sampled orchestral realism — anything else sounds like a toy keyboard."
166
+ aesthetic: ['cinematic', 'orchestral']
167
+ - name: "Layered ensemble pad"
168
+ description: "2-3 sample layers per key, detune each slightly, filter each differently. One sample = thin; three samples stacked = lush ensemble without needing a real choir."
169
+ aesthetic: ['ambient', 'cinematic', 'pop']
170
+ - name: "Round-robin drum kit"
171
+ description: "Multi-sample kick/snare/hat with 3-4 round-robin variations per note. Humanizes programmed drums — no two hits sound identical without needing micro-timing."
172
+ aesthetic: ['all']
173
+
162
174
  pairs_well_with:
163
175
  - device: "EQ Eight"
164
176
  reason: "Surgical frequency shaping for multi-sampled instruments in a mix context"
@@ -14,6 +14,7 @@ genre_affinity:
14
14
  complexity: beginner
15
15
  self_contained: false
16
16
  introduced_in: "1.0"
17
+ pack: Core Library
17
18
 
18
19
  key_parameters:
19
20
  - name: "Mode"
@@ -159,6 +160,17 @@ key_parameters:
159
160
  subtle: 0.3
160
161
  wide: 0.7
161
162
 
163
+ signature_techniques:
164
+ - name: "Vocal micro-chop (Akufen)"
165
+ description: "Load vocal, slicing mode, slice per transient, assign pads to short syllable fragments. Program MIDI pattern on the slices — the rhythmic chopping IS the vocal line."
166
+ aesthetic: ['microhouse', 'deep_minimal']
167
+ - name: "Villalobos sub-bass layer"
168
+ description: "One-shot mode, pitched sub sample in C1, warp off, amp envelope short. Layer this UNDER your kick — the sub_low (20-60 Hz) band carries the weight."
169
+ aesthetic: ['minimal_techno', 'dub_techno']
170
+ - name: "J Dilla micro-timed kit"
171
+ description: "Slicing mode on a classic break (e.g. Amen, Funky Drummer), slice per transient, then program MIDI with slight timing offsets (+/-10 ticks) — Dilla's micro-drunk feel comes from MIDI, not groove templates."
172
+ aesthetic: ['hip_hop', 'lo_fi', 'soul']
173
+
162
174
  pairs_well_with:
163
175
  - device: "Auto Filter"
164
176
  reason: "Adds rhythmic filter movement and envelope following to sampled material"
@@ -215,3 +227,6 @@ gotchas:
215
227
  - "Transpose shifts pitch in semitones, not time — use Warp for time-stretching without pitch change"
216
228
  - "crop_simpler and reverse_simpler are available as LivePilot tools for destructive sample editing"
217
229
  - "replace_simpler_sample only works if a sample is already loaded — cannot replace an empty Simpler"
230
+ - "Snap must be OFF after load_sample_to_simpler, or the sample plays silently (known Live bug). LivePilot auto-clears Snap in the role-aware load path"
231
+ - "load_browser_item Simplers come up at Volume=-12 dB and Ve Mode=None; track meter reads normal but master reads silence. Set Volume=0 dB on sustained tracks"
232
+ - "Slice mode maps slice N to MIDI pitch 36+N (base C1), NOT 60+C3 — notes at pitch 60+ produce silence. See `get_simpler_slices` doesn't disclose the base pitch"
@@ -0,0 +1,44 @@
1
+ id: sting_iftah
2
+ name: "Sting (Iftah)"
3
+ sonic_description: >
4
+ 16-step acid-line performance tool by Iftah (Generators pack). Combines a
5
+ mono synth voice with a generative sequencer offering 3D pattern morphing
6
+ — up to 256 unique pattern combinations. Built for live improvisation but
7
+ equally useful in the studio as a 'mutating sub-bass generator' when
8
+ detuned and dropped low. Not just for acid tracks.
9
+ synthesis_type: mono_synth_with_sequencer
10
+ character_tags: [acid, mutating, generative, mono, performer_oriented]
11
+ use_cases: [acid_bass, mutating_sub_bass, live_improvisation, generative_bassline]
12
+ genre_affinity:
13
+ primary: [acid_house, psytrance, techno, trance]
14
+ secondary: [deep_minimal, microhouse (with tricks)]
15
+ complexity: intermediate
16
+ self_contained: true
17
+ introduced_in: "11.0"
18
+ pack: Generators by Iftah
19
+ creator: Iftah
20
+ class_name: PluginDevice
21
+
22
+ key_parameters:
23
+ - name: "Note Selection"
24
+ description: "Which notes are available in the sequence."
25
+ - name: "Dynamic Expression"
26
+ description: "Accent / slide patterns — the acid character."
27
+ - name: "Type Morph"
28
+ description: "Slider from random to acid-type sequences."
29
+ - name: "Root Note"
30
+ description: "Transpose the whole pattern."
31
+ - name: "Rate / Beat Division"
32
+ description: "Sequence rate."
33
+ - name: "Density"
34
+ description: "How many of the 16 steps trigger. Low density = sparse bass."
35
+ signature_techniques:
36
+ - name: "Mutating minimal sub-bass"
37
+ description: "Detune heavily, drop pitch low, Density ~15%, low-pass filter → 'acid line' becomes a warm mutating sub-bass that's never the same two bars in a row."
38
+ aesthetic: [deep_minimal, microhouse]
39
+ - name: "Classic acid 303 performance"
40
+ description: "Default patch, full Type Morph to acid, mid density → classic acid line; use 3D morph mapped to a performance controller."
41
+ aesthetic: [acid_house, psytrance]
42
+
43
+ learn_more:
44
+ official: "https://www.ableton.com/en/packs/generators-by-iftah/"
@@ -97,6 +97,17 @@ key_parameters:
97
97
  subtle: 0.1
98
98
  expressive: 0.3
99
99
 
100
+ signature_techniques:
101
+ - name: "Plucked gut string"
102
+ description: "Plectrum exciter, string damping high, body=acoustic guitar, noise low. Useful as a percussion-melody hybrid when acoustic guitar sampling feels sterile."
103
+ aesthetic: ['ambient', 'folk_electronic', 'cinematic']
104
+ - name: "Bowed cello low register"
105
+ description: "Bow exciter, slow speed, pressure medium, body=cello, full sustain. Pair with Convolution Reverb hall IR for Jóhann Jóhannsson / Max Richter territory."
106
+ aesthetic: ['cinematic', 'ambient', 'modern_classical']
107
+ - name: "Metal-string drone"
108
+ description: "Bow on a high-tension thin string, no damping, infinite sustain — the sound is pure harmonic series. Useful under sustained pads as hidden-voice color."
109
+ aesthetic: ['ambient', 'drone', 'experimental']
110
+
100
111
  pairs_well_with:
101
112
  - device: "Reverb"
102
113
  reason: "Bowed strings and plucks sound natural in reverberant spaces — essential for realism"
@@ -103,6 +103,17 @@ key_parameters:
103
103
  natural: 300.0
104
104
  ambient: 2000.0
105
105
 
106
+ signature_techniques:
107
+ - name: "Modulated bell cluster"
108
+ description: "Carrier at C4, modulator at inharmonic ratio, Vector X controlling modulator depth, Vector Y controlling feedback. Particle motion makes the bell evolve physically."
109
+ aesthetic: ['ambient', 'experimental', 'deep_minimal']
110
+ - name: "Metallic drone"
111
+ description: "Low carrier (C1), high modulator, Vector coupled to both. Sounds like a large resonant object being struck and allowed to decay over 30 seconds."
112
+ aesthetic: ['drone', 'ambient', 'experimental']
113
+ - name: "Pulsing FM bass"
114
+ description: "Carrier at fundamental, modulator LFO'd by Vector X, amp LFO'd by Vector Y. FM bass with physical 'breathing' rather than square-wave LFO control."
115
+ aesthetic: ['deep_minimal', 'idm', 'experimental']
116
+
106
117
  pairs_well_with:
107
118
  - device: "Reverb"
108
119
  reason: "FM timbres gain depth and space in reverb — morphing vector creates shifting reflections"
@@ -111,6 +111,17 @@ key_parameters:
111
111
  balanced: 5000.0
112
112
  open: 15000.0
113
113
 
114
+ signature_techniques:
115
+ - name: "Basinski tape degradation"
116
+ description: "Load a vocal or orchestral source, grain size medium, grain position drifting slowly (via Vector), feedback high. Each playback degrades slightly — the source DECAYS as the piece plays."
117
+ aesthetic: ['ambient', 'experimental', 'modern_classical']
118
+ - name: "Dense grain cloud"
119
+ description: "Grain density maximum, pitch spread wide, position random. The source is obliterated into texture — useful when the sample is too recognizable."
120
+ aesthetic: ['idm', 'ambient', 'drone']
121
+ - name: "Slow-motion sustain"
122
+ description: "Grain size long (500-1000ms), density low (1-2 grains), pitch ratio 0.5 or 0.25. Effectively time-stretches the source with lo-fi grain character. Stars of the Lid territory."
123
+ aesthetic: ['ambient', 'drone', 'modern_classical']
124
+
114
125
  pairs_well_with:
115
126
  - device: "Reverb"
116
127
  reason: "Grain clouds dissolve beautifully into reverb — creates immersive washes"
@@ -102,6 +102,17 @@ key_parameters:
102
102
  range: ["Matrix routing"]
103
103
  type: enum
104
104
 
105
+ signature_techniques:
106
+ - name: "Supersaw trance lead"
107
+ description: "Saw wavetable, voices=7, spread=0.35, subosc square octave up, LPF fully open, chorus via unison detune not effect. Aim for glued breadth not comb-filter thinness."
108
+ aesthetic: ['trance', 'edm', 'progressive']
109
+ - name: "Morphing ambient pad"
110
+ description: "Two wavetables (e.g. Formant + Noise), wavetable-position modulated by slow LFO (0.05 Hz), filter envelope negative so tone opens during decay. No notes change — the TIMBRE is the music."
111
+ aesthetic: ['ambient', 'experimental', 'idm']
112
+ - name: "Wobble bass"
113
+ description: "Square-ish wavetable, LFO to filter cutoff synced at 1/8 or 1/16, depth near max. Classic dubstep bass — position automation over 4 bars moves texture under the wobble."
114
+ aesthetic: ['dubstep', 'bass_music', 'trap']
115
+
105
116
  pairs_well_with:
106
117
  - device: "Reverb"
107
118
  reason: "Pads and textures come alive with long reverb tails and high diffusion"
@@ -0,0 +1,38 @@
1
+ id: expressive_chords
2
+ name: Expressive Chords
3
+ sonic_description: >
4
+ MIDI chord library + voicing engine. 52 chord sets across gospel, trap,
5
+ R&B, jazz, classical, house, post-rock. MPE-ready — per-note pitch-bend,
6
+ dynamics, articulation. Trigger a root note, get a full voicing; use
7
+ MPE to bend individual voice members.
8
+ category: chord_library
9
+ character_tags: [chord, voicing, library, mpe]
10
+ use_cases: [quick_chords, voicing_variety, harmonic_sketch]
11
+ genre_affinity:
12
+ primary: [gospel, trap, rnb, jazz, classical, house, post_rock]
13
+ secondary: [all]
14
+ complexity: beginner
15
+ introduced_in: "11.0"
16
+ pack: Expressive Chords
17
+ creator: Render Audio + Ableton + Andrew Bruce
18
+ class_name: PluginDevice
19
+
20
+ key_parameters:
21
+ - name: "Chord Set"
22
+ description: "52 sets organized by genre/feel."
23
+ - name: "Root Note"
24
+ description: "Transpose the current voicing."
25
+ - name: "Voicing Variation"
26
+ description: "Swap inversions and voicings within the selected set."
27
+ - name: "MPE Modulation"
28
+ description: "Per-note pitch/velocity from an MPE controller."
29
+ signature_techniques:
30
+ - name: "Sparse post-rock for minimal house"
31
+ description: "Pick post-rock set → let only top 2-3 voices through (gate the others) → sparse open voicings that work as minimal chord stabs."
32
+ aesthetic: [deep_minimal, post_rock]
33
+ - name: "MPE micro-tuning drift on held chord"
34
+ description: "Hold a chord → MPE pitch-bend each voice independently → organic detuning drift."
35
+ aesthetic: [jazz, experimental]
36
+
37
+ learn_more:
38
+ official: "https://www.ableton.com/en/packs/expressive-chords/"
@@ -0,0 +1,49 @@
1
+ id: filler
2
+ name: Filler
3
+ sonic_description: >
4
+ MIDI drum-pattern generator (Building Max Devices). A simple algorithmic
5
+ drum fill generator — useful as a free alternative to Patterns (Iftah)
6
+ when you just need quick drum content.
7
+ category: generator
8
+ character_tags: [drum_generator, algorithmic, simple]
9
+ use_cases: [drum_programming_quickstart, fill_generation]
10
+ genre_affinity:
11
+ primary: [all_electronic_drums]
12
+ complexity: beginner
13
+ introduced_in: "11.0"
14
+ pack: Building Max Devices
15
+ creator: Ableton
16
+ class_name: PluginDevice
17
+
18
+ key_parameters:
19
+ - name: "Density"
20
+ description: "Pattern density — sparse to dense."
21
+ - name: "Drum Voices"
22
+ description: "Which drum pads to fill."
23
+ - name: "Randomize"
24
+ description: "Re-generate pattern with randomization."
25
+
26
+ signature_techniques:
27
+ - name: "Quick drum sketch"
28
+ description: "Dial density, click generate, commit the pattern you like. Move on — don't spend time."
29
+ aesthetic: [all]
30
+ - name: "Sparse minimal starter"
31
+ description: "Density at 20-30%, kick-snare-hat only, randomize → random sparse pattern → pick one as the minimal starting point for further human editing."
32
+ aesthetic: [deep_minimal, microhouse]
33
+
34
+ pairs_well_with:
35
+ - device: "Drum Rack"
36
+ reason: "Filler outputs MIDI — route it INTO a Drum Rack, not onto a synth"
37
+ - device: "Velocity"
38
+ reason: "Filler's velocity output is often flat — follow with Velocity MIDI effect for dynamic shaping"
39
+ - device: "Retrigger"
40
+ reason: "Filler for base pattern, Retrigger for fill density on accent beats"
41
+
42
+ gotchas:
43
+ - "Filler OUTPUTS MIDI to subsequent devices on the track — it does not play back on its own. Place before a Drum Rack"
44
+ - "Patterns (Iftah, from Generators by Iftah pack) is more musical for minimal. Use Filler when you want FREE and instant"
45
+ - "Randomize re-generates on every click — use undo to A/B compare patterns"
46
+ - "Density doesn't account for genre — high density in trap context, low in minimal. Adjust per aesthetic"
47
+
48
+ learn_more:
49
+ pack: "Building Max Devices"
@@ -0,0 +1,83 @@
1
+ id: microtuner
2
+ name: Microtuner
3
+ sonic_description: >
4
+ MIDI device (Max for Live) that applies microtonal tunings to downstream
5
+ instruments. Imports Scala (.scl) files — the standard format for
6
+ microtonal tunings, freely available from the Huygens-Fokker archive.
7
+ Supports pitch count up to 128, arbitrary octave ratios, Lead/Follow mode
8
+ to sync scales across multiple Microtuner instances, polyphonic playback,
9
+ MPE compatibility. Real-time blend-two-scales slider for shapeshifting
10
+ melodies and recasted chords.
11
+ category: tuning
12
+ character_tags: [microtonal, scale, shapeshifting, polyphonic, mpe]
13
+ use_cases: [microtonal_melody, scale_morph, drone_tuning, chord_recasting]
14
+ genre_affinity:
15
+ primary: [ambient, experimental, deep_minimal, drone]
16
+ secondary: [microhouse, jazz_fusion, cinematic]
17
+ complexity: intermediate
18
+ introduced_in: "12.0"
19
+ pack: Microtuner
20
+ creator: Ableton
21
+ class_name: PluginDevice
22
+
23
+ key_parameters:
24
+ - name: "Scale (Deck A / Deck B)"
25
+ description: "Two independent scale slots. Load .scl files by drag-drop. Blend between them via the Blend slider."
26
+ type: composite
27
+
28
+ - name: "Blend"
29
+ description: "Morph between Deck A and Deck B scales in real-time. Automate over 16+ bars for harmonic drift."
30
+ range: [0.0, 1.0]
31
+ type: float
32
+ sweet_spots:
33
+ pure_deck_a: 0.0
34
+ midpoint_morph: 0.5
35
+ automated_drift: "0.0 → 1.0 over 32 bars"
36
+
37
+ - name: "Reference Pitch"
38
+ description: "The reference MIDI note that maps to 'unity' in the scale. Usually 60 (middle C) or 69 (A4 = 440Hz)."
39
+ range: [0, 127]
40
+ type: int
41
+
42
+ - name: "Base Frequency"
43
+ description: "Frequency assigned to the reference pitch. 440Hz standard; try 432Hz for conspiratorial-warmth vibes."
44
+ range: [200, 600]
45
+ unit: "Hz"
46
+ type: float
47
+
48
+ - name: "Lead / Follow"
49
+ description: "In Lead mode, broadcasts its scale via Live's state. In Follow mode, receives from a Lead instance. Use to sync scales across instruments."
50
+ range: ["Lead", "Follow", "None"]
51
+ type: enum
52
+
53
+ signature_techniques:
54
+ - name: "Villalobos-style microtonal melody"
55
+ description: "Load a 19-tone equal-temperament (19-TET) Scala file → play a simple motif → immediately off-grid harmonic character without sounding random."
56
+ aesthetic: [deep_minimal, microhouse]
57
+ - name: "Partch 43-tone drone"
58
+ description: "Load Harry Partch's 43-tone just-intonation scale → apply to Drone Lab's Harmonic Drone Generator → ancient-sounding sustained bed."
59
+ aesthetic: [drone, ambient]
60
+ - name: "Two-scale automated morph"
61
+ description: "Deck A = major scale, Deck B = 19-TET. Automate Blend from 0 to 1 over 16 bars → harmony literally reshapes in time."
62
+ aesthetic: [experimental, deep_minimal]
63
+ - name: "Quarter-tone lead for expressive MPE"
64
+ description: "Load a 24-TET scale + ROLI-style MPE controller → slides and bends fall onto microtonal grid for non-Western expressivity."
65
+ aesthetic: [jazz_fusion, world, experimental]
66
+
67
+ pairings:
68
+ - device: harmonic_drone_generator
69
+ rationale: "Override Drone Generator's built-in tunings with custom Scala imports for unlimited microtonal variety."
70
+ - device: granulator_iii
71
+ rationale: "Microtuner upstream of Granulator = grain-cloud beds in non-standard tunings."
72
+ - device: operator
73
+ rationale: "FM synthesis in alternative tunings produces wild inharmonic spectra — Operator responds especially well."
74
+
75
+ gotchas:
76
+ - "Scale must be loaded BEFORE the downstream instrument receives notes — otherwise Live plays equal-tempered."
77
+ - "MPE works only when the downstream instrument is MPE-capable (Meld, Wavetable with MPE on, Granulator III, etc.)."
78
+ - "Lead/Follow sync requires Live 12.1+."
79
+ - "Some instruments ignore pitch bend beyond ±2 semitones — check the instrument's pitch-bend range before loading exotic scales."
80
+
81
+ learn_more:
82
+ official: "https://www.ableton.com/en/packs/microtuner/"
83
+ scala_archive: "http://www.huygens-fokker.org/microtonality/scales.html"
@@ -0,0 +1,38 @@
1
+ id: patterns_iftah
2
+ name: "Patterns (Iftah)"
3
+ sonic_description: >
4
+ Algorithmic drum generator by Iftah (Generators pack). Six drum voices,
5
+ each with its own generation algorithm. Click Generate → instant drum
6
+ pattern. Click again → different pattern. The microhouse producer's
7
+ one-click sparse-drum solution — dial it to taste, commit.
8
+ category: generator
9
+ character_tags: [algorithmic, drum, one_click, six_voice]
10
+ use_cases: [drum_programming, sparse_beat, quick_ideation, fill_generation]
11
+ genre_affinity:
12
+ primary: [microhouse, deep_minimal, techno, house]
13
+ secondary: [idm, acid, electronica]
14
+ complexity: beginner
15
+ introduced_in: "11.0"
16
+ pack: Generators by Iftah
17
+ creator: Iftah
18
+ class_name: PluginDevice
19
+
20
+ key_parameters:
21
+ - name: "Voice Toggles"
22
+ description: "Enable each of 6 drum voices (kick, snare, closed hat, open hat, rim, shaker) independently."
23
+ - name: "Per-Voice Algorithm"
24
+ description: "Each voice has its own generation logic — pick density/sparsity per voice."
25
+ - name: "Generate Button"
26
+ description: "One click = new pattern. Non-destructive — commit via clip copy."
27
+ - name: "Output MIDI Notes (per voice)"
28
+ description: "Assign each voice to a drum-rack pad note."
29
+ signature_techniques:
30
+ - name: "Sparse microhouse pattern"
31
+ description: "Disable snare + open hat → Generate until pattern feels right → all voices at low density → immediate Villalobos-adjacent groove."
32
+ aesthetic: [microhouse, deep_minimal]
33
+ - name: "Genre-spanning drum ideation"
34
+ description: "Use for fast first-draft drums across any genre — commit the one that fits, adjust by hand."
35
+ aesthetic: [all_electronic]
36
+
37
+ learn_more:
38
+ official: "https://www.ableton.com/en/packs/generators-by-iftah/"
@@ -0,0 +1,51 @@
1
+ id: phase_pattern
2
+ name: Phase Pattern
3
+ sonic_description: >
4
+ Clip-based MIDI transformer by Philip Meyer. Takes an existing clip and
5
+ applies organic timing, pitch, and velocity phase-shifts to produce
6
+ human-feeling variations. Unlike random quantization, Phase Pattern uses
7
+ phase relationships between parameters — timing offset can drive velocity
8
+ swing, pitch can drive timing. The result has coherent 'musicianship'
9
+ rather than random noise. THE microhouse sequencer for 'make this feel
10
+ human without losing the groove'.
11
+ category: transformation
12
+ character_tags: [phase, organic, humanize, coherent_variation, clip_based]
13
+ use_cases: [humanize, swing_drift, organic_timing, coherent_variation]
14
+ genre_affinity:
15
+ primary: [microhouse, deep_minimal, idm]
16
+ secondary: [jazz, electronica, experimental]
17
+ complexity: intermediate
18
+ introduced_in: "12.1"
19
+ pack: MIDI Tools
20
+ creator: Philip Meyer
21
+ class_name: PluginDevice
22
+
23
+ key_parameters:
24
+ - name: "Timing Offset"
25
+ description: "How much each note's start_time can shift from grid. Phase-driven, not random."
26
+ range: [0.0, 1.0]
27
+ type: float
28
+ - name: "Pitch Variation"
29
+ description: "Semitone variation applied in phase with other parameters."
30
+ range: [0, 12]
31
+ unit: "st"
32
+ type: int
33
+ - name: "Velocity Variation"
34
+ description: "Velocity phase-shift depth."
35
+ - name: "Quantize"
36
+ description: "Re-quantize output (locked) or leave free (free-form phase drift)."
37
+ type: enum
38
+
39
+ signature_techniques:
40
+ - name: "Micro-swing for rigid drum patterns"
41
+ description: "Low Timing Offset (0.15), Quantize off → every hit drifts slightly from grid in a coherent, groove-affirming way (no random chaos)."
42
+ aesthetic: [microhouse, deep_minimal]
43
+ - name: "Organic vocal stutter"
44
+ description: "Apply to a vocal chop clip → phase-coherent timing/pitch shifts → chops feel recorded not programmed."
45
+ aesthetic: [microhouse, idm]
46
+
47
+ gotchas:
48
+ - "Results are coherent but still non-deterministic — regenerating gives different output. Commit the version you like."
49
+
50
+ learn_more:
51
+ official: "https://www.ableton.com/en/packs/midi-tools/"