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.
- package/CHANGELOG.md +344 -5
- package/README.md +16 -15
- package/m4l_device/LivePilot_Analyzer.amxd +0 -0
- package/m4l_device/livepilot_bridge.js +1 -1
- package/mcp_server/__init__.py +1 -1
- package/mcp_server/atlas/__init__.py +85 -0
- package/mcp_server/atlas/device_atlas.json +3183 -382
- package/mcp_server/atlas/device_techniques_index.json +1510 -0
- package/mcp_server/atlas/enrichments/__init__.py +1 -0
- package/mcp_server/atlas/enrichments/audio_effects/amp.yaml +112 -0
- package/mcp_server/atlas/enrichments/audio_effects/audio_effect_rack.yaml +77 -0
- package/mcp_server/atlas/enrichments/audio_effects/cabinet.yaml +81 -0
- package/mcp_server/atlas/enrichments/audio_effects/corpus.yaml +128 -0
- package/mcp_server/atlas/enrichments/audio_effects/envelope_follower.yaml +99 -0
- package/mcp_server/atlas/enrichments/audio_effects/external_audio_effect.yaml +64 -0
- package/mcp_server/atlas/enrichments/audio_effects/looper.yaml +85 -0
- package/mcp_server/atlas/enrichments/audio_effects/pitch_hack.yaml +61 -0
- package/mcp_server/atlas/enrichments/audio_effects/pitchloop89.yaml +111 -0
- package/mcp_server/atlas/enrichments/audio_effects/re_enveloper.yaml +51 -0
- package/mcp_server/atlas/enrichments/audio_effects/resonators.yaml +121 -0
- package/mcp_server/atlas/enrichments/audio_effects/snipper.yaml +53 -0
- package/mcp_server/atlas/enrichments/audio_effects/spectral_blur.yaml +64 -0
- package/mcp_server/atlas/enrichments/audio_effects/spectrum.yaml +61 -0
- package/mcp_server/atlas/enrichments/audio_effects/tuner.yaml +43 -0
- package/mcp_server/atlas/enrichments/audio_effects/utility.yaml +118 -0
- package/mcp_server/atlas/enrichments/audio_effects/vocoder.yaml +94 -0
- package/mcp_server/atlas/enrichments/instruments/analog.yaml +11 -0
- package/mcp_server/atlas/enrichments/instruments/bass.yaml +11 -0
- package/mcp_server/atlas/enrichments/instruments/bell_tower.yaml +75 -0
- package/mcp_server/atlas/enrichments/instruments/collision.yaml +11 -0
- package/mcp_server/atlas/enrichments/instruments/drift.yaml +11 -0
- package/mcp_server/atlas/enrichments/instruments/drum_rack.yaml +142 -0
- package/mcp_server/atlas/enrichments/instruments/electric.yaml +11 -0
- package/mcp_server/atlas/enrichments/instruments/emit.yaml +11 -0
- package/mcp_server/atlas/enrichments/instruments/granulator_iii.yaml +124 -0
- package/mcp_server/atlas/enrichments/instruments/harmonic_drone_generator.yaml +83 -0
- package/mcp_server/atlas/enrichments/instruments/impulse.yaml +47 -0
- package/mcp_server/atlas/enrichments/instruments/meld.yaml +11 -0
- package/mcp_server/atlas/enrichments/instruments/operator.yaml +11 -0
- package/mcp_server/atlas/enrichments/instruments/poli.yaml +11 -0
- package/mcp_server/atlas/enrichments/instruments/sampler.yaml +12 -0
- package/mcp_server/atlas/enrichments/instruments/simpler.yaml +15 -0
- package/mcp_server/atlas/enrichments/instruments/sting_iftah.yaml +44 -0
- package/mcp_server/atlas/enrichments/instruments/tension.yaml +11 -0
- package/mcp_server/atlas/enrichments/instruments/vector_fm.yaml +11 -0
- package/mcp_server/atlas/enrichments/instruments/vector_grain.yaml +11 -0
- package/mcp_server/atlas/enrichments/instruments/wavetable.yaml +11 -0
- package/mcp_server/atlas/enrichments/midi_effects/expressive_chords.yaml +38 -0
- package/mcp_server/atlas/enrichments/midi_effects/filler.yaml +49 -0
- package/mcp_server/atlas/enrichments/midi_effects/microtuner.yaml +83 -0
- package/mcp_server/atlas/enrichments/midi_effects/patterns_iftah.yaml +38 -0
- package/mcp_server/atlas/enrichments/midi_effects/phase_pattern.yaml +51 -0
- package/mcp_server/atlas/enrichments/midi_effects/polyrhythm.yaml +46 -0
- package/mcp_server/atlas/enrichments/midi_effects/retrigger.yaml +40 -0
- package/mcp_server/atlas/enrichments/midi_effects/slice_shuffler.yaml +39 -0
- package/mcp_server/atlas/enrichments/midi_effects/sq_sequencer.yaml +39 -0
- package/mcp_server/atlas/enrichments/midi_effects/stages.yaml +38 -0
- package/mcp_server/atlas/enrichments/utility/arrangement_looper.yaml +31 -0
- package/mcp_server/atlas/enrichments/utility/cv_clock_in.yaml +25 -0
- package/mcp_server/atlas/enrichments/utility/cv_clock_out.yaml +25 -0
- package/mcp_server/atlas/enrichments/utility/cv_envelope_follower.yaml +38 -0
- package/mcp_server/atlas/enrichments/utility/cv_in.yaml +26 -0
- package/mcp_server/atlas/enrichments/utility/cv_instrument.yaml +34 -0
- package/mcp_server/atlas/enrichments/utility/cv_lfo.yaml +38 -0
- package/mcp_server/atlas/enrichments/utility/cv_shaper.yaml +35 -0
- package/mcp_server/atlas/enrichments/utility/cv_triggers.yaml +26 -0
- package/mcp_server/atlas/enrichments/utility/cv_utility.yaml +37 -0
- package/mcp_server/atlas/enrichments/utility/performer.yaml +51 -0
- package/mcp_server/atlas/enrichments/utility/prearranger.yaml +36 -0
- package/mcp_server/atlas/enrichments/utility/rotating_rhythm_generator.yaml +35 -0
- package/mcp_server/atlas/enrichments/utility/surround_panner.yaml +40 -0
- package/mcp_server/atlas/enrichments/utility/variations.yaml +40 -0
- package/mcp_server/atlas/enrichments/utility/vector_map.yaml +57 -0
- package/mcp_server/atlas/tools.py +291 -0
- package/mcp_server/m4l_bridge.py +19 -2
- package/mcp_server/sample_engine/tools.py +190 -72
- package/mcp_server/server.py +18 -6
- package/mcp_server/splice_client/client.py +90 -18
- package/mcp_server/splice_client/http_bridge.py +414 -138
- package/mcp_server/splice_client/models.py +12 -0
- package/mcp_server/tools/analyzer.py +150 -1
- package/mcp_server/tools/automation.py +168 -0
- package/package.json +2 -2
- package/remote_script/LivePilot/__init__.py +1 -1
- package/remote_script/LivePilot/arrangement.py +216 -1
- package/server.json +3 -3
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
id: utility
|
|
2
|
+
name: Utility
|
|
3
|
+
sonic_description: >
|
|
4
|
+
The universal gain / pan / width / DC-offset / mid-side / phase-invert /
|
|
5
|
+
mute-left-right toolbox. Lives everywhere in a serious mix — gain-stage
|
|
6
|
+
before a compressor, narrow stereo into mono on a sub, flip the phase on
|
|
7
|
+
a snare bottom mic, extract the sides of a stereo source for parallel
|
|
8
|
+
processing. Not an "effect" so much as surgical infrastructure.
|
|
9
|
+
effect_type: utility
|
|
10
|
+
character_tags: [transparent, surgical, infrastructure, mix_bus, gain_staging]
|
|
11
|
+
use_cases:
|
|
12
|
+
- gain_staging_before_compression
|
|
13
|
+
- stereo_width_control
|
|
14
|
+
- mono_compatibility_check
|
|
15
|
+
- phase_inversion_on_drum_bottom_mic
|
|
16
|
+
- mid_side_separation
|
|
17
|
+
- dc_offset_removal
|
|
18
|
+
- silencing_one_channel_of_a_stereo_source
|
|
19
|
+
genre_affinity:
|
|
20
|
+
primary: [all]
|
|
21
|
+
secondary: []
|
|
22
|
+
complexity: beginner
|
|
23
|
+
self_contained: true
|
|
24
|
+
introduced_in: "1.0"
|
|
25
|
+
pack: Core Library
|
|
26
|
+
|
|
27
|
+
key_parameters:
|
|
28
|
+
- name: "Gain"
|
|
29
|
+
description: "Precise level adjustment — essential for gain staging"
|
|
30
|
+
range: [-35.0, 35.0]
|
|
31
|
+
unit: "dB"
|
|
32
|
+
type: float
|
|
33
|
+
sweet_spots:
|
|
34
|
+
trim: -3.0
|
|
35
|
+
boost: 3.0
|
|
36
|
+
match_source: 0.0
|
|
37
|
+
|
|
38
|
+
- name: "Width"
|
|
39
|
+
description: "Stereo field width — 0% is mono, 100% original, >100% phase-exaggerated"
|
|
40
|
+
range: [0.0, 400.0]
|
|
41
|
+
unit: "%"
|
|
42
|
+
type: float
|
|
43
|
+
sweet_spots:
|
|
44
|
+
mono: 0.0
|
|
45
|
+
narrow_bass: 30.0
|
|
46
|
+
natural: 100.0
|
|
47
|
+
wide: 140.0
|
|
48
|
+
|
|
49
|
+
- name: "Left/Right Balance"
|
|
50
|
+
description: "Pan the stereo field"
|
|
51
|
+
range: [-1.0, 1.0]
|
|
52
|
+
type: float
|
|
53
|
+
|
|
54
|
+
- name: "Phase L"
|
|
55
|
+
description: "Invert left channel phase"
|
|
56
|
+
range: [0, 1]
|
|
57
|
+
type: int
|
|
58
|
+
|
|
59
|
+
- name: "Phase R"
|
|
60
|
+
description: "Invert right channel phase"
|
|
61
|
+
range: [0, 1]
|
|
62
|
+
type: int
|
|
63
|
+
|
|
64
|
+
- name: "Mute L"
|
|
65
|
+
description: "Silence left channel only — useful for checking mono"
|
|
66
|
+
range: [0, 1]
|
|
67
|
+
type: int
|
|
68
|
+
|
|
69
|
+
- name: "Mute R"
|
|
70
|
+
description: "Silence right channel only"
|
|
71
|
+
range: [0, 1]
|
|
72
|
+
type: int
|
|
73
|
+
|
|
74
|
+
- name: "Mid/Side"
|
|
75
|
+
description: "Enable mid-side mode — Width now controls mid-vs-side balance"
|
|
76
|
+
range: [0, 1]
|
|
77
|
+
type: int
|
|
78
|
+
|
|
79
|
+
- name: "DC"
|
|
80
|
+
description: "Remove DC offset from the signal"
|
|
81
|
+
range: [0, 1]
|
|
82
|
+
type: int
|
|
83
|
+
|
|
84
|
+
pairs_well_with:
|
|
85
|
+
- device: "Compressor"
|
|
86
|
+
reason: "Put a Utility before a compressor to hit the exact level the compressor expects"
|
|
87
|
+
- device: "EQ Eight"
|
|
88
|
+
reason: "Utility first for gain staging, EQ Eight for tonal shaping — the order matters"
|
|
89
|
+
- device: "Saturator"
|
|
90
|
+
reason: "Utility to trim level before saturation so you can predict the harmonic generation"
|
|
91
|
+
|
|
92
|
+
starter_recipes:
|
|
93
|
+
- name: "Mono Sub Bass"
|
|
94
|
+
description: "Collapse low-end stereo for phase-coherent sub"
|
|
95
|
+
genre: techno
|
|
96
|
+
params:
|
|
97
|
+
"Width": 0.0
|
|
98
|
+
|
|
99
|
+
- name: "Phase-Invert Snare Bottom"
|
|
100
|
+
description: "Flip phase of bottom-mic'd snare against top for fatter snare"
|
|
101
|
+
genre: all
|
|
102
|
+
params:
|
|
103
|
+
"Phase L": 1
|
|
104
|
+
"Phase R": 1
|
|
105
|
+
|
|
106
|
+
- name: "Mid/Side Extract Sides"
|
|
107
|
+
description: "Get only the stereo difference for parallel processing"
|
|
108
|
+
genre: all
|
|
109
|
+
params:
|
|
110
|
+
"Mid/Side": 1
|
|
111
|
+
"Width": 100.0
|
|
112
|
+
|
|
113
|
+
gotchas:
|
|
114
|
+
- "Width at 0% collapses the signal to mono — the standard move for sub-bass and kick where stereo phase issues matter"
|
|
115
|
+
- "Mid/Side mode changes what Width controls — read carefully before adjusting"
|
|
116
|
+
- "Phase invert is per-channel — inverting both L and R re-inverts to original"
|
|
117
|
+
- "Gain is post-pan — if you're trying to compensate a pan with gain, check the order"
|
|
118
|
+
- "Utility is ALWAYS at the bottom of the master chain in LivePilot setups — AFTER LivePilot_Analyzer would break analyzer readings"
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
id: vocoder
|
|
2
|
+
name: Vocoder
|
|
3
|
+
sonic_description: >
|
|
4
|
+
Classic channel-vocoder — carrier signal (synth/noise) modulated by a
|
|
5
|
+
modulator signal's spectral envelope (voice/drums). Converts your voice
|
|
6
|
+
into a robot singing the synth's notes. Up to 40 bands, adjustable formant
|
|
7
|
+
shift, noise/pitch tracking modes. Essentiel for Imogen Heap / Daft Punk
|
|
8
|
+
vocal, robotic speech, and pitched noise/drum transformations.
|
|
9
|
+
effect_type: vocoder
|
|
10
|
+
character_tags: [vocal, robotic, synthesized, formant, classic]
|
|
11
|
+
use_cases:
|
|
12
|
+
- robot_voice
|
|
13
|
+
- synth_speaks_words
|
|
14
|
+
- pitched_drum_transformation
|
|
15
|
+
- noise_to_harmonic_texture
|
|
16
|
+
- talk_box_emulation
|
|
17
|
+
genre_affinity:
|
|
18
|
+
primary: [electronic, hip_hop, pop, synthwave]
|
|
19
|
+
secondary: [experimental, ambient, dub]
|
|
20
|
+
complexity: intermediate
|
|
21
|
+
self_contained: false
|
|
22
|
+
introduced_in: "8.0"
|
|
23
|
+
pack: Core Library
|
|
24
|
+
|
|
25
|
+
key_parameters:
|
|
26
|
+
- name: "Bands"
|
|
27
|
+
description: "Number of analysis/synthesis bands — more bands = more speech-intelligible"
|
|
28
|
+
range: [4, 40]
|
|
29
|
+
type: int
|
|
30
|
+
sweet_spots:
|
|
31
|
+
abstract: 8
|
|
32
|
+
classic_robot: 16
|
|
33
|
+
speech_clarity: 32
|
|
34
|
+
|
|
35
|
+
- name: "Carrier Source"
|
|
36
|
+
description: "Where the synthesizing signal comes from"
|
|
37
|
+
range: ["Noise", "External", "Modulator"]
|
|
38
|
+
type: enum
|
|
39
|
+
|
|
40
|
+
- name: "Formant"
|
|
41
|
+
description: "Shift the formant frequencies up or down"
|
|
42
|
+
range: [-24, 24]
|
|
43
|
+
unit: "st"
|
|
44
|
+
type: int
|
|
45
|
+
sweet_spots:
|
|
46
|
+
deeper: -6
|
|
47
|
+
original: 0
|
|
48
|
+
chipmunk: 8
|
|
49
|
+
|
|
50
|
+
- name: "Depth"
|
|
51
|
+
description: "Intensity of the vocoding effect"
|
|
52
|
+
range: [0.0, 1.0]
|
|
53
|
+
type: float
|
|
54
|
+
|
|
55
|
+
- name: "Gate"
|
|
56
|
+
description: "Silence vocoder output below a threshold — reduces background hiss"
|
|
57
|
+
range: [-80.0, 0.0]
|
|
58
|
+
unit: "dB"
|
|
59
|
+
type: float
|
|
60
|
+
|
|
61
|
+
pairs_well_with:
|
|
62
|
+
- device: "Reverb"
|
|
63
|
+
reason: "Long reverb on vocoded voice creates ethereal robot atmospheres"
|
|
64
|
+
- device: "Chorus-Ensemble"
|
|
65
|
+
reason: "Thickens the synthetic voice"
|
|
66
|
+
- device: "EQ Eight"
|
|
67
|
+
reason: "Post-vocoder high-pass at 200 Hz cleans up the rumble"
|
|
68
|
+
- device: "Utility"
|
|
69
|
+
reason: "Width control for stereo vocoded voices"
|
|
70
|
+
|
|
71
|
+
starter_recipes:
|
|
72
|
+
- name: "Classic Robot Voice"
|
|
73
|
+
description: "Voice modulator, saw-wave carrier"
|
|
74
|
+
genre: electronic
|
|
75
|
+
params:
|
|
76
|
+
"Bands": 16
|
|
77
|
+
"Carrier Source": "External"
|
|
78
|
+
"Formant": 0
|
|
79
|
+
"Depth": 1.0
|
|
80
|
+
|
|
81
|
+
- name: "Noise-Carried Drums"
|
|
82
|
+
description: "Drums as modulator, internal noise carrier — whispering pitched drums"
|
|
83
|
+
genre: experimental
|
|
84
|
+
params:
|
|
85
|
+
"Bands": 12
|
|
86
|
+
"Carrier Source": "Noise"
|
|
87
|
+
"Depth": 1.0
|
|
88
|
+
|
|
89
|
+
gotchas:
|
|
90
|
+
- "The carrier signal must be harmonically rich (saw, square, noise) — a sine wave carrier produces no vocoded sound"
|
|
91
|
+
- "External carrier mode requires audio-from routing on the track — most people miss this on first try"
|
|
92
|
+
- "Very low Bands count (4-8) is abstract, not speech-intelligible — pick Bands based on whether you want words understood"
|
|
93
|
+
- "Formant shift is in semitones but changes character, not pitch — useful for gender/age effects"
|
|
94
|
+
- "Gate is essential — without it, even silence outputs noise"
|
|
@@ -154,6 +154,17 @@ key_parameters:
|
|
|
154
154
|
moderate: 0.35
|
|
155
155
|
extreme: 0.8
|
|
156
156
|
|
|
157
|
+
signature_techniques:
|
|
158
|
+
- name: "Reese bass (drum & bass)"
|
|
159
|
+
description: "Two detuned saws at different octaves, LP24 filter with slight resonance, no LFO — let the beat frequency between the oscillators do the modulation."
|
|
160
|
+
aesthetic: ['dnb', 'neurofunk', 'jungle']
|
|
161
|
+
- name: "Hawtin subtractive pad"
|
|
162
|
+
description: "Single saw, slow filter sweep from dark to bright across 32 bars, filter env amount slight negative so attack is dark — the pad evolves by unfolding, not by adding."
|
|
163
|
+
aesthetic: ['minimal_techno', 'deep_minimal']
|
|
164
|
+
- name: "303 acid bass"
|
|
165
|
+
description: "Osc1 saw, octave down, LP24 with high resonance (0.8+), env amount 0.9, amp decay short. Use Filter1 Freq + Res as performance controls — the acid line IS the filter gesture."
|
|
166
|
+
aesthetic: ['acid_house', 'acid_techno']
|
|
167
|
+
|
|
157
168
|
pairs_well_with:
|
|
158
169
|
- device: "Auto Filter"
|
|
159
170
|
reason: "Adds rhythmic filter movement and envelope-following beyond the built-in filters"
|
|
@@ -134,6 +134,17 @@ key_parameters:
|
|
|
134
134
|
medium: 80.0
|
|
135
135
|
slow_glide: 200.0
|
|
136
136
|
|
|
137
|
+
signature_techniques:
|
|
138
|
+
- name: "808 sub replacement"
|
|
139
|
+
description: "Sine+triangle, fundamental C1, amp envelope long decay, subtle pitch envelope down 1 semitone over 100ms. Cleaner than sampled 808s, and tunable in-key."
|
|
140
|
+
aesthetic: ['trap', 'hip_hop', 'dubstep']
|
|
141
|
+
- name: "Reese-style bass"
|
|
142
|
+
description: "Two detuned oscillators octave apart, LP filter resonant, saturation on output. The sum-of-beats IS the movement — no LFO needed."
|
|
143
|
+
aesthetic: ['dnb', 'jungle', 'bass_music']
|
|
144
|
+
- name: "Dub sub-bass"
|
|
145
|
+
description: "Pure sine at fundamental, very long release, no transient. The bass is felt not heard — pair with a short percussive layer (click at 2-5kHz) for attack."
|
|
146
|
+
aesthetic: ['dub', 'dub_techno', 'deep_minimal']
|
|
147
|
+
|
|
137
148
|
pairs_well_with:
|
|
138
149
|
- device: "EQ Eight"
|
|
139
150
|
reason: "Surgical low-end shaping — roll off sub-rumble and shape the bass presence"
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
id: bell_tower
|
|
2
|
+
name: Bell Tower
|
|
3
|
+
sonic_description: >
|
|
4
|
+
FM bell synthesis M4L example device from the Building Max Devices pack.
|
|
5
|
+
Designed as a tutorial but produces genuinely usable bell/mallet timbres
|
|
6
|
+
via simple FM synthesis. Through Convolution Reverb = thin Arpiar bell
|
|
7
|
+
stab territory.
|
|
8
|
+
synthesis_type: fm_bell
|
|
9
|
+
character_tags: [bell, fm, metallic, percussive]
|
|
10
|
+
use_cases: [bell_stab, pluck, atmospheric_bell]
|
|
11
|
+
genre_affinity:
|
|
12
|
+
primary: [ambient, deep_minimal, arpiar]
|
|
13
|
+
secondary: [experimental, cinematic]
|
|
14
|
+
complexity: beginner
|
|
15
|
+
self_contained: true
|
|
16
|
+
introduced_in: "11.0"
|
|
17
|
+
pack: Building Max Devices
|
|
18
|
+
creator: Ableton
|
|
19
|
+
class_name: PluginDevice
|
|
20
|
+
|
|
21
|
+
key_parameters:
|
|
22
|
+
- name: "Carrier Freq"
|
|
23
|
+
description: "Base pitch."
|
|
24
|
+
- name: "Modulator Ratio"
|
|
25
|
+
description: "Ratio of modulator to carrier — inharmonic ratios give bells, integer ratios give pluck tones."
|
|
26
|
+
- name: "Modulator Depth"
|
|
27
|
+
description: "FM index — brightness/metallic character."
|
|
28
|
+
- name: "Decay"
|
|
29
|
+
description: "Bell decay time."
|
|
30
|
+
|
|
31
|
+
signature_techniques:
|
|
32
|
+
- name: "Arpiar bell through Convolution Reverb"
|
|
33
|
+
description: "Short decay, subtle modulator depth, single hit per bar, through a long cathedral IR → the thin bell stab that recurs in Arpiar tracks."
|
|
34
|
+
aesthetic: [arpiar, deep_minimal]
|
|
35
|
+
- name: "Inharmonic bell struck through PitchLoop89"
|
|
36
|
+
description: "Modulator ratio around 1.41 (irrational), short decay, through dual-detune PitchLoop89 (+5 / -7 cents) → phased bell cluster."
|
|
37
|
+
aesthetic: [arpiar, ambient]
|
|
38
|
+
|
|
39
|
+
pairs_well_with:
|
|
40
|
+
- device: "Convolution Reverb"
|
|
41
|
+
reason: "Essential — Bell Tower raw is too dry. Long cathedral or hall IR transforms it into the signature bell-stab"
|
|
42
|
+
- device: "PitchLoop89"
|
|
43
|
+
reason: "Dual-detune smears the bell transient into a phased cluster — Henke bell territory"
|
|
44
|
+
- device: "Utility"
|
|
45
|
+
reason: "Width control essential — Bell Tower is mono, Utility width at 140% gives headphone-scale spatialization"
|
|
46
|
+
- device: "Auto Filter"
|
|
47
|
+
reason: "Modulate cutoff slowly for evolving bell texture — 30-second LFO period"
|
|
48
|
+
|
|
49
|
+
starter_recipes:
|
|
50
|
+
- name: "Arpiar Bell Stab"
|
|
51
|
+
description: "Single bell hit per bar, thin, through cathedral reverb"
|
|
52
|
+
genre: deep_minimal
|
|
53
|
+
params:
|
|
54
|
+
"Carrier Freq": 660.0
|
|
55
|
+
"Modulator Ratio": 1.41
|
|
56
|
+
"Modulator Depth": 0.35
|
|
57
|
+
"Decay": 0.3
|
|
58
|
+
|
|
59
|
+
- name: "Ambient Bell Cloud"
|
|
60
|
+
description: "Sustained bells through reverb — pad-adjacent atmosphere"
|
|
61
|
+
genre: ambient
|
|
62
|
+
params:
|
|
63
|
+
"Carrier Freq": 440.0
|
|
64
|
+
"Modulator Ratio": 3.0
|
|
65
|
+
"Modulator Depth": 0.2
|
|
66
|
+
"Decay": 1.0
|
|
67
|
+
|
|
68
|
+
gotchas:
|
|
69
|
+
- "Modulator Ratio at integer values (2, 3, 4) gives pluck-like tones; irrational values (1.41, 2.71) give metallic bells. Small distinctions, big character shifts"
|
|
70
|
+
- "Modulator Depth at max is harsh — the FM index becomes over-rich. Stay under 0.7 unless you want noise-bell"
|
|
71
|
+
- "Bell Tower is monophonic by default — for chords, use multiple instances or layer with another FM instrument"
|
|
72
|
+
- "It's an M4L tutorial device — not as CPU-optimized as Operator in FM mode. Consider Operator for production final bounces"
|
|
73
|
+
|
|
74
|
+
learn_more:
|
|
75
|
+
pack: "Building Max Devices"
|
|
@@ -96,6 +96,17 @@ key_parameters:
|
|
|
96
96
|
fifth: 7.0
|
|
97
97
|
octave: 12.0
|
|
98
98
|
|
|
99
|
+
signature_techniques:
|
|
100
|
+
- name: "Mallet percussion"
|
|
101
|
+
description: "Struck resonator, material=wood, partials=5-8, decay short. Marimba/vibraphone without sampling — the physical model responds to velocity like the real instrument."
|
|
102
|
+
aesthetic: ['ambient', 'cinematic', 'experimental']
|
|
103
|
+
- name: "Inharmonic bell drone"
|
|
104
|
+
description: "Struck bar, inharmonicity high, decay long, LFO modulating partial levels. The bell never settles — each strike reveals a different harmonic slice."
|
|
105
|
+
aesthetic: ['experimental', 'ambient', 'microhouse']
|
|
106
|
+
- name: "Struck prepared string"
|
|
107
|
+
description: "Bowed string exciter with mute on, low tension, short decay — prepared-piano territory. Pair with Convolution Reverb for Cage/Feldman atmosphere."
|
|
108
|
+
aesthetic: ['experimental', 'classical', 'cinematic']
|
|
109
|
+
|
|
99
110
|
pairs_well_with:
|
|
100
111
|
- device: "Reverb"
|
|
101
112
|
reason: "Physical modeling sounds bloom in reverberant spaces — adds room context"
|
|
@@ -104,6 +104,17 @@ key_parameters:
|
|
|
104
104
|
natural: 250.0
|
|
105
105
|
ambient: 1500.0
|
|
106
106
|
|
|
107
|
+
signature_techniques:
|
|
108
|
+
- name: "Neo-soul Rhodes-adjacent keys"
|
|
109
|
+
description: "Sine+triangle mix, short-attack amp, dark filter, gentle chorus send. Not trying to emulate Rhodes — trying to SIT where Rhodes sits in the mix."
|
|
110
|
+
aesthetic: ['neo_soul', 'r_and_b', 'lo_fi']
|
|
111
|
+
- name: "Minimal-techno bass anchor"
|
|
112
|
+
description: "Sine sub at C1, triangle octave up blended -6 dB, LP filter fixed open, no modulation. The bass doesn't move — the filter on the REVERB send does."
|
|
113
|
+
aesthetic: ['minimal_techno', 'deep_minimal', 'dub_techno']
|
|
114
|
+
- name: "Warm synthwave pad"
|
|
115
|
+
description: "Saw+triangle, detune 0.1, slow filter envelope, long amp release, subtle vibrato at 5 Hz. 80s pad territory without the period-drama cliché."
|
|
116
|
+
aesthetic: ['synthwave', '80s', 'vaporwave']
|
|
117
|
+
|
|
107
118
|
pairs_well_with:
|
|
108
119
|
- device: "Reverb"
|
|
109
120
|
reason: "The organic drift character blooms beautifully in reverb space"
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
id: drum_rack
|
|
2
|
+
name: Drum Rack
|
|
3
|
+
sonic_description: >
|
|
4
|
+
A container instrument that maps up to 128 drum pads — each pad hosts its own
|
|
5
|
+
Simpler (or Sampler, Operator, or any other instrument plus effect chain) and
|
|
6
|
+
responds to one MIDI note. Drum Rack is not a synth: its sonic character comes
|
|
7
|
+
entirely from the samples and devices loaded into its pads. Think of it as
|
|
8
|
+
infrastructure — the spine that turns a folder of one-shots into a playable
|
|
9
|
+
kit with per-pad routing, choke groups, and macro control.
|
|
10
|
+
synthesis_type: sample_container
|
|
11
|
+
character_tags: [container, infrastructure, kit_builder, per_pad_chain, macro_addressable]
|
|
12
|
+
use_cases:
|
|
13
|
+
- build_drum_kit_from_loose_samples
|
|
14
|
+
- per_pad_effects_processing
|
|
15
|
+
- choke_groups_for_hat_pairs
|
|
16
|
+
- macro_controlled_drum_performance
|
|
17
|
+
- parallel_sample_layering_on_a_single_pad
|
|
18
|
+
- host_for_sliced_break_recomposition
|
|
19
|
+
genre_affinity:
|
|
20
|
+
primary: [hip_hop, electronic, techno, house, trap]
|
|
21
|
+
secondary: [dnb, footwork, ambient, experimental, all]
|
|
22
|
+
complexity: beginner
|
|
23
|
+
self_contained: false
|
|
24
|
+
introduced_in: "6.0"
|
|
25
|
+
pack: Core Library
|
|
26
|
+
is_container: true
|
|
27
|
+
chain_model: per_pad_instrument_and_effects
|
|
28
|
+
|
|
29
|
+
key_parameters:
|
|
30
|
+
- name: "Pad Note Assignment"
|
|
31
|
+
description: >
|
|
32
|
+
Each pad is assigned a MIDI note (C1=36 by convention for the kick).
|
|
33
|
+
Programmatic: use `set_drum_chain_note(track, chain_index, note)` rather
|
|
34
|
+
than GUI drag. The Live 12.4+ drum-map uses note 36 for the bottom-left
|
|
35
|
+
pad by default.
|
|
36
|
+
range: [0, 127]
|
|
37
|
+
type: int
|
|
38
|
+
sweet_spots:
|
|
39
|
+
kick: 36
|
|
40
|
+
snare: 38
|
|
41
|
+
closed_hat: 42
|
|
42
|
+
open_hat: 46
|
|
43
|
+
clap: 39
|
|
44
|
+
ride: 51
|
|
45
|
+
|
|
46
|
+
- name: "Pad Volume (per chain)"
|
|
47
|
+
description: "Each pad has its own volume fader on the chain"
|
|
48
|
+
range: [0.0, 1.0]
|
|
49
|
+
type: float
|
|
50
|
+
sweet_spots:
|
|
51
|
+
anchor_kick: 0.85
|
|
52
|
+
accent_snare: 0.75
|
|
53
|
+
ghost_hat: 0.35
|
|
54
|
+
|
|
55
|
+
- name: "Pad Pan (per chain)"
|
|
56
|
+
description: "Stereo placement per pad — crucial for width on hats/percs"
|
|
57
|
+
range: [-1.0, 1.0]
|
|
58
|
+
type: float
|
|
59
|
+
sweet_spots:
|
|
60
|
+
center: 0.0
|
|
61
|
+
hat_right: 0.25
|
|
62
|
+
perc_wide: 0.6
|
|
63
|
+
|
|
64
|
+
- name: "Choke Group"
|
|
65
|
+
description: >
|
|
66
|
+
Pads in the same choke group cut each other off (pair hats so closed
|
|
67
|
+
cuts open, or group percussion so overlapping hits don't stack).
|
|
68
|
+
range: [0, 16]
|
|
69
|
+
type: int
|
|
70
|
+
sweet_spots:
|
|
71
|
+
hat_pair: 1
|
|
72
|
+
percussion_cluster: 2
|
|
73
|
+
|
|
74
|
+
- name: "Macro 1-8"
|
|
75
|
+
description: >
|
|
76
|
+
Drum Rack macros address any parameter across any pad chain. Use for
|
|
77
|
+
performance gestures (global dust filter, global saturation, pad volumes
|
|
78
|
+
collected onto one knob).
|
|
79
|
+
range: [0.0, 127.0]
|
|
80
|
+
type: float
|
|
81
|
+
|
|
82
|
+
pairs_well_with:
|
|
83
|
+
- device: "Drum Buss"
|
|
84
|
+
reason: "The native glue — shape/boom/transients for the whole kit post-rack. Often the entire mix tool a drum rack needs"
|
|
85
|
+
- device: "Compressor"
|
|
86
|
+
reason: "Glue the kit into one punch — 2-4 dB gain reduction with a medium attack"
|
|
87
|
+
- device: "EQ Eight"
|
|
88
|
+
reason: "High-pass below 30 Hz, notch masking from kick/snare"
|
|
89
|
+
- device: "Saturator"
|
|
90
|
+
reason: "Add harmonic weight without gain staging pain. Especially on sampled kits that sound sterile"
|
|
91
|
+
- device: "Reverb"
|
|
92
|
+
reason: "Per-pad sends (build a reverb return) rather than stacking on the master"
|
|
93
|
+
- device: "Gate"
|
|
94
|
+
reason: "Tighten room-mic'd one-shots or trim bleed from multi-sampled kits"
|
|
95
|
+
|
|
96
|
+
starter_recipes:
|
|
97
|
+
- name: "Empty Kit for Sample Programming"
|
|
98
|
+
description: "Build from scratch — use add_drum_rack_pad for each slot"
|
|
99
|
+
genre: electronic
|
|
100
|
+
steps:
|
|
101
|
+
- "Create empty Drum Rack on a MIDI track"
|
|
102
|
+
- "For each sample: add_drum_rack_pad(track, note=36+i, sample_path=...)"
|
|
103
|
+
- "Verify each pad landed: get_track_info, check chain count"
|
|
104
|
+
- "Set pad volumes by role: kick 0.85, snare 0.75, hats 0.4"
|
|
105
|
+
|
|
106
|
+
- name: "Sliced-Break Reprogram"
|
|
107
|
+
description: "Take a break loop, slice it, reroute to a Drum Rack for MIDI programming"
|
|
108
|
+
genre: dnb
|
|
109
|
+
steps:
|
|
110
|
+
- "Load break to Simpler in Slicing mode"
|
|
111
|
+
- "classify_simpler_slices to identify kick/snare/hat roles"
|
|
112
|
+
- "Recreate as Drum Rack with each slice as its own pad"
|
|
113
|
+
- "Program new pattern — you now have MIDI control of the break"
|
|
114
|
+
|
|
115
|
+
- name: "Layered Kick (sub + click + body)"
|
|
116
|
+
description: "Single kick pad with three parallel instruments for fullness"
|
|
117
|
+
genre: techno
|
|
118
|
+
steps:
|
|
119
|
+
- "Drum Rack → pad 36 (kick) → add 3 chains within that pad"
|
|
120
|
+
- "Chain 1: sub sine (Operator sine wave)"
|
|
121
|
+
- "Chain 2: transient click (short sample)"
|
|
122
|
+
- "Chain 3: body (sampled kick tail)"
|
|
123
|
+
- "Balance chain volumes — sub first, body second, click last"
|
|
124
|
+
|
|
125
|
+
gotchas:
|
|
126
|
+
- "A Drum Rack with no pads produces nothing — loading the container alone is not enough. Always verify at least one chain exists via get_track_info before firing notes"
|
|
127
|
+
- "Pad 36 (C1) is the bottom-left in the default view and the conventional kick slot. Live 12's auto-mapping assumes this"
|
|
128
|
+
- "add_drum_rack_pad is the ONE reliable tool for adding pads. Using load_browser_item repeatedly to 'add' pads creates nested racks, not siblings"
|
|
129
|
+
- "Each pad is itself a chain with its own Volume/Pan/Solo/Mute — per-pad mute is different from muting the pad's chain. Use set_chain_volume for the pad-level fader"
|
|
130
|
+
- "Macros must be explicitly mapped — they don't auto-address pad volumes. Use add_rack_macro + map_plugin_parameter on the underlying instrument"
|
|
131
|
+
- "Choke groups 0 and 'None' are the same (no choke). Use 1-16 for actual mutual-exclusion grouping"
|
|
132
|
+
- "A sliced Simpler inside a Drum Rack pad responds to slice-base pitch (36+N), NOT the pad's own MIDI note. Mis-configured slicing→pad routing is a common silence cause"
|
|
133
|
+
- "Per-pad sends can be shown/hidden by the rack's S (Send) button on the chain list. Hidden sends still work, but you can't see them — makes debugging missing reverb very hard"
|
|
134
|
+
|
|
135
|
+
learn_more:
|
|
136
|
+
official: "https://www.ableton.com/en/live-manual/12/drum-racks/"
|
|
137
|
+
livepilot_related_tools:
|
|
138
|
+
- add_drum_rack_pad
|
|
139
|
+
- set_drum_chain_note
|
|
140
|
+
- get_rack_chains
|
|
141
|
+
- set_chain_volume
|
|
142
|
+
- rename_chain
|
|
@@ -78,6 +78,17 @@ key_parameters:
|
|
|
78
78
|
clean: 0.5
|
|
79
79
|
asymmetric_bark: 0.3
|
|
80
80
|
|
|
81
|
+
signature_techniques:
|
|
82
|
+
- name: "Classic Rhodes"
|
|
83
|
+
description: "Suitcase preset, tremolo at 5 Hz, chorus modest. The tine-bar mechanism is already in the model — no outboard reverb needed for the classic sound."
|
|
84
|
+
aesthetic: ['jazz', 'neo_soul', 'r_and_b']
|
|
85
|
+
- name: "Gritty Wurlitzer"
|
|
86
|
+
description: "Wurly preset, short attack, amp drive in the 20-30% range, high-pass at 100 Hz. The reed-bar grit IS the character — don't EQ it out."
|
|
87
|
+
aesthetic: ['soul', 'funk', 'lo_fi']
|
|
88
|
+
- name: "Tape-warped EP"
|
|
89
|
+
description: "Rhodes through Grain Delay + Auto Filter LFO, slight pitch detune. Boards of Canada / lo-fi hip-hop territory — the imperfection is the sound."
|
|
90
|
+
aesthetic: ['lo_fi', 'downtempo', 'hip_hop']
|
|
91
|
+
|
|
81
92
|
pairs_well_with:
|
|
82
93
|
- device: "Chorus-Ensemble"
|
|
83
94
|
reason: "Classic electric piano chorus — essential for the Juno-Rhodes sound"
|
|
@@ -102,6 +102,17 @@ key_parameters:
|
|
|
102
102
|
natural: 500.0
|
|
103
103
|
ambient: 3000.0
|
|
104
104
|
|
|
105
|
+
signature_techniques:
|
|
106
|
+
- name: "Grain cloud (Tim Hecker)"
|
|
107
|
+
description: "Load a sustained pad source, grain density high, pitch randomization slight, reverb send heavy. The grains blur the source into an undifferentiated textural bed."
|
|
108
|
+
aesthetic: ['ambient', 'drone', 'experimental']
|
|
109
|
+
- name: "Generative evolving bass"
|
|
110
|
+
description: "Source = a droning note, grain density medium, randomize position slightly. The bass evolves organically without automation."
|
|
111
|
+
aesthetic: ['ambient', 'deep_minimal', 'generative']
|
|
112
|
+
- name: "Fluid texture"
|
|
113
|
+
description: "Short vocal sample as source, grain density sparse, position LFO slow, pitch spread wide. Not a chord, not a noise — a liminal texture that sits between."
|
|
114
|
+
aesthetic: ['experimental', 'ambient', 'idm']
|
|
115
|
+
|
|
105
116
|
pairs_well_with:
|
|
106
117
|
- device: "Reverb"
|
|
107
118
|
reason: "Spectral sounds merge beautifully with long reverb — creates immersive washes"
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
id: granulator_iii
|
|
2
|
+
name: Granulator III
|
|
3
|
+
sonic_description: >
|
|
4
|
+
Robert Henke's (Monolake) reimagined granular synth. Three playback modes —
|
|
5
|
+
Classic (2 overlapping grains per stereo channel, the Granulator II engine),
|
|
6
|
+
Loop (rhythmic crossfaded sample playback), Cloud (up to 20 unsynced
|
|
7
|
+
overlapping grains). Full MPE for per-note control of grain size, shape,
|
|
8
|
+
and position. Real-time audio capture samples any source in one click.
|
|
9
|
+
The single most-used instrument for evolving texture, drone beds, and
|
|
10
|
+
vocal-chop clouds in deep minimal / microhouse / ambient.
|
|
11
|
+
synthesis_type: granular
|
|
12
|
+
character_tags: [granular, evolving, textural, atmospheric, experimental, organic, cloud]
|
|
13
|
+
use_cases: [texture, drone, vocal_chop, evolving_pad, cloud, re_pitched_loop, atmosphere]
|
|
14
|
+
genre_affinity:
|
|
15
|
+
primary: [deep_minimal, microhouse, ambient, dub_techno, idm]
|
|
16
|
+
secondary: [experimental, drone, cinematic, electronica]
|
|
17
|
+
complexity: intermediate
|
|
18
|
+
self_contained: false # requires a source sample or real-time capture
|
|
19
|
+
introduced_in: "12.0"
|
|
20
|
+
pack: Granulator III
|
|
21
|
+
creator: Robert Henke
|
|
22
|
+
class_name: PluginDevice
|
|
23
|
+
|
|
24
|
+
key_parameters:
|
|
25
|
+
- name: "Mode"
|
|
26
|
+
description: "Playback mode. Classic = 2 overlapping grains per channel (G II engine). Loop = rhythmic crossfaded playback synced to clip tempo. Cloud = up to 20 unsynced overlapping grains for drones/textures."
|
|
27
|
+
range: ["Classic", "Loop", "Cloud"]
|
|
28
|
+
type: enum
|
|
29
|
+
sweet_spots:
|
|
30
|
+
rhythmic_micro_loop: "Loop"
|
|
31
|
+
drone_cloud: "Cloud"
|
|
32
|
+
classic_texture: "Classic"
|
|
33
|
+
|
|
34
|
+
- name: "Grain Size"
|
|
35
|
+
description: "Duration of each grain in ms. Shorter = more tonal; longer = more recognizable as source."
|
|
36
|
+
range: [1, 1000]
|
|
37
|
+
unit: "ms"
|
|
38
|
+
type: float
|
|
39
|
+
sweet_spots:
|
|
40
|
+
cloud_drone: 200
|
|
41
|
+
vocal_grain: 500
|
|
42
|
+
micro_stutter: 20
|
|
43
|
+
|
|
44
|
+
- name: "Position"
|
|
45
|
+
description: "Read-head position in the source sample. Automate this for smooth source traversal."
|
|
46
|
+
range: [0.0, 1.0]
|
|
47
|
+
type: float
|
|
48
|
+
|
|
49
|
+
- name: "Position Random"
|
|
50
|
+
description: "Randomness added to read-head position per grain. Essential for Cloud-mode non-repeating texture."
|
|
51
|
+
range: [0.0, 1.0]
|
|
52
|
+
type: float
|
|
53
|
+
sweet_spots:
|
|
54
|
+
locked_loop: 0.0
|
|
55
|
+
organic_scatter: 0.3
|
|
56
|
+
full_chaos: 1.0
|
|
57
|
+
|
|
58
|
+
- name: "Pitch Random"
|
|
59
|
+
description: "Per-grain pitch detune in semitones. Low values give vintage tape wobble; high values give chord-cloud effects."
|
|
60
|
+
range: [0.0, 24.0]
|
|
61
|
+
unit: "st"
|
|
62
|
+
type: float
|
|
63
|
+
sweet_spots:
|
|
64
|
+
tape_wobble: 0.15
|
|
65
|
+
chord_cloud: 7.0
|
|
66
|
+
octave_chaos: 12.0
|
|
67
|
+
|
|
68
|
+
- name: "Grain Density"
|
|
69
|
+
description: "How many grains overlap at once. Higher = denser wall of sound."
|
|
70
|
+
range: [1, 20]
|
|
71
|
+
type: int
|
|
72
|
+
sweet_spots:
|
|
73
|
+
classic: 2
|
|
74
|
+
cloud_pad: 12
|
|
75
|
+
wall_of_sound: 20
|
|
76
|
+
|
|
77
|
+
- name: "Spray"
|
|
78
|
+
description: "Time randomization of grain onsets. Prevents periodic artifacts that make granular sound 'machine-like'."
|
|
79
|
+
range: [0.0, 1.0]
|
|
80
|
+
type: float
|
|
81
|
+
sweet_spots:
|
|
82
|
+
organic: 0.2
|
|
83
|
+
fully_asynchronous: 0.6
|
|
84
|
+
|
|
85
|
+
signature_techniques:
|
|
86
|
+
- name: "Instant deep-minimal texture"
|
|
87
|
+
description: >
|
|
88
|
+
Load any vocal snippet or field recording → Cloud mode, Grain Size 200-500ms,
|
|
89
|
+
Position Random 0.3, Pitch Random 0.1 → immediate organic evolving bed.
|
|
90
|
+
aesthetic: [microhouse, deep_minimal, ambient]
|
|
91
|
+
- name: "Rhythmic break re-chop"
|
|
92
|
+
description: >
|
|
93
|
+
Load a drum break → Loop mode, sync to clip tempo → automate Position in
|
|
94
|
+
short jumps → Akufen-style micro-edit patterns without manual slicing.
|
|
95
|
+
aesthetic: [microhouse, idm]
|
|
96
|
+
- name: "Vocal-to-chord-cloud"
|
|
97
|
+
description: >
|
|
98
|
+
Sustained vowel sample → Cloud mode, Pitch Random 7st, Grain Size 400ms
|
|
99
|
+
→ vocal becomes harmonic cloud without recognizable words.
|
|
100
|
+
aesthetic: [ambient, deep_minimal]
|
|
101
|
+
- name: "Real-time capture and grain"
|
|
102
|
+
description: >
|
|
103
|
+
Set up Granulator on a return track, route any source to it, hit Capture,
|
|
104
|
+
then grain the just-captured audio. Zero commitment to the source — if
|
|
105
|
+
you don't like the grain, record a new slice.
|
|
106
|
+
aesthetic: [experimental, ambient]
|
|
107
|
+
|
|
108
|
+
pairings:
|
|
109
|
+
- device: convolution_reverb
|
|
110
|
+
rationale: "Henke-canonical combo — grain clouds through a long hall IR = Basic Channel / Monolake spatial signature"
|
|
111
|
+
- device: pitchloop89
|
|
112
|
+
rationale: "Pair on output for detuned shimmer on top of the evolving texture"
|
|
113
|
+
- device: microtuner
|
|
114
|
+
rationale: "Feed Granulator through Microtuner for microtonal grain-cloud beds"
|
|
115
|
+
|
|
116
|
+
gotchas:
|
|
117
|
+
- "Cloud mode with 20 grains + 500ms size is CPU-heavy — freeze the track after print"
|
|
118
|
+
- "Real-time Capture samples whatever routes to the track — put on a return to grain a single source cleanly"
|
|
119
|
+
- "Position at 1.0 (end of sample) goes silent — keep Position + Grain Size below 1.0 of the sample duration"
|
|
120
|
+
- "Grain Size below 20ms starts producing audible tonal artifacts — good for FM-like textures, bad for 'natural' grain"
|
|
121
|
+
|
|
122
|
+
learn_more:
|
|
123
|
+
official: "https://www.ableton.com/en/packs/granulator-iii/"
|
|
124
|
+
creator_site: "https://roberthenke.com/technology/granulator3.html"
|