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,61 @@
1
+ id: pitch_hack
2
+ name: Pitch Hack
3
+ sonic_description: >
4
+ Versatile pitch-shifting delay for Creative Extensions. Combines
5
+ transposition, reverse, feedback, and randomization on a single delay
6
+ line. Lighter-weight companion to PitchLoop89 — less of a spatial
7
+ architect, more of a per-sound treatment for pitched echoes and random
8
+ reversal textures. The go-to for Akufen-style micro-stutter on hats and
9
+ the random-reverse pitched ghosts that Villalobos uses on every track.
10
+ category: pitch_delay
11
+ character_tags: [pitched, glitchy, reversed, randomized, micro_stutter]
12
+ use_cases: [akufen_stutter, pitched_ghost, reverse_echo, textural_delay]
13
+ genre_affinity:
14
+ primary: [microhouse, deep_minimal, idm, experimental]
15
+ secondary: [dub_techno, electronica]
16
+ complexity: beginner
17
+ introduced_in: "10.0"
18
+ pack: Creative Extensions
19
+ creator: Ableton + Amazing Noises
20
+ class_name: PluginDevice
21
+
22
+ key_parameters:
23
+ - name: "Transpose"
24
+ description: "Pitch shift in semitones + cents on the delayed signal."
25
+ range: [-24, 24]
26
+ unit: "st"
27
+ type: int
28
+ - name: "Delay Time"
29
+ description: "Delay in ms or tempo-synced subdivisions."
30
+ - name: "Feedback"
31
+ description: "Pitched echo feedback. Cascading when transpose is non-zero."
32
+ range: [0.0, 1.0]
33
+ type: float
34
+ - name: "Reverse"
35
+ description: "Reverse-plays the delay buffer."
36
+ type: boolean
37
+ - name: "Randomize"
38
+ description: "Randomizes pitch and/or reverse per repeat. The Villalobos-texture parameter."
39
+ range: [0.0, 1.0]
40
+ type: float
41
+
42
+ signature_techniques:
43
+ - name: "Akufen micro-stutter on hats"
44
+ description: "Short delay (~50ms), Feedback 0.4, Randomize 0.6 → every hi-hat hit gets 2-3 unpredictable pitched ghost echoes."
45
+ aesthetic: [microhouse]
46
+ - name: "Ghost chord tails"
47
+ description: "Chord stab → Reverse on, Transpose +3st, Feedback 0.5 → pitched reverse ghost trails fade out after each stab."
48
+ aesthetic: [deep_minimal]
49
+ - name: "Random pitched percussion"
50
+ description: "Put on a clave or click → Randomize full → each hit decays into a different pitched echo pattern."
51
+ aesthetic: [microhouse, idm]
52
+
53
+ pairings:
54
+ - device: spectral_blur
55
+ rationale: "Feed Pitch Hack's random-pitched output into Spectral Blur's halo for ghost atmospheres under the kick."
56
+
57
+ gotchas:
58
+ - "Randomize above 0.8 can produce notes wildly out of key — gate with key-detection first if harmony matters."
59
+
60
+ learn_more:
61
+ official: "https://www.ableton.com/en/packs/creative-extensions/"
@@ -0,0 +1,111 @@
1
+ id: pitchloop89
2
+ name: PitchLoop89
3
+ sonic_description: >
4
+ Robert Henke's emulation of the 1979 Publison DHM 89 B2 pitch-shifting delay.
5
+ Two independent pitch-shifting delay voices per stereo channel, each with
6
+ their own pitch (±24 semitones), fine detune (±1 semitone), feedback, pan,
7
+ and reverse capability. Sample rate selection, hold function, vibrato LFO
8
+ (sine/square), position modulation LFO with 7 waveforms. THE tool for
9
+ Monolake-style detuned delay clouds, Basic Channel spatial signatures,
10
+ and Arpiar-adjacent shimmered stabs.
11
+ category: pitch_delay
12
+ character_tags: [detuned, shimmering, glitchy, spatial, pitched, experimental, vintage_digital]
13
+ use_cases: [stab_shimmer, detuned_echo, reverse_tail, infinite_feedback, glitched_texture]
14
+ genre_affinity:
15
+ primary: [deep_minimal, dub_techno, ambient, experimental]
16
+ secondary: [microhouse, idm, drone, cinematic]
17
+ complexity: intermediate
18
+ introduced_in: "11.0"
19
+ pack: PitchLoop89
20
+ creator: Robert Henke
21
+ class_name: PluginDevice
22
+
23
+ key_parameters:
24
+ - name: "Pitch A / Pitch B"
25
+ description: "Coarse pitch shift per voice, in semitones. Two voices mean you can split: one +0.05 cents shimmer, one -0.07 cents detune for dual-detune clouds."
26
+ range: [-24, 24]
27
+ unit: "st"
28
+ type: int
29
+ sweet_spots:
30
+ dual_detune_cloud: "+0.05 / -0.07 cents"
31
+ octave_shimmer: "+12 / +0"
32
+ reverse_ambience: "+0 / +0 with reverse on"
33
+
34
+ - name: "Fine A / Fine B"
35
+ description: "Fine detune per voice in cents (±100)."
36
+ range: [-100, 100]
37
+ unit: "cents"
38
+ type: int
39
+ sweet_spots:
40
+ shimmer: "+5 / -7"
41
+ chorus_thick: "+15 / -15"
42
+
43
+ - name: "Feedback A / Feedback B"
44
+ description: "Per-voice feedback. High values (80-95%) produce infinite-ascending or descending pitch spirals. Shepard-tone territory."
45
+ range: [0.0, 1.0]
46
+ type: float
47
+ sweet_spots:
48
+ subtle_echo: 0.35
49
+ pitched_spiral: 0.85
50
+ near_infinite: 0.97
51
+
52
+ - name: "Reverse"
53
+ description: "Per-voice reverse playback. Reverses the delay buffer before pitch shift — creates 'reverse swell' tails from any transient."
54
+ type: boolean
55
+ sweet_spots:
56
+ chord_swell_in: true
57
+
58
+ - name: "Mode"
59
+ description: "Signal routing: L/R (independent), Sum (both voices sum to mono), Cross (voice A to R out, voice B to L out, stereo ping-pong at different pitches)."
60
+ range: ["L/R", "Sum", "Cross"]
61
+ type: enum
62
+ sweet_spots:
63
+ stereo_ping_pong: "Cross"
64
+ mono_layer: "Sum"
65
+
66
+ - name: "Sample Rate"
67
+ description: "Buffer sample rate reduction. Lower values add characterful lo-fi grit — emulates the original Publison's digital artifacts."
68
+ range: [1, 44100]
69
+ unit: "Hz"
70
+ type: int
71
+ sweet_spots:
72
+ vintage_89: 12000
73
+ heavy_lofi: 4000
74
+
75
+ - name: "Vibrato LFO"
76
+ description: "Modulates pitch over time. Sine or square waveform; rate in Hz."
77
+ type: composite
78
+
79
+ - name: "Position LFO"
80
+ description: "Modulates the read position in the delay buffer. Seven waveforms including random. The source of the 'shuddering glitch' and 'fractured rhythm' textures Henke uses."
81
+ type: composite
82
+
83
+ signature_techniques:
84
+ - name: "Shimmer on any stab"
85
+ description: "Put on a chord stab → Pitch A=0, Fine A=+5, Pitch B=0, Fine B=-7, Feedback both at 0.4 → instant detuned shimmer cloud that hangs after the stab."
86
+ aesthetic: [arpiar, microhouse, dub_techno]
87
+ - name: "Reverse-in on chords"
88
+ description: "Enable Reverse on both voices, short delay time → chord swells backwards in before the downbeat. Haunting Monolake effect."
89
+ aesthetic: [dub_techno, cinematic]
90
+ - name: "Infinite Shepard on clicks"
91
+ description: "Feed a single click → Feedback ~0.92, Pitch A=+12, Pitch B=0 → infinite ascending cascade. Classic Henke."
92
+ aesthetic: [experimental, idm]
93
+ - name: "Pitched ghost delay"
94
+ description: "Slow Position LFO with random waveform → delay buffer warps around, producing organic pitched ghosts that never repeat."
95
+ aesthetic: [deep_minimal, experimental]
96
+
97
+ pairings:
98
+ - device: convolution_reverb
99
+ rationale: "PitchLoop89 feeding Convolution Reverb's Farfisa Spring IR = the Basic Channel / Monolake spatial chain."
100
+ - device: granulator_iii
101
+ rationale: "Layer after Granulator for detuned shimmer on top of grain clouds."
102
+ - device: utility
103
+ rationale: "Send a short-decay copy of the source to PitchLoop89 via a return track — leaves the original dry while the pitched tail trails."
104
+
105
+ gotchas:
106
+ - "Feedback above 0.95 can self-oscillate into runaway loop — keep a hand on the mute"
107
+ - "Reverse mode introduces latency equal to the buffer length — sync-critical material needs delay compensation"
108
+ - "Sample Rate very low (<2000Hz) aliases heavily; character, not hi-fi"
109
+
110
+ learn_more:
111
+ official: "https://www.ableton.com/en/packs/pitchloop89/"
@@ -0,0 +1,51 @@
1
+ id: re_enveloper
2
+ name: Re-Enveloper
3
+ sonic_description: >
4
+ Multiband envelope processor with three adjustable frequency bands. Unlike
5
+ compression (which reduces amplitude when over threshold), Re-Enveloper
6
+ reshapes envelope character itself — attack, sustain, decay — independently
7
+ per band. The right tool for 'shorten the decay of this sustained sound so
8
+ it behaves like a stab' or 'expand the transient on the highs only'.
9
+ category: dynamics
10
+ character_tags: [multiband, envelope_shaping, transient, sculpted]
11
+ use_cases: [transient_shape, decay_control, per_band_dynamics, micro_stab]
12
+ genre_affinity:
13
+ primary: [minimal, dub_techno, electronica]
14
+ secondary: [all_genres]
15
+ complexity: intermediate
16
+ introduced_in: "10.0"
17
+ pack: Creative Extensions
18
+ creator: Ableton + Amazing Noises
19
+ class_name: PluginDevice
20
+
21
+ key_parameters:
22
+ - name: "Band Split Frequencies"
23
+ description: "Low/Mid and Mid/High crossover points in Hz."
24
+ range: [20, 20000]
25
+ unit: "Hz"
26
+ type: float
27
+ - name: "C/E Factor (per band)"
28
+ description: "Compression (positive) or Expansion (negative) factor per band."
29
+ range: [-5.0, 5.0]
30
+ type: float
31
+ sweet_spots:
32
+ subtle_expand: 1.5
33
+ aggressive_stab: 3.0
34
+ decay_tightening: -2.0
35
+ - name: "Attack / Release (per band)"
36
+ description: "Envelope-shape time constants for each band independently."
37
+
38
+ signature_techniques:
39
+ - name: "Turn sustained chord into stab"
40
+ description: "Low + mid bands at -3.0 C/E (expansion toward short decay), short release → 4-bar pad becomes punchy 1/4-note stab."
41
+ aesthetic: [deep_minimal]
42
+ - name: "Expand only the snare transient"
43
+ description: "High band 2.5 expansion, slow release → snare crack pops out without affecting kick or toms."
44
+ aesthetic: [all]
45
+
46
+ gotchas:
47
+ - "Expansion factors above 4.0 can cause clipping — compensate output gain."
48
+ - "Crossover bands overlap by ~6dB — not a surgical splitter."
49
+
50
+ learn_more:
51
+ official: "https://www.ableton.com/en/packs/creative-extensions/"
@@ -0,0 +1,121 @@
1
+ id: resonators
2
+ name: Resonators
3
+ sonic_description: >
4
+ Five parallel tuned comb-filter resonators. Imposes a chord onto any
5
+ signal — drums become pitched, noise becomes a tone, speech becomes a
6
+ harmonized choir. Each of 5 resonators has its own note, gain, decay,
7
+ and width. Signature of Radiohead-style glitch, minimal sound design,
8
+ and tonal-from-atonal transformations.
9
+ effect_type: resonator
10
+ character_tags: [pitched, tonal, harmonizing, comb_filter, experimental]
11
+ use_cases:
12
+ - pitch_atonal_percussion
13
+ - harmonize_noise_or_speech
14
+ - tonal_drone_from_any_source
15
+ - chord_imprint_on_drums
16
+ - dub_style_pitched_echo_alternative
17
+ genre_affinity:
18
+ primary: [experimental, ambient, idm, dub]
19
+ secondary: [minimal, techno, sound_design]
20
+ complexity: advanced
21
+ self_contained: true
22
+ introduced_in: "8.0"
23
+ pack: Core Library
24
+
25
+ key_parameters:
26
+ - name: "Mode"
27
+ description: "Shape of the resonator (different comb topologies for different characters)"
28
+ range: ["Mode I", "Mode II", "Mode III", "Mode IV", "Mode V"]
29
+ type: enum
30
+ sweet_spots:
31
+ standard: "Mode I"
32
+ metallic: "Mode III"
33
+ smooth: "Mode V"
34
+
35
+ - name: "Root"
36
+ description: "Base note for the 5 resonators"
37
+ range: [0, 127]
38
+ type: int
39
+ sweet_spots:
40
+ low_hum: 36
41
+ standard_bass: 48
42
+ mid_tone: 60
43
+
44
+ - name: "Note 1-5"
45
+ description: "Semitone offset from Root for each of the 5 resonators"
46
+ range: [-24, 24]
47
+ unit: "st"
48
+ type: int
49
+ sweet_spots:
50
+ major_chord: "[0, 4, 7, 12, 19]"
51
+ minor_chord: "[0, 3, 7, 12, 15]"
52
+ detune_unison: "[0, 0.1, -0.1, 0.2, -0.2]"
53
+
54
+ - name: "Decay 1-5"
55
+ description: "Per-resonator sustain time"
56
+ range: [0.0, 1.0]
57
+ type: float
58
+
59
+ - name: "Gain 1-5"
60
+ description: "Per-resonator level"
61
+ range: [-24.0, 24.0]
62
+ unit: "dB"
63
+ type: float
64
+
65
+ - name: "Input"
66
+ description: "Input filter — shapes what hits the resonators"
67
+ range: ["LP", "BP", "HP"]
68
+ type: enum
69
+
70
+ - name: "Width"
71
+ description: "Stereo spread of the 5 resonators"
72
+ range: [0.0, 1.0]
73
+ type: float
74
+
75
+ - name: "Dry/Wet"
76
+ description: "Mix of original vs resonated"
77
+ range: [0.0, 1.0]
78
+ type: float
79
+
80
+ pairs_well_with:
81
+ - device: "Reverb"
82
+ reason: "Resonators + long reverb = infinite tonal drone from any excitation"
83
+ - device: "Gate"
84
+ reason: "Gate before Resonators controls when the chord imprint triggers"
85
+ - device: "Compressor"
86
+ reason: "After Resonators to balance the varying-level tonal output"
87
+ - device: "Auto Filter"
88
+ reason: "Filter the resonated output for evolving timbre on a static chord"
89
+
90
+ starter_recipes:
91
+ - name: "Noise Minor Chord"
92
+ description: "White noise imprinted with a low minor chord — ambient drone"
93
+ genre: ambient
94
+ params:
95
+ "Root": 36
96
+ "Note 1": 0
97
+ "Note 2": 3
98
+ "Note 3": 7
99
+ "Note 4": 12
100
+ "Note 5": 15
101
+ "Decay 1": 0.9
102
+ "Dry/Wet": 1.0
103
+
104
+ - name: "Pitched Drums"
105
+ description: "Drums forced to a root note, chord imprint from kit"
106
+ genre: experimental
107
+ params:
108
+ "Root": 48
109
+ "Note 1": 0
110
+ "Note 2": 7
111
+ "Note 3": 12
112
+ "Note 4": 16
113
+ "Decay 1": 0.4
114
+ "Dry/Wet": 0.5
115
+
116
+ gotchas:
117
+ - "Resonators forces a pitch — make sure Root matches the track's key or the chord will clash"
118
+ - "All 5 resonators at max Decay self-feedback — combined output can clip. Watch peak level"
119
+ - "Input filter affects which frequencies resonate — low-pass input preserves only low-mid resonance, HP emphasizes brightness"
120
+ - "Very short Decay values (<0.2) produce comb-filtered ghost tones rather than sustained pitched output"
121
+ - "For stringed-instrument-style resonance, try Corpus instead — Resonators is about chord imprinting"
@@ -0,0 +1,53 @@
1
+ id: snipper
2
+ name: Snipper
3
+ sonic_description: >
4
+ Audio snippet replayer with pitch modulation (Building Max Devices
5
+ tutorial pack). Re-plays snippets of incoming audio at modulated
6
+ pitches. Small tool, surprisingly aesthetic-critical for microhouse —
7
+ the 'replay this hat with a slightly different pitch each bar' pattern.
8
+ category: audio_rearranger
9
+ character_tags: [replay, pitched, micro_chop, glitch]
10
+ use_cases: [micro_chop, pitched_replay, vocal_stutter]
11
+ genre_affinity:
12
+ primary: [microhouse, deep_minimal, glitch]
13
+ secondary: [idm]
14
+ complexity: intermediate
15
+ introduced_in: "11.0"
16
+ pack: Building Max Devices
17
+ creator: Ableton
18
+ class_name: PluginDevice
19
+
20
+ key_parameters:
21
+ - name: "Snippet Length"
22
+ description: "Duration of the captured snippet."
23
+ - name: "Replay Rate"
24
+ description: "How often the snippet re-triggers."
25
+ - name: "Pitch Modulation"
26
+ description: "Per-replay pitch shift."
27
+ - name: "Randomize"
28
+ description: "Random variation on pitch/replay timing."
29
+
30
+ signature_techniques:
31
+ - name: "Vocal micro-chop"
32
+ description: "Route vocal → Snipper → short snippet, fast replay, pitch mod → instant Akufen-adjacent micro-vocal pattern."
33
+ aesthetic: [microhouse]
34
+ - name: "Hat replay pitch drift"
35
+ description: "Closed hat → Snipper with tiny snippet length, pitch mod ±3 semitones, randomize on → every hat is pitched differently. Microhouse signature."
36
+ aesthetic: [microhouse, deep_minimal]
37
+
38
+ pairs_well_with:
39
+ - device: "Convolution Reverb"
40
+ reason: "Short reverb IR tail on the snipper output blurs the micro-chop into a texture instead of pointillistic hits"
41
+ - device: "PitchLoop89"
42
+ reason: "Stack Snipper into PitchLoop89 for dual-pitch staggered micro-chops — the Henke-style signature"
43
+ - device: "Gate"
44
+ reason: "Gate after Snipper to carve silence between snippets for rhythmic precision"
45
+
46
+ gotchas:
47
+ - "Snipper's snippet window can end up shorter than audible grain — at very short lengths it becomes comb-filter territory, not chopping"
48
+ - "Randomize at max with long snippets sounds chaotic rather than musical — pair random intensity with snippet length"
49
+ - "It's an M4L device — first-hit audio buffers aren't pre-filled. Expect silence for the first bar on a fresh load"
50
+ - "Not automatable from MCP beyond the top-level parameters — internal state is private to the Max patcher"
51
+
52
+ learn_more:
53
+ pack: "Building Max Devices"
@@ -0,0 +1,64 @@
1
+ id: spectral_blur
2
+ name: Spectral Blur
3
+ sonic_description: >
4
+ Spectral halo/reverb hybrid. Creates reverb-like textures by blurring
5
+ user-defined frequency ranges into dense clouds of delayed/smeared
6
+ harmonic content. Not a real reverb — no IR — but the result behaves
7
+ like one, with more control over which frequency ranges get haloed.
8
+ Freeze button holds the current spectral content indefinitely. The
9
+ tool for ethereal pads from sparse sources and alien textures that
10
+ don't sound like rooms.
11
+ category: spectral_fx
12
+ character_tags: [spectral, halo, reverb_like, ethereal, frozen, frequency_selective]
13
+ use_cases: [halo_pad, ghost_atmosphere, frozen_texture, spectral_bed]
14
+ genre_affinity:
15
+ primary: [ambient, deep_minimal, experimental, drone]
16
+ secondary: [dub_techno, cinematic]
17
+ complexity: intermediate
18
+ introduced_in: "10.0"
19
+ pack: Creative Extensions
20
+ creator: Ableton + Amazing Noises
21
+ class_name: PluginDevice
22
+
23
+ key_parameters:
24
+ - name: "Frequency Range"
25
+ description: "Low and high cutoff of the blurred band. Narrow ranges produce pitched halos; wide ranges produce reverb-like wash."
26
+ - name: "Halo (Grain Length)"
27
+ description: "How long each spectral grain lingers. Short = shimmer; long = sustained bed."
28
+ range: [50, 5000]
29
+ unit: "ms"
30
+ type: float
31
+ sweet_spots:
32
+ subtle_shimmer: 200
33
+ sustained_bed: 2000
34
+ - name: "Residual"
35
+ description: "Amount of dry signal that passes through. 0 = fully wet halo, 1 = hear the source clearly."
36
+ range: [0.0, 1.0]
37
+ type: float
38
+ - name: "Freeze"
39
+ description: "Holds the current spectral content. Manual or MIDI-triggered."
40
+ type: boolean
41
+
42
+ signature_techniques:
43
+ - name: "Ghost atmosphere under the kick"
44
+ description: "Very short source (click), narrow mid band, Halo 3000ms, Residual 0 → continuous ghost bed at -30dB."
45
+ aesthetic: [deep_minimal, ambient]
46
+ - name: "Freeze-and-move"
47
+ description: "Play a chord → hit Freeze → automate frequency-range low/high up the spectrum → harmonic cloud morphs in pitch-space."
48
+ aesthetic: [experimental, drone]
49
+ - name: "Reverse reverb alternative"
50
+ description: "Apply to a short stab with long Halo → get reverse-reverb-like build-in without needing to flip the audio."
51
+ aesthetic: [cinematic, deep_minimal]
52
+
53
+ pairings:
54
+ - device: pitchloop89
55
+ rationale: "PitchLoop89 feeding Spectral Blur = Basic Channel / Monolake ethereal space"
56
+ - device: convolution_reverb
57
+ rationale: "Spectral Blur before Conv Rev compounds the halo with real-space acoustics"
58
+
59
+ gotchas:
60
+ - "Halo times above 3000ms accumulate CPU — freeze the track after print"
61
+ - "Narrow frequency ranges at high levels self-oscillate — keep Residual > 0 or compress"
62
+
63
+ learn_more:
64
+ official: "https://www.ableton.com/en/packs/creative-extensions/"
@@ -0,0 +1,61 @@
1
+ id: spectrum
2
+ name: Spectrum
3
+ sonic_description: >
4
+ Real-time FFT spectrum analyzer — shows frequency content vs amplitude
5
+ over time. Diagnostic only, no audio processing. Essential for mixing
6
+ decisions: frequency masking, bass extension, harmonic content, sibilance.
7
+ LivePilot's analyzer bridge captures a similar but more structured
8
+ readout via the M4L Analyzer device — use Spectrum for visual cross-check.
9
+ effect_type: analyzer
10
+ character_tags: [diagnostic, transparent, measurement, mix_tool]
11
+ use_cases:
12
+ - identifying_frequency_masking
13
+ - checking_bass_extension
14
+ - spotting_harsh_harmonics
15
+ - mastering_reference_checking
16
+ - harmonic_analysis_of_a_synth_patch
17
+ genre_affinity:
18
+ primary: [all]
19
+ secondary: []
20
+ complexity: beginner
21
+ self_contained: true
22
+ introduced_in: "8.0"
23
+ pack: Core Library
24
+
25
+ key_parameters:
26
+ - name: "Block Size"
27
+ description: "FFT window — bigger = better frequency resolution, worse time resolution"
28
+ range: [64, 16384]
29
+ type: int
30
+ sweet_spots:
31
+ transient_focus: 512
32
+ balanced: 2048
33
+ mastering_detail: 8192
34
+
35
+ - name: "Range (Top)"
36
+ description: "Upper edge of displayed dB range"
37
+ range: [-60.0, 0.0]
38
+ unit: "dB"
39
+ type: float
40
+
41
+ - name: "Range (Bottom)"
42
+ description: "Lower edge of displayed dB range"
43
+ range: [-160.0, -60.0]
44
+ unit: "dB"
45
+ type: float
46
+
47
+ - name: "Channel"
48
+ description: "Display mode — L only, R only, L+R separate, or Mid/Side"
49
+ range: ["L", "R", "L+R", "Mid/Side"]
50
+ type: enum
51
+
52
+ pairs_well_with:
53
+ - device: "EQ Eight"
54
+ reason: "EQ Eight has a built-in spectrum — Spectrum as a second analyzer post-EQ validates your moves"
55
+
56
+ gotchas:
57
+ - "Spectrum is DIAGNOSTIC — no processing, audio passes through. Don't use as an effect"
58
+ - "Block size is a time/frequency tradeoff — mastering wants 4096+, drum-punch analysis wants 512 or less"
59
+ - "Very high FFT sizes can stress CPU on low-end hardware — remove when mixdown is final"
60
+ - "Does not measure LUFS, peak, or other broadcast meters — use dedicated metering for that"
61
+ - "For programmatic measurement, use LivePilot's analyze_spectrum_offline / get_master_spectrum tools — Spectrum is for visual human inspection only"
@@ -0,0 +1,43 @@
1
+ id: tuner
2
+ name: Tuner
3
+ sonic_description: >
4
+ Reference chromatic tuner — shows pitch / note / cent deviation from
5
+ equal temperament. Sits on a guitar/bass/vocal track as a tuning aid.
6
+ Passes signal through unchanged. Not an effect; a diagnostic tool.
7
+ effect_type: analyzer
8
+ character_tags: [diagnostic, transparent, pitch_reference, measurement]
9
+ use_cases:
10
+ - tuning_a_guitar_or_bass
11
+ - checking_pitch_of_a_vocal
12
+ - reference_pitch_for_microtuning_experiments
13
+ genre_affinity:
14
+ primary: [all]
15
+ secondary: []
16
+ complexity: beginner
17
+ self_contained: true
18
+ introduced_in: "11.0"
19
+ pack: Core Library
20
+
21
+ key_parameters:
22
+ - name: "Reference (A)"
23
+ description: "Tuning reference — A440 standard, or shift for non-standard tuning"
24
+ range: [410.0, 480.0]
25
+ unit: "Hz"
26
+ type: float
27
+ sweet_spots:
28
+ standard: 440.0
29
+ baroque: 415.0
30
+ modern_orchestra: 442.0
31
+
32
+ - name: "Transpose"
33
+ description: "Shift the displayed pitch — useful for transposing instruments"
34
+ range: [-24, 24]
35
+ unit: "st"
36
+ type: int
37
+
38
+ pairs_well_with: []
39
+
40
+ gotchas:
41
+ - "Tuner is DIAGNOSTIC — the audio passes through unchanged. Don't use as an effect"
42
+ - "Requires a monophonic input for accurate reading — chords can't be tuned this way"
43
+ - "Low notes below E1 may display unreliably — fundamental frequency detection fails on very low fundamentals"