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,112 @@
|
|
|
1
|
+
id: amp
|
|
2
|
+
name: Amp
|
|
3
|
+
sonic_description: >
|
|
4
|
+
Guitar/bass amplifier emulation — 7 amp types (Clean/Boost/Blues/Rock/
|
|
5
|
+
Lead/Heavy/Bass), each with their own character of clean-to-overdriven
|
|
6
|
+
harmonic generation. Intended to be paired with Cabinet for the full
|
|
7
|
+
speaker-cabinet response, or run standalone for a direct-injection style.
|
|
8
|
+
effect_type: amp_simulation
|
|
9
|
+
character_tags: [guitar, distorted, saturated, warm, tube_character]
|
|
10
|
+
use_cases:
|
|
11
|
+
- electric_guitar_tone_shaping
|
|
12
|
+
- bass_direct_with_amp_character
|
|
13
|
+
- synth_through_guitar_amp_for_grit
|
|
14
|
+
- drums_through_rock_amp_for_aggression
|
|
15
|
+
genre_affinity:
|
|
16
|
+
primary: [rock, blues, metal, indie]
|
|
17
|
+
secondary: [experimental, synthwave, dub]
|
|
18
|
+
complexity: intermediate
|
|
19
|
+
self_contained: true
|
|
20
|
+
introduced_in: "9.0"
|
|
21
|
+
pack: Core Library
|
|
22
|
+
|
|
23
|
+
key_parameters:
|
|
24
|
+
- name: "Amp Type"
|
|
25
|
+
description: "Which amplifier model — each has a distinct harmonic/compression signature"
|
|
26
|
+
range: ["Clean", "Boost", "Blues", "Rock", "Lead", "Heavy", "Bass"]
|
|
27
|
+
type: enum
|
|
28
|
+
sweet_spots:
|
|
29
|
+
clean_warmth: "Clean"
|
|
30
|
+
edge_of_break: "Blues"
|
|
31
|
+
crunch: "Rock"
|
|
32
|
+
distortion: "Lead"
|
|
33
|
+
modern_metal: "Heavy"
|
|
34
|
+
bass_body: "Bass"
|
|
35
|
+
|
|
36
|
+
- name: "Gain"
|
|
37
|
+
description: "Preamp drive — the key saturation control"
|
|
38
|
+
range: [0.0, 10.0]
|
|
39
|
+
type: float
|
|
40
|
+
sweet_spots:
|
|
41
|
+
clean: 2.0
|
|
42
|
+
edge: 4.5
|
|
43
|
+
overdriven: 7.0
|
|
44
|
+
full_crunch: 9.0
|
|
45
|
+
|
|
46
|
+
- name: "Bass"
|
|
47
|
+
description: "Low-frequency EQ"
|
|
48
|
+
range: [0.0, 10.0]
|
|
49
|
+
type: float
|
|
50
|
+
|
|
51
|
+
- name: "Mid"
|
|
52
|
+
description: "Midrange EQ"
|
|
53
|
+
range: [0.0, 10.0]
|
|
54
|
+
type: float
|
|
55
|
+
|
|
56
|
+
- name: "Treble"
|
|
57
|
+
description: "High-frequency EQ"
|
|
58
|
+
range: [0.0, 10.0]
|
|
59
|
+
type: float
|
|
60
|
+
|
|
61
|
+
- name: "Presence"
|
|
62
|
+
description: "High-end airiness (post-EQ shimmer)"
|
|
63
|
+
range: [0.0, 10.0]
|
|
64
|
+
type: float
|
|
65
|
+
|
|
66
|
+
- name: "Volume"
|
|
67
|
+
description: "Output level — compensate for gain-induced level changes"
|
|
68
|
+
range: [0.0, 10.0]
|
|
69
|
+
type: float
|
|
70
|
+
|
|
71
|
+
- name: "Dual Mono"
|
|
72
|
+
description: "Run two independent amps for L and R for stereo width"
|
|
73
|
+
range: [0, 1]
|
|
74
|
+
type: int
|
|
75
|
+
|
|
76
|
+
pairs_well_with:
|
|
77
|
+
- device: "Cabinet"
|
|
78
|
+
reason: "The canonical pair — Amp is the preamp, Cabinet is the speaker. Use both unless going for a direct-injection sound"
|
|
79
|
+
- device: "Pedal"
|
|
80
|
+
reason: "Stomp-box overdrive in front of Amp for stacked saturation"
|
|
81
|
+
- device: "Compressor"
|
|
82
|
+
reason: "Compressor before Amp evens dynamics; after Amp, it glues the distorted signal"
|
|
83
|
+
- device: "EQ Eight"
|
|
84
|
+
reason: "Post-Amp, pre-Cabinet for specific harmonic shaping the amp's 3-band can't hit"
|
|
85
|
+
|
|
86
|
+
starter_recipes:
|
|
87
|
+
- name: "Classic Crunch Rhythm"
|
|
88
|
+
description: "Rock amp at the edge of breakup"
|
|
89
|
+
genre: rock
|
|
90
|
+
params:
|
|
91
|
+
"Amp Type": "Rock"
|
|
92
|
+
"Gain": 5.0
|
|
93
|
+
"Bass": 5.0
|
|
94
|
+
"Mid": 6.0
|
|
95
|
+
"Treble": 6.0
|
|
96
|
+
"Presence": 4.0
|
|
97
|
+
|
|
98
|
+
- name: "Synth Grit"
|
|
99
|
+
description: "Run a clean synth pad through a lead amp for harmonic dirt"
|
|
100
|
+
genre: synthwave
|
|
101
|
+
params:
|
|
102
|
+
"Amp Type": "Lead"
|
|
103
|
+
"Gain": 6.0
|
|
104
|
+
"Bass": 3.0
|
|
105
|
+
"Mid": 5.0
|
|
106
|
+
"Treble": 4.0
|
|
107
|
+
|
|
108
|
+
gotchas:
|
|
109
|
+
- "Amp alone sounds unnatural — the preamp without the speaker cabinet is harsh. Pair with Cabinet unless you specifically want that tone"
|
|
110
|
+
- "Gain and Volume are different — Gain creates saturation, Volume is makeup. Set Gain first, then compensate"
|
|
111
|
+
- "Dual Mono doubles CPU — leave off unless you need stereo independence"
|
|
112
|
+
- "Heavy and Lead amps at low Gain still sound 'amped' — the EQ character persists. For clean tone, use Clean or Blues"
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
id: audio_effect_rack
|
|
2
|
+
name: Audio Effect Rack
|
|
3
|
+
sonic_description: >
|
|
4
|
+
Container for audio effects with up to 8 macro knobs mapped to any
|
|
5
|
+
parameters across any chain. Parallel chains, chain selector, A/B
|
|
6
|
+
morphing via Rack Variations. Not an effect itself — the infrastructure
|
|
7
|
+
that makes complex effect sculpting macro-addressable. Essential for
|
|
8
|
+
building "signature chains" you can reuse, and for Akufen-style
|
|
9
|
+
parallel-chain routing.
|
|
10
|
+
effect_type: container
|
|
11
|
+
character_tags: [container, macro, chain, parallel, infrastructure]
|
|
12
|
+
use_cases:
|
|
13
|
+
- parallel_effect_processing
|
|
14
|
+
- macro_controlled_effect_chain
|
|
15
|
+
- signature_reusable_chain_presets
|
|
16
|
+
- chain_selector_a_b_swap
|
|
17
|
+
- preset_friendly_complex_effect_setup
|
|
18
|
+
genre_affinity:
|
|
19
|
+
primary: [all]
|
|
20
|
+
secondary: []
|
|
21
|
+
complexity: intermediate
|
|
22
|
+
self_contained: false
|
|
23
|
+
introduced_in: "4.0"
|
|
24
|
+
pack: Core Library
|
|
25
|
+
is_container: true
|
|
26
|
+
chain_model: parallel_and_serial
|
|
27
|
+
|
|
28
|
+
key_parameters:
|
|
29
|
+
- name: "Macro 1-8"
|
|
30
|
+
description: "Rack macros — map each to parameter(s) in any chain. Most-mapped rack knob is a performance gesture"
|
|
31
|
+
range: [0.0, 127.0]
|
|
32
|
+
type: float
|
|
33
|
+
|
|
34
|
+
- name: "Chain Volume (per chain)"
|
|
35
|
+
description: "Per-chain output level for parallel blending"
|
|
36
|
+
range: [-70.0, 6.0]
|
|
37
|
+
unit: "dB"
|
|
38
|
+
type: float
|
|
39
|
+
|
|
40
|
+
- name: "Chain Solo/Mute"
|
|
41
|
+
description: "Isolate one chain or disable it"
|
|
42
|
+
range: [0, 1]
|
|
43
|
+
type: int
|
|
44
|
+
|
|
45
|
+
- name: "Chain Selector"
|
|
46
|
+
description: "Gate chains based on a zone — useful for 'only chain A plays in zone 0-63, only chain B plays in 64-127'"
|
|
47
|
+
range: [0, 127]
|
|
48
|
+
type: int
|
|
49
|
+
|
|
50
|
+
pairs_well_with:
|
|
51
|
+
- device: "Any audio effect"
|
|
52
|
+
reason: "Drop any effect into a chain — Rack is just the scaffolding"
|
|
53
|
+
|
|
54
|
+
starter_recipes:
|
|
55
|
+
- name: "Signature Vocal Chain"
|
|
56
|
+
description: "EQ → De-esser → Compressor → Reverb send, with Macro 1 = reverb amount"
|
|
57
|
+
genre: all
|
|
58
|
+
steps:
|
|
59
|
+
- "Create Audio Effect Rack on vocal track"
|
|
60
|
+
- "Chain 1: EQ Eight → Multiband Dynamics (de-esser) → Compressor → Reverb"
|
|
61
|
+
- "Map Macro 1 to Reverb Dry/Wet"
|
|
62
|
+
- "Map Macro 2 to Compressor Threshold"
|
|
63
|
+
|
|
64
|
+
- name: "Parallel Saturation"
|
|
65
|
+
description: "Two chains — clean and heavily saturated — blended via macro"
|
|
66
|
+
genre: rock
|
|
67
|
+
steps:
|
|
68
|
+
- "Chain 1: clean pass-through"
|
|
69
|
+
- "Chain 2: Saturator (warm) + Limiter"
|
|
70
|
+
- "Map Macro 1 to Chain 2 Volume — sweep from clean to dirty"
|
|
71
|
+
|
|
72
|
+
gotchas:
|
|
73
|
+
- "Chains are PARALLEL by default — all chains receive the input and sum to the output. Don't confuse with serial"
|
|
74
|
+
- "Chain output level is post-chain-effects — you can saturate heavily and then pull Chain Volume down to keep master level sane"
|
|
75
|
+
- "Rack Variations (store_rack_variation / recall_rack_variation) capture the full state for A/B swap — essential for workflow"
|
|
76
|
+
- "Macros don't auto-map — use add_rack_macro + map_plugin_parameter explicitly. Naming macros after mapping is also worth the extra call"
|
|
77
|
+
- "For MIDI-effect containers use Instrument Rack or MIDI Effect Rack — this rack is audio-only"
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
id: cabinet
|
|
2
|
+
name: Cabinet
|
|
3
|
+
sonic_description: >
|
|
4
|
+
Speaker cabinet emulation — 5 cabinet types (1x12", 2x12", 4x12" Open,
|
|
5
|
+
4x12" Closed, 4x10" Bass) with selectable mic type (Dynamic / Condenser
|
|
6
|
+
/ Off-axis) and position. Creates the "speaker in a room" response that
|
|
7
|
+
makes amp simulations sound like real amps, or runs standalone on any
|
|
8
|
+
signal for a subtle coloration.
|
|
9
|
+
effect_type: cabinet_simulation
|
|
10
|
+
character_tags: [speaker_response, coloration, space, guitar, bass]
|
|
11
|
+
use_cases:
|
|
12
|
+
- post_amp_speaker_response
|
|
13
|
+
- standalone_synth_coloration
|
|
14
|
+
- drums_through_guitar_cab_for_character
|
|
15
|
+
- bass_DI_to_cabinet_sound
|
|
16
|
+
genre_affinity:
|
|
17
|
+
primary: [rock, blues, metal, indie]
|
|
18
|
+
secondary: [experimental, synthwave, hip_hop]
|
|
19
|
+
complexity: intermediate
|
|
20
|
+
self_contained: true
|
|
21
|
+
introduced_in: "9.0"
|
|
22
|
+
pack: Core Library
|
|
23
|
+
|
|
24
|
+
key_parameters:
|
|
25
|
+
- name: "Cabinet Type"
|
|
26
|
+
description: "Speaker configuration — changes size, mid character, low-end extension"
|
|
27
|
+
range: ["1x12", "2x12", "4x12 Open", "4x12 Closed", "4x10 Bass"]
|
|
28
|
+
type: enum
|
|
29
|
+
sweet_spots:
|
|
30
|
+
small_warm: "1x12"
|
|
31
|
+
medium_balanced: "2x12"
|
|
32
|
+
open_airy: "4x12 Open"
|
|
33
|
+
tight_punchy: "4x12 Closed"
|
|
34
|
+
bass_body: "4x10 Bass"
|
|
35
|
+
|
|
36
|
+
- name: "Microphone Type"
|
|
37
|
+
description: "Mic character — Dynamic is midrange-forward, Condenser is airy, Off-axis softens highs"
|
|
38
|
+
range: ["Dynamic", "Condenser", "Off-axis"]
|
|
39
|
+
type: enum
|
|
40
|
+
|
|
41
|
+
- name: "Microphone Position"
|
|
42
|
+
description: "On-axis vs edge-of-speaker position"
|
|
43
|
+
range: [0.0, 1.0]
|
|
44
|
+
type: float
|
|
45
|
+
sweet_spots:
|
|
46
|
+
on_axis_bright: 0.0
|
|
47
|
+
edge_mellow: 1.0
|
|
48
|
+
|
|
49
|
+
- name: "Dry/Wet"
|
|
50
|
+
description: "Blend with dry (bypassed) signal"
|
|
51
|
+
range: [0.0, 1.0]
|
|
52
|
+
type: float
|
|
53
|
+
|
|
54
|
+
pairs_well_with:
|
|
55
|
+
- device: "Amp"
|
|
56
|
+
reason: "The canonical pair — Amp + Cabinet = full guitar rig emulation"
|
|
57
|
+
- device: "EQ Eight"
|
|
58
|
+
reason: "Post-cabinet EQ fixes honkiness or dullness from the specific cabinet type"
|
|
59
|
+
|
|
60
|
+
starter_recipes:
|
|
61
|
+
- name: "Classic Rock Rig"
|
|
62
|
+
description: "4x12 Closed with dynamic mic on-axis"
|
|
63
|
+
genre: rock
|
|
64
|
+
params:
|
|
65
|
+
"Cabinet Type": "4x12 Closed"
|
|
66
|
+
"Microphone Type": "Dynamic"
|
|
67
|
+
"Microphone Position": 0.2
|
|
68
|
+
|
|
69
|
+
- name: "Airy Indie Guitar"
|
|
70
|
+
description: "1x12 Open with condenser off-axis for softer highs"
|
|
71
|
+
genre: indie
|
|
72
|
+
params:
|
|
73
|
+
"Cabinet Type": "1x12"
|
|
74
|
+
"Microphone Type": "Condenser"
|
|
75
|
+
"Microphone Position": 0.6
|
|
76
|
+
|
|
77
|
+
gotchas:
|
|
78
|
+
- "Cabinet without Amp sounds thin — not standalone-useful for guitar. For synths it adds subtle character on its own"
|
|
79
|
+
- "4x12 Closed has the deepest low end; 4x12 Open sounds more 'air around' and is less mixable"
|
|
80
|
+
- "Off-axis mic position was used historically to tame bright speakers — don't default to on-axis, listen first"
|
|
81
|
+
- "For IR-based cabinet simulation with more precision, use Convolution Reverb with cabinet IRs — Cabinet is the fast path, not the ultimate one"
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
id: corpus
|
|
2
|
+
name: Corpus
|
|
3
|
+
sonic_description: >
|
|
4
|
+
Physical modeling resonator — takes an incoming audio signal and runs it
|
|
5
|
+
through a simulated resonant body (string, beam, membrane, plate, tube,
|
|
6
|
+
pipe). Transforms drums into mallets, white noise into bowed textures,
|
|
7
|
+
speech into sung tones. Signature of experimental/minimal/dub aesthetics
|
|
8
|
+
when used sparingly as a send on a return track.
|
|
9
|
+
effect_type: resonator
|
|
10
|
+
character_tags: [physical, resonant, tonal, pitched, experimental]
|
|
11
|
+
use_cases:
|
|
12
|
+
- drum_to_pitched_percussion
|
|
13
|
+
- noise_to_bowed_texture
|
|
14
|
+
- excite_tuned_resonance_from_any_source
|
|
15
|
+
- speech_to_sung_formant
|
|
16
|
+
- atonal_to_harmonic_transformation
|
|
17
|
+
genre_affinity:
|
|
18
|
+
primary: [experimental, ambient, minimal, idm, sound_design]
|
|
19
|
+
secondary: [techno, dub, cinematic]
|
|
20
|
+
complexity: advanced
|
|
21
|
+
self_contained: true
|
|
22
|
+
introduced_in: "8.0"
|
|
23
|
+
pack: Core Library
|
|
24
|
+
|
|
25
|
+
key_parameters:
|
|
26
|
+
- name: "Resonance Type"
|
|
27
|
+
description: "Physical model — different bodies have different harmonic signatures"
|
|
28
|
+
range: ["Beam", "Marimba", "String", "Membrane", "Plate", "Pipe", "Tube"]
|
|
29
|
+
type: enum
|
|
30
|
+
sweet_spots:
|
|
31
|
+
mallet_excitation: "Marimba"
|
|
32
|
+
bowed_texture: "String"
|
|
33
|
+
thin_resonance: "Beam"
|
|
34
|
+
metallic_plate: "Plate"
|
|
35
|
+
organ_pipe: "Pipe"
|
|
36
|
+
|
|
37
|
+
- name: "Decay"
|
|
38
|
+
description: "How long the resonance sustains after excitation"
|
|
39
|
+
range: [0.0, 1.0]
|
|
40
|
+
type: float
|
|
41
|
+
sweet_spots:
|
|
42
|
+
short_pluck: 0.2
|
|
43
|
+
natural: 0.5
|
|
44
|
+
infinite_drone: 0.95
|
|
45
|
+
|
|
46
|
+
- name: "Tune"
|
|
47
|
+
description: "Fundamental pitch of the resonator"
|
|
48
|
+
range: [20.0, 12543.0]
|
|
49
|
+
unit: "Hz"
|
|
50
|
+
type: float
|
|
51
|
+
|
|
52
|
+
- name: "MIDI Note Tracking"
|
|
53
|
+
description: "Follow incoming MIDI (via a dummy track) to set tune"
|
|
54
|
+
range: [0, 1]
|
|
55
|
+
type: int
|
|
56
|
+
|
|
57
|
+
- name: "Brightness"
|
|
58
|
+
description: "High-frequency content of the resonance"
|
|
59
|
+
range: [0.0, 1.0]
|
|
60
|
+
type: float
|
|
61
|
+
|
|
62
|
+
- name: "Inharmonics"
|
|
63
|
+
description: "Detune of higher modes — 0 is perfect harmonic, positive is stretched (like piano)"
|
|
64
|
+
range: [-1.0, 1.0]
|
|
65
|
+
type: float
|
|
66
|
+
sweet_spots:
|
|
67
|
+
pure_tone: 0.0
|
|
68
|
+
piano_stretch: 0.2
|
|
69
|
+
metallic_bell: 0.5
|
|
70
|
+
|
|
71
|
+
- name: "Pos"
|
|
72
|
+
description: "Excitation position on the resonator — 0 is edge, 0.5 is middle. Changes which modes are excited"
|
|
73
|
+
range: [0.0, 0.5]
|
|
74
|
+
type: float
|
|
75
|
+
|
|
76
|
+
- name: "Dry/Wet"
|
|
77
|
+
description: "Mix of original vs resonated signal"
|
|
78
|
+
range: [0.0, 1.0]
|
|
79
|
+
type: float
|
|
80
|
+
sweet_spots:
|
|
81
|
+
subtle_ring: 0.25
|
|
82
|
+
balanced: 0.5
|
|
83
|
+
full_resonator: 1.0
|
|
84
|
+
|
|
85
|
+
pairs_well_with:
|
|
86
|
+
- device: "Reverb"
|
|
87
|
+
reason: "Corpus followed by long reverb = infinite tonal drone from any excitation"
|
|
88
|
+
- device: "Gate"
|
|
89
|
+
reason: "Gate in front of Corpus to control exactly when it excites"
|
|
90
|
+
- device: "Compressor"
|
|
91
|
+
reason: "After Corpus to even out the ringing resonances"
|
|
92
|
+
- device: "Auto Filter"
|
|
93
|
+
reason: "Modulate the resonance brightness for evolving tonal texture"
|
|
94
|
+
|
|
95
|
+
starter_recipes:
|
|
96
|
+
- name: "Drum to Mallet"
|
|
97
|
+
description: "Convert a kick or snare hit into a tuned mallet note"
|
|
98
|
+
genre: minimal
|
|
99
|
+
params:
|
|
100
|
+
"Resonance Type": "Marimba"
|
|
101
|
+
"Decay": 0.7
|
|
102
|
+
"Brightness": 0.5
|
|
103
|
+
"Dry/Wet": 0.9
|
|
104
|
+
|
|
105
|
+
- name: "Noise Bow"
|
|
106
|
+
description: "Excite String resonator with white noise for bowed texture"
|
|
107
|
+
genre: experimental
|
|
108
|
+
params:
|
|
109
|
+
"Resonance Type": "String"
|
|
110
|
+
"Decay": 0.9
|
|
111
|
+
"Inharmonics": 0.0
|
|
112
|
+
"Dry/Wet": 1.0
|
|
113
|
+
|
|
114
|
+
- name: "Speech Formant"
|
|
115
|
+
description: "Route voice through Pipe for sung-tone character"
|
|
116
|
+
genre: ambient
|
|
117
|
+
params:
|
|
118
|
+
"Resonance Type": "Pipe"
|
|
119
|
+
"Decay": 0.4
|
|
120
|
+
"Tune": 220.0
|
|
121
|
+
"Dry/Wet": 0.6
|
|
122
|
+
|
|
123
|
+
gotchas:
|
|
124
|
+
- "Corpus is pitched — an atonal source through Corpus becomes a pitched drone on the fundamental. Tune carefully or the track will sit in the wrong key"
|
|
125
|
+
- "High Decay values can self-resonate and build up infinite feedback — always monitor peak level"
|
|
126
|
+
- "Pos at 0 excites all modes equally, 0.5 excites only odd harmonics — big tonal difference"
|
|
127
|
+
- "String and Beam types are very sensitive to input level — quiet signals barely resonate, loud ones clip"
|
|
128
|
+
- "MIDI Note Tracking requires routing MIDI to the track hosting Corpus (audio-from routing) — not obvious from the UI"
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
id: envelope_follower
|
|
2
|
+
name: Envelope Follower
|
|
3
|
+
sonic_description: >
|
|
4
|
+
M4L modulator — extracts the amplitude envelope of an incoming audio
|
|
5
|
+
signal and maps it to ANY parameter anywhere in the live set via
|
|
6
|
+
Map mode. The key device for audio-rate modulation: use a kick drum
|
|
7
|
+
to open a filter on a pad, use a snare to close a reverb send on
|
|
8
|
+
the vocal, use a sidechain key to drive automation depth on macros.
|
|
9
|
+
Critical infrastructure for minimal/dub ducking not done via
|
|
10
|
+
Compressor sidechain.
|
|
11
|
+
effect_type: modulator
|
|
12
|
+
character_tags: [modulation, sidechain, follower, routing, audio_reactive]
|
|
13
|
+
use_cases:
|
|
14
|
+
- audio_reactive_filter_opening
|
|
15
|
+
- alternative_to_compressor_sidechain_ducking
|
|
16
|
+
- amplitude_to_any_parameter_mapping
|
|
17
|
+
- kick_drives_pad_filter_cutoff
|
|
18
|
+
- dynamic_send_modulation_per_hit
|
|
19
|
+
genre_affinity:
|
|
20
|
+
primary: [techno, minimal, dub, electronic]
|
|
21
|
+
secondary: [ambient, experimental, house]
|
|
22
|
+
complexity: intermediate
|
|
23
|
+
self_contained: false
|
|
24
|
+
introduced_in: "10.0"
|
|
25
|
+
pack: Core Library
|
|
26
|
+
|
|
27
|
+
key_parameters:
|
|
28
|
+
- name: "Gain"
|
|
29
|
+
description: "Input level — scales the detected amplitude before envelope follows"
|
|
30
|
+
range: [-35.0, 35.0]
|
|
31
|
+
unit: "dB"
|
|
32
|
+
type: float
|
|
33
|
+
|
|
34
|
+
- name: "Attack"
|
|
35
|
+
description: "Envelope rise time"
|
|
36
|
+
range: [0.1, 1000.0]
|
|
37
|
+
unit: "ms"
|
|
38
|
+
type: float
|
|
39
|
+
sweet_spots:
|
|
40
|
+
instant: 0.1
|
|
41
|
+
smooth: 30.0
|
|
42
|
+
slow: 200.0
|
|
43
|
+
|
|
44
|
+
- name: "Release"
|
|
45
|
+
description: "Envelope fall time"
|
|
46
|
+
range: [0.1, 10000.0]
|
|
47
|
+
unit: "ms"
|
|
48
|
+
type: float
|
|
49
|
+
sweet_spots:
|
|
50
|
+
tight: 50.0
|
|
51
|
+
musical: 200.0
|
|
52
|
+
long_tail: 800.0
|
|
53
|
+
|
|
54
|
+
- name: "Min"
|
|
55
|
+
description: "Minimum output value (modulation offset)"
|
|
56
|
+
range: [0.0, 1.0]
|
|
57
|
+
type: float
|
|
58
|
+
|
|
59
|
+
- name: "Max"
|
|
60
|
+
description: "Maximum output value (modulation ceiling)"
|
|
61
|
+
range: [0.0, 1.0]
|
|
62
|
+
type: float
|
|
63
|
+
|
|
64
|
+
- name: "Rise/Fall Shape"
|
|
65
|
+
description: "Curvature of attack/release — linear vs exponential"
|
|
66
|
+
range: ["Linear", "Exponential"]
|
|
67
|
+
type: enum
|
|
68
|
+
|
|
69
|
+
pairs_well_with:
|
|
70
|
+
- device: "Auto Filter"
|
|
71
|
+
reason: "Envelope Follower mapped to Auto Filter cutoff on the same track — audio-reactive filter without sidechaining"
|
|
72
|
+
- device: "Compressor"
|
|
73
|
+
reason: "Alternative or complement to sidechain compression — follower gives more control over the curve shape"
|
|
74
|
+
|
|
75
|
+
starter_recipes:
|
|
76
|
+
- name: "Kick-Ducked Pad Filter"
|
|
77
|
+
description: "Send kick as audio-from, follow its envelope, map to pad's filter cutoff"
|
|
78
|
+
genre: techno
|
|
79
|
+
params:
|
|
80
|
+
"Attack": 1.0
|
|
81
|
+
"Release": 300.0
|
|
82
|
+
"Min": 0.3
|
|
83
|
+
"Max": 1.0
|
|
84
|
+
|
|
85
|
+
- name: "Snare-Triggered Reverb Swell"
|
|
86
|
+
description: "Snare hits open the reverb send momentarily — rhythmic ambient texture"
|
|
87
|
+
genre: experimental
|
|
88
|
+
params:
|
|
89
|
+
"Attack": 5.0
|
|
90
|
+
"Release": 500.0
|
|
91
|
+
"Min": 0.0
|
|
92
|
+
"Max": 0.8
|
|
93
|
+
|
|
94
|
+
gotchas:
|
|
95
|
+
- "Envelope Follower does NOT process audio — it outputs a CV-like value that must be Map-assigned to another parameter. Without a mapping, it does nothing audible"
|
|
96
|
+
- "Requires audio-from routing from a different track OR placement on the track whose envelope you want to follow — easy to mis-route"
|
|
97
|
+
- "Attack of 0.1ms tracks transients exactly; >10ms smooths and loses transient precision. Pick based on what you're mapping to"
|
|
98
|
+
- "Min/Max define the output range — if you want full modulation, Min=0 Max=1. For subtle modulation, narrow the range (Min=0.4 Max=0.6)"
|
|
99
|
+
- "For programmatic automation-like behavior without audio input, use LFO instead"
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
id: external_audio_effect
|
|
2
|
+
name: External Audio Effect
|
|
3
|
+
sonic_description: >
|
|
4
|
+
Infrastructure device for routing audio OUT to external hardware (a
|
|
5
|
+
guitar pedal, an outboard compressor, a hardware synth's audio-through
|
|
6
|
+
path) and back IN. Essential for hybrid hardware/DAW setups. Handles
|
|
7
|
+
audio delay compensation automatically via send-receive round-trip
|
|
8
|
+
timing.
|
|
9
|
+
effect_type: hardware_insert
|
|
10
|
+
character_tags: [hardware, routing, infrastructure, insert, hybrid_rig]
|
|
11
|
+
use_cases:
|
|
12
|
+
- outboard_compressor_insert
|
|
13
|
+
- hardware_pedal_through_daw
|
|
14
|
+
- re_amping_via_hardware_amp
|
|
15
|
+
- send_to_synth_audio_through
|
|
16
|
+
genre_affinity:
|
|
17
|
+
primary: [all]
|
|
18
|
+
secondary: []
|
|
19
|
+
complexity: intermediate
|
|
20
|
+
self_contained: false
|
|
21
|
+
introduced_in: "8.0"
|
|
22
|
+
pack: Core Library
|
|
23
|
+
requires_hardware: true
|
|
24
|
+
|
|
25
|
+
key_parameters:
|
|
26
|
+
- name: "Audio To"
|
|
27
|
+
description: "Output audio port — the physical output sent to hardware"
|
|
28
|
+
range: ["Ext Out 1", "Ext Out 2", "..."]
|
|
29
|
+
type: enum
|
|
30
|
+
|
|
31
|
+
- name: "Audio From"
|
|
32
|
+
description: "Input audio port — the physical return from hardware"
|
|
33
|
+
range: ["Ext In 1", "Ext In 2", "..."]
|
|
34
|
+
type: enum
|
|
35
|
+
|
|
36
|
+
- name: "Gain"
|
|
37
|
+
description: "Make-up gain for the returning signal"
|
|
38
|
+
range: [-35.0, 35.0]
|
|
39
|
+
unit: "dB"
|
|
40
|
+
type: float
|
|
41
|
+
|
|
42
|
+
- name: "Hardware Latency"
|
|
43
|
+
description: "Measured round-trip latency for delay compensation — auto-detected"
|
|
44
|
+
range: [0.0, 1000.0]
|
|
45
|
+
unit: "ms"
|
|
46
|
+
type: float
|
|
47
|
+
|
|
48
|
+
- name: "Dry/Wet"
|
|
49
|
+
description: "Blend processed return with dry"
|
|
50
|
+
range: [0.0, 1.0]
|
|
51
|
+
type: float
|
|
52
|
+
|
|
53
|
+
pairs_well_with:
|
|
54
|
+
- device: "Utility"
|
|
55
|
+
reason: "Utility before External effect for gain staging into the hardware, after for final trim"
|
|
56
|
+
- device: "Compressor"
|
|
57
|
+
reason: "Tracking compressor in DAW for safety, hardware compressor in External for character"
|
|
58
|
+
|
|
59
|
+
gotchas:
|
|
60
|
+
- "Requires multi-channel audio interface with at least one unused input/output pair"
|
|
61
|
+
- "Hardware Latency must be correct or everything downstream will be phase-wrong — use Auto-Detect and trust it unless you hear smearing"
|
|
62
|
+
- "Don't bypass — the audio signal is physically leaving the DAW. Bypass stops the round-trip but doesn't mute your hardware"
|
|
63
|
+
- "For pure hardware synth MIDI → audio return, External Instrument is more appropriate than External Audio Effect"
|
|
64
|
+
- "Running multiple External Audio Effects on different tracks can easily saturate interface I/O — check channel availability"
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
id: looper
|
|
2
|
+
name: Looper
|
|
3
|
+
sonic_description: >
|
|
4
|
+
Real-time audio looper — captures a segment of audio and layers
|
|
5
|
+
overdubs. Built around performance rather than mixing. Records at the
|
|
6
|
+
current tempo, optional tempo detection from length, variable feedback
|
|
7
|
+
on overdubs. Used live for build-a-song-on-stage sets (Ed Sheeran,
|
|
8
|
+
KT Tunstall style), in studio as a creative "sample yourself" tool,
|
|
9
|
+
or for dub-style tape-loop emulation.
|
|
10
|
+
effect_type: looper
|
|
11
|
+
character_tags: [performance, overdub, live, tape_loop, experimental]
|
|
12
|
+
use_cases:
|
|
13
|
+
- live_performance_looping
|
|
14
|
+
- studio_experiment_sample_yourself
|
|
15
|
+
- dub_style_tape_loop_emulation
|
|
16
|
+
- generative_composition_from_single_source
|
|
17
|
+
genre_affinity:
|
|
18
|
+
primary: [indie, folk, experimental, dub]
|
|
19
|
+
secondary: [ambient, live_performance, electronic]
|
|
20
|
+
complexity: intermediate
|
|
21
|
+
self_contained: true
|
|
22
|
+
introduced_in: "7.0"
|
|
23
|
+
pack: Core Library
|
|
24
|
+
|
|
25
|
+
key_parameters:
|
|
26
|
+
- name: "State"
|
|
27
|
+
description: "Current state — Stop / Record / Play / Overdub"
|
|
28
|
+
range: ["Stop", "Record", "Play", "Overdub"]
|
|
29
|
+
type: enum
|
|
30
|
+
|
|
31
|
+
- name: "Tempo Mode"
|
|
32
|
+
description: "How Looper handles tempo — Set and Follow, None, Set Song, Follow Song"
|
|
33
|
+
range: ["None", "Set Song", "Follow Song"]
|
|
34
|
+
type: enum
|
|
35
|
+
|
|
36
|
+
- name: "Quantization"
|
|
37
|
+
description: "Quantize loop start/overdub to beat grid"
|
|
38
|
+
range: ["None", "1/4", "1/2", "1 bar", "2 bars", "4 bars", "8 bars"]
|
|
39
|
+
type: enum
|
|
40
|
+
|
|
41
|
+
- name: "Feedback"
|
|
42
|
+
description: "Overdub feedback — <100% fades old layers over time"
|
|
43
|
+
range: [0.0, 1.0]
|
|
44
|
+
type: float
|
|
45
|
+
sweet_spots:
|
|
46
|
+
infinite_layer: 1.0
|
|
47
|
+
tape_style_fade: 0.85
|
|
48
|
+
fast_fade: 0.5
|
|
49
|
+
|
|
50
|
+
- name: "Record Dry/Wet"
|
|
51
|
+
description: "Record dry input, wet loop, or blend"
|
|
52
|
+
range: [0.0, 1.0]
|
|
53
|
+
type: float
|
|
54
|
+
|
|
55
|
+
pairs_well_with:
|
|
56
|
+
- device: "Reverb"
|
|
57
|
+
reason: "Post-looper reverb creates ambient soundscapes from single notes"
|
|
58
|
+
- device: "Auto Filter"
|
|
59
|
+
reason: "Modulate looper output with LFO for evolving loop texture"
|
|
60
|
+
- device: "Pedal"
|
|
61
|
+
reason: "Stomp-box feedback into Looper for dubby layered grit"
|
|
62
|
+
|
|
63
|
+
starter_recipes:
|
|
64
|
+
- name: "Live Performance Loop"
|
|
65
|
+
description: "4-bar loop with infinite feedback for overdub layering"
|
|
66
|
+
genre: indie
|
|
67
|
+
params:
|
|
68
|
+
"Tempo Mode": "Set Song"
|
|
69
|
+
"Quantization": "4 bars"
|
|
70
|
+
"Feedback": 1.0
|
|
71
|
+
|
|
72
|
+
- name: "Tape-Loop Decay"
|
|
73
|
+
description: "Dub-style decaying loop that fades over bars"
|
|
74
|
+
genre: dub
|
|
75
|
+
params:
|
|
76
|
+
"Tempo Mode": "Set Song"
|
|
77
|
+
"Quantization": "2 bars"
|
|
78
|
+
"Feedback": 0.8
|
|
79
|
+
|
|
80
|
+
gotchas:
|
|
81
|
+
- "Looper is performance-focused — programming it fully via MCP is awkward. Use live triggering (foot-pedal / MIDI) for real-time control"
|
|
82
|
+
- "Feedback at 1.0 means infinite layering — overdubs never fade. Feedback at 0.9 or below is more musical for tape-style use"
|
|
83
|
+
- "Record Dry/Wet affects what's captured, not what's heard — raise the track's return to verify what's going into the loop"
|
|
84
|
+
- "Tempo Mode Set Song locks Looper to current session tempo; None lets Looper fall behind/ahead if tempo changes"
|
|
85
|
+
- "Unlike Live 11 drag-to-export, audio capture from Looper for further processing requires re-recording to an audio track"
|