livepilot 1.9.23 → 1.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/marketplace.json +3 -3
- package/AGENTS.md +3 -3
- package/CHANGELOG.md +119 -0
- package/CONTRIBUTING.md +1 -1
- package/README.md +144 -13
- package/bin/livepilot.js +87 -0
- package/installer/codex.js +147 -0
- package/livepilot/.Codex-plugin/plugin.json +2 -2
- package/livepilot/.claude-plugin/plugin.json +2 -2
- package/livepilot/skills/livepilot-core/SKILL.md +21 -4
- package/livepilot/skills/livepilot-core/references/device-knowledge/00-index.md +34 -0
- package/livepilot/skills/livepilot-core/references/device-knowledge/automation-as-music.md +204 -0
- package/livepilot/skills/livepilot-core/references/device-knowledge/chains-genre.md +173 -0
- package/livepilot/skills/livepilot-core/references/device-knowledge/creative-thinking.md +211 -0
- package/livepilot/skills/livepilot-core/references/device-knowledge/effects-distortion.md +188 -0
- package/livepilot/skills/livepilot-core/references/device-knowledge/effects-space.md +162 -0
- package/livepilot/skills/livepilot-core/references/device-knowledge/effects-spectral.md +229 -0
- package/livepilot/skills/livepilot-core/references/device-knowledge/instruments-synths.md +243 -0
- package/livepilot/skills/livepilot-core/references/overview.md +13 -9
- package/livepilot/skills/livepilot-core/references/sample-manipulation.md +724 -0
- package/livepilot/skills/livepilot-core/references/sound-design-deep.md +140 -0
- package/livepilot/skills/livepilot-devices/SKILL.md +16 -2
- package/livepilot/skills/livepilot-evaluation/references/capability-modes.md +1 -1
- package/livepilot/skills/livepilot-release/SKILL.md +19 -5
- package/livepilot/skills/livepilot-sample-engine/SKILL.md +104 -0
- package/livepilot/skills/livepilot-sample-engine/references/sample-critics.md +87 -0
- package/livepilot/skills/livepilot-sample-engine/references/sample-philosophy.md +51 -0
- package/livepilot/skills/livepilot-sample-engine/references/sample-techniques.md +131 -0
- package/livepilot/skills/livepilot-sound-design-engine/SKILL.md +45 -0
- package/livepilot/skills/livepilot-wonder/SKILL.md +15 -0
- package/livepilot.mcpb +0 -0
- package/m4l_device/livepilot_bridge.js +1 -1
- package/manifest.json +2 -2
- package/mcp_server/__init__.py +1 -1
- package/mcp_server/atlas/__init__.py +357 -0
- package/mcp_server/atlas/device_atlas.json +44067 -0
- package/mcp_server/atlas/enrichments/__init__.py +111 -0
- package/mcp_server/atlas/enrichments/audio_effects/auto_filter.yaml +162 -0
- package/mcp_server/atlas/enrichments/audio_effects/beat_repeat.yaml +183 -0
- package/mcp_server/atlas/enrichments/audio_effects/channel_eq.yaml +126 -0
- package/mcp_server/atlas/enrichments/audio_effects/chorus_ensemble.yaml +149 -0
- package/mcp_server/atlas/enrichments/audio_effects/color_limiter.yaml +109 -0
- package/mcp_server/atlas/enrichments/audio_effects/compressor.yaml +159 -0
- package/mcp_server/atlas/enrichments/audio_effects/convolution_reverb.yaml +143 -0
- package/mcp_server/atlas/enrichments/audio_effects/convolution_reverb_pro.yaml +178 -0
- package/mcp_server/atlas/enrichments/audio_effects/delay.yaml +151 -0
- package/mcp_server/atlas/enrichments/audio_effects/drum_buss.yaml +142 -0
- package/mcp_server/atlas/enrichments/audio_effects/dynamic_tube.yaml +147 -0
- package/mcp_server/atlas/enrichments/audio_effects/echo.yaml +167 -0
- package/mcp_server/atlas/enrichments/audio_effects/eq_eight.yaml +148 -0
- package/mcp_server/atlas/enrichments/audio_effects/eq_three.yaml +121 -0
- package/mcp_server/atlas/enrichments/audio_effects/erosion.yaml +103 -0
- package/mcp_server/atlas/enrichments/audio_effects/filter_delay.yaml +173 -0
- package/mcp_server/atlas/enrichments/audio_effects/gate.yaml +130 -0
- package/mcp_server/atlas/enrichments/audio_effects/gated_delay.yaml +133 -0
- package/mcp_server/atlas/enrichments/audio_effects/glue_compressor.yaml +142 -0
- package/mcp_server/atlas/enrichments/audio_effects/grain_delay.yaml +141 -0
- package/mcp_server/atlas/enrichments/audio_effects/hybrid_reverb.yaml +160 -0
- package/mcp_server/atlas/enrichments/audio_effects/limiter.yaml +97 -0
- package/mcp_server/atlas/enrichments/audio_effects/multiband_dynamics.yaml +174 -0
- package/mcp_server/atlas/enrichments/audio_effects/overdrive.yaml +119 -0
- package/mcp_server/atlas/enrichments/audio_effects/pedal.yaml +145 -0
- package/mcp_server/atlas/enrichments/audio_effects/phaser_flanger.yaml +161 -0
- package/mcp_server/atlas/enrichments/audio_effects/redux.yaml +114 -0
- package/mcp_server/atlas/enrichments/audio_effects/reverb.yaml +190 -0
- package/mcp_server/atlas/enrichments/audio_effects/roar.yaml +159 -0
- package/mcp_server/atlas/enrichments/audio_effects/saturator.yaml +146 -0
- package/mcp_server/atlas/enrichments/audio_effects/shifter.yaml +154 -0
- package/mcp_server/atlas/enrichments/audio_effects/spectral_resonator.yaml +141 -0
- package/mcp_server/atlas/enrichments/audio_effects/spectral_time.yaml +164 -0
- package/mcp_server/atlas/enrichments/audio_effects/vector_delay.yaml +140 -0
- package/mcp_server/atlas/enrichments/audio_effects/vinyl_distortion.yaml +141 -0
- package/mcp_server/atlas/enrichments/instruments/analog.yaml +222 -0
- package/mcp_server/atlas/enrichments/instruments/bass.yaml +202 -0
- package/mcp_server/atlas/enrichments/instruments/collision.yaml +150 -0
- package/mcp_server/atlas/enrichments/instruments/drift.yaml +167 -0
- package/mcp_server/atlas/enrichments/instruments/electric.yaml +137 -0
- package/mcp_server/atlas/enrichments/instruments/emit.yaml +163 -0
- package/mcp_server/atlas/enrichments/instruments/meld.yaml +164 -0
- package/mcp_server/atlas/enrichments/instruments/operator.yaml +197 -0
- package/mcp_server/atlas/enrichments/instruments/poli.yaml +192 -0
- package/mcp_server/atlas/enrichments/instruments/sampler.yaml +218 -0
- package/mcp_server/atlas/enrichments/instruments/simpler.yaml +217 -0
- package/mcp_server/atlas/enrichments/instruments/tension.yaml +156 -0
- package/mcp_server/atlas/enrichments/instruments/tree_tone.yaml +162 -0
- package/mcp_server/atlas/enrichments/instruments/vector_fm.yaml +165 -0
- package/mcp_server/atlas/enrichments/instruments/vector_grain.yaml +166 -0
- package/mcp_server/atlas/enrichments/instruments/wavetable.yaml +162 -0
- package/mcp_server/atlas/enrichments/midi_effects/arpeggiator.yaml +156 -0
- package/mcp_server/atlas/enrichments/midi_effects/bouncy_notes.yaml +93 -0
- package/mcp_server/atlas/enrichments/midi_effects/chord.yaml +147 -0
- package/mcp_server/atlas/enrichments/midi_effects/melodic_steps.yaml +97 -0
- package/mcp_server/atlas/enrichments/midi_effects/note_echo.yaml +108 -0
- package/mcp_server/atlas/enrichments/midi_effects/note_length.yaml +97 -0
- package/mcp_server/atlas/enrichments/midi_effects/pitch.yaml +76 -0
- package/mcp_server/atlas/enrichments/midi_effects/random.yaml +117 -0
- package/mcp_server/atlas/enrichments/midi_effects/rhythmic_steps.yaml +103 -0
- package/mcp_server/atlas/enrichments/midi_effects/scale.yaml +83 -0
- package/mcp_server/atlas/enrichments/midi_effects/step_arp.yaml +112 -0
- package/mcp_server/atlas/enrichments/midi_effects/velocity.yaml +119 -0
- package/mcp_server/atlas/enrichments/utility/amp.yaml +159 -0
- package/mcp_server/atlas/enrichments/utility/cabinet.yaml +109 -0
- package/mcp_server/atlas/enrichments/utility/corpus.yaml +150 -0
- package/mcp_server/atlas/enrichments/utility/resonators.yaml +131 -0
- package/mcp_server/atlas/enrichments/utility/spectrum.yaml +63 -0
- package/mcp_server/atlas/enrichments/utility/tuner.yaml +51 -0
- package/mcp_server/atlas/enrichments/utility/utility.yaml +136 -0
- package/mcp_server/atlas/enrichments/utility/vocoder.yaml +160 -0
- package/mcp_server/atlas/scanner.py +236 -0
- package/mcp_server/atlas/tools.py +224 -0
- package/mcp_server/composer/__init__.py +1 -0
- package/mcp_server/composer/engine.py +452 -0
- package/mcp_server/composer/layer_planner.py +427 -0
- package/mcp_server/composer/prompt_parser.py +329 -0
- package/mcp_server/composer/tools.py +201 -0
- package/mcp_server/connection.py +53 -8
- package/mcp_server/corpus/__init__.py +377 -0
- package/mcp_server/device_forge/__init__.py +1 -0
- package/mcp_server/device_forge/builder.py +377 -0
- package/mcp_server/device_forge/models.py +142 -0
- package/mcp_server/device_forge/templates.py +483 -0
- package/mcp_server/device_forge/tools.py +162 -0
- package/mcp_server/hook_hunter/analyzer.py +23 -0
- package/mcp_server/hook_hunter/models.py +1 -0
- package/mcp_server/hook_hunter/tools.py +4 -2
- package/mcp_server/m4l_bridge.py +1 -0
- package/mcp_server/memory/taste_graph.py +68 -1
- package/mcp_server/memory/tools.py +15 -4
- package/mcp_server/musical_intelligence/detectors.py +14 -1
- package/mcp_server/musical_intelligence/tools.py +11 -8
- package/mcp_server/persistence/__init__.py +1 -0
- package/mcp_server/persistence/base_store.py +82 -0
- package/mcp_server/persistence/project_store.py +106 -0
- package/mcp_server/persistence/taste_store.py +122 -0
- package/mcp_server/preview_studio/models.py +1 -0
- package/mcp_server/preview_studio/tools.py +56 -13
- package/mcp_server/runtime/capability.py +66 -0
- package/mcp_server/runtime/capability_probe.py +137 -0
- package/mcp_server/runtime/execution_router.py +143 -0
- package/mcp_server/runtime/live_version.py +102 -0
- package/mcp_server/runtime/remote_commands.py +87 -0
- package/mcp_server/runtime/tools.py +18 -4
- package/mcp_server/sample_engine/__init__.py +1 -0
- package/mcp_server/sample_engine/analyzer.py +216 -0
- package/mcp_server/sample_engine/critics.py +390 -0
- package/mcp_server/sample_engine/models.py +193 -0
- package/mcp_server/sample_engine/moves.py +127 -0
- package/mcp_server/sample_engine/planner.py +186 -0
- package/mcp_server/sample_engine/sources.py +540 -0
- package/mcp_server/sample_engine/techniques.py +908 -0
- package/mcp_server/sample_engine/tools.py +442 -0
- package/mcp_server/semantic_moves/__init__.py +3 -0
- package/mcp_server/semantic_moves/device_creation_moves.py +237 -0
- package/mcp_server/semantic_moves/mix_moves.py +41 -41
- package/mcp_server/semantic_moves/performance_moves.py +13 -13
- package/mcp_server/semantic_moves/sample_compilers.py +372 -0
- package/mcp_server/semantic_moves/sound_design_moves.py +15 -15
- package/mcp_server/semantic_moves/tools.py +18 -17
- package/mcp_server/semantic_moves/transition_moves.py +16 -16
- package/mcp_server/server.py +51 -0
- package/mcp_server/services/__init__.py +1 -0
- package/mcp_server/services/motif_service.py +67 -0
- package/mcp_server/session_continuity/tracker.py +29 -1
- package/mcp_server/song_brain/builder.py +28 -1
- package/mcp_server/song_brain/models.py +4 -0
- package/mcp_server/song_brain/tools.py +20 -2
- package/mcp_server/sound_design/critics.py +89 -1
- package/mcp_server/splice_client/__init__.py +1 -0
- package/mcp_server/splice_client/client.py +347 -0
- package/mcp_server/splice_client/models.py +96 -0
- package/mcp_server/splice_client/protos/__init__.py +1 -0
- package/mcp_server/splice_client/protos/app_pb2.py +319 -0
- package/mcp_server/splice_client/protos/app_pb2.pyi +1153 -0
- package/mcp_server/splice_client/protos/app_pb2_grpc.py +1946 -0
- package/mcp_server/tools/arrangement.py +69 -0
- package/mcp_server/tools/automation.py +15 -2
- package/mcp_server/tools/devices.py +117 -6
- package/mcp_server/tools/notes.py +37 -4
- package/mcp_server/wonder_mode/diagnosis.py +5 -0
- package/mcp_server/wonder_mode/engine.py +85 -1
- package/mcp_server/wonder_mode/tools.py +6 -1
- package/package.json +12 -2
- package/remote_script/LivePilot/__init__.py +8 -1
- package/remote_script/LivePilot/arrangement.py +114 -0
- package/remote_script/LivePilot/browser.py +56 -1
- package/remote_script/LivePilot/devices.py +236 -6
- package/remote_script/LivePilot/mixing.py +8 -3
- package/remote_script/LivePilot/server.py +5 -1
- package/remote_script/LivePilot/transport.py +3 -0
- package/remote_script/LivePilot/version_detect.py +78 -0
- package/scripts/sync_metadata.py +132 -0
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
id: emit
|
|
2
|
+
name: Emit
|
|
3
|
+
sonic_description: >
|
|
4
|
+
Spectral synthesizer with direct control over individual harmonics and partials.
|
|
5
|
+
Allows sculpting of timbres at the partial level with spectral filtering, built-in
|
|
6
|
+
effects, and organic motion. Produces crystalline, ethereal, and breathy tones
|
|
7
|
+
that sit between synthesis and acoustic sound in a way no other Live instrument achieves.
|
|
8
|
+
synthesis_type: spectral
|
|
9
|
+
character_tags: [crystalline, ethereal, spectral, breathy, luminous]
|
|
10
|
+
use_cases: [pads, textures, atmospheric, vocal_textures, sound_design]
|
|
11
|
+
genre_affinity:
|
|
12
|
+
primary: [ambient, experimental, cinematic]
|
|
13
|
+
secondary: [electronic, post_rock, new_age, sound_design]
|
|
14
|
+
complexity: advanced
|
|
15
|
+
self_contained: true
|
|
16
|
+
introduced_in: "12.0"
|
|
17
|
+
|
|
18
|
+
key_parameters:
|
|
19
|
+
- name: "Partials"
|
|
20
|
+
description: "Number of active harmonic partials in the sound"
|
|
21
|
+
range: [1, 64]
|
|
22
|
+
type: int
|
|
23
|
+
sweet_spots:
|
|
24
|
+
simple_pure: 4
|
|
25
|
+
rich: 16
|
|
26
|
+
complex: 32
|
|
27
|
+
maximum: 64
|
|
28
|
+
|
|
29
|
+
- name: "Spectral Shape"
|
|
30
|
+
description: "Overall spectral envelope that shapes which partials are prominent"
|
|
31
|
+
range: [0.0, 1.0]
|
|
32
|
+
type: float
|
|
33
|
+
sweet_spots:
|
|
34
|
+
fundamental_heavy: 0.1
|
|
35
|
+
balanced: 0.5
|
|
36
|
+
upper_partials: 0.9
|
|
37
|
+
|
|
38
|
+
- name: "Spectral Filter"
|
|
39
|
+
description: "Spectral domain filtering — shapes the harmonic content differently from traditional filters"
|
|
40
|
+
range: [0.0, 1.0]
|
|
41
|
+
type: float
|
|
42
|
+
sweet_spots:
|
|
43
|
+
dark: 0.2
|
|
44
|
+
neutral: 0.5
|
|
45
|
+
bright: 0.9
|
|
46
|
+
|
|
47
|
+
- name: "Breath"
|
|
48
|
+
description: "Amount of breathy, noise-like component blended with the partials"
|
|
49
|
+
range: [0.0, 1.0]
|
|
50
|
+
type: float
|
|
51
|
+
sweet_spots:
|
|
52
|
+
pure: 0.0
|
|
53
|
+
subtle_air: 0.2
|
|
54
|
+
breathy: 0.5
|
|
55
|
+
whispered: 0.8
|
|
56
|
+
|
|
57
|
+
- name: "Motion Rate"
|
|
58
|
+
description: "Speed of internal spectral motion — how fast partials shift and evolve"
|
|
59
|
+
range: [0.0, 1.0]
|
|
60
|
+
type: float
|
|
61
|
+
sweet_spots:
|
|
62
|
+
static: 0.0
|
|
63
|
+
slow_drift: 0.2
|
|
64
|
+
moderate: 0.5
|
|
65
|
+
fast_shimmer: 0.8
|
|
66
|
+
|
|
67
|
+
- name: "Motion Amount"
|
|
68
|
+
description: "Depth of spectral motion — how much the partials deviate from their base positions"
|
|
69
|
+
range: [0.0, 1.0]
|
|
70
|
+
type: float
|
|
71
|
+
sweet_spots:
|
|
72
|
+
subtle: 0.15
|
|
73
|
+
organic: 0.4
|
|
74
|
+
chaotic: 0.8
|
|
75
|
+
|
|
76
|
+
- name: "Brightness"
|
|
77
|
+
description: "Overall timbral brightness control"
|
|
78
|
+
range: [0.0, 1.0]
|
|
79
|
+
type: float
|
|
80
|
+
sweet_spots:
|
|
81
|
+
dark: 0.2
|
|
82
|
+
natural: 0.5
|
|
83
|
+
sparkling: 0.85
|
|
84
|
+
|
|
85
|
+
- name: "Attack"
|
|
86
|
+
description: "Amplitude envelope attack time"
|
|
87
|
+
range: [0.0, 10000.0]
|
|
88
|
+
unit: "ms"
|
|
89
|
+
type: float
|
|
90
|
+
sweet_spots:
|
|
91
|
+
immediate: 0.0
|
|
92
|
+
pad: 500.0
|
|
93
|
+
slow_swell: 2000.0
|
|
94
|
+
|
|
95
|
+
- name: "Release"
|
|
96
|
+
description: "Amplitude envelope release time"
|
|
97
|
+
range: [0.0, 10000.0]
|
|
98
|
+
unit: "ms"
|
|
99
|
+
type: float
|
|
100
|
+
sweet_spots:
|
|
101
|
+
tight: 100.0
|
|
102
|
+
natural: 500.0
|
|
103
|
+
ambient: 3000.0
|
|
104
|
+
|
|
105
|
+
pairs_well_with:
|
|
106
|
+
- device: "Reverb"
|
|
107
|
+
reason: "Spectral sounds merge beautifully with long reverb — creates immersive washes"
|
|
108
|
+
- device: "Delay"
|
|
109
|
+
reason: "Evolving partials create naturally varied delay repetitions"
|
|
110
|
+
- device: "Chorus-Ensemble"
|
|
111
|
+
reason: "Adds width and subtle detuning that enhances the crystalline quality"
|
|
112
|
+
- device: "EQ Eight"
|
|
113
|
+
reason: "Surgical EQ can isolate or boost specific partial ranges for precision"
|
|
114
|
+
- device: "Utility"
|
|
115
|
+
reason: "Width control essential — spectral sounds often need mono-bass treatment"
|
|
116
|
+
|
|
117
|
+
starter_recipes:
|
|
118
|
+
- name: "Evolving Harmonics"
|
|
119
|
+
description: "Slowly shifting spectral landscape with organic motion and rich partials"
|
|
120
|
+
genre: ambient
|
|
121
|
+
params:
|
|
122
|
+
"Partials": 24
|
|
123
|
+
"Spectral Shape": 0.5
|
|
124
|
+
"Motion Rate": 0.2
|
|
125
|
+
"Motion Amount": 0.4
|
|
126
|
+
"Breath": 0.1
|
|
127
|
+
"Brightness": 0.6
|
|
128
|
+
"Attack": 800.0
|
|
129
|
+
"Release": 3000.0
|
|
130
|
+
|
|
131
|
+
- name: "Crystalline Pad"
|
|
132
|
+
description: "Pure, bell-like pad with shimmering upper partials"
|
|
133
|
+
genre: cinematic
|
|
134
|
+
params:
|
|
135
|
+
"Partials": 16
|
|
136
|
+
"Spectral Shape": 0.7
|
|
137
|
+
"Spectral Filter": 0.7
|
|
138
|
+
"Motion Rate": 0.15
|
|
139
|
+
"Motion Amount": 0.2
|
|
140
|
+
"Breath": 0.0
|
|
141
|
+
"Brightness": 0.8
|
|
142
|
+
"Attack": 500.0
|
|
143
|
+
"Release": 2000.0
|
|
144
|
+
|
|
145
|
+
- name: "Breathy Texture"
|
|
146
|
+
description: "Airy, vocal-like texture blending partials with breath noise"
|
|
147
|
+
genre: experimental
|
|
148
|
+
params:
|
|
149
|
+
"Partials": 12
|
|
150
|
+
"Spectral Shape": 0.4
|
|
151
|
+
"Breath": 0.5
|
|
152
|
+
"Motion Rate": 0.3
|
|
153
|
+
"Motion Amount": 0.35
|
|
154
|
+
"Brightness": 0.5
|
|
155
|
+
"Attack": 300.0
|
|
156
|
+
"Release": 1500.0
|
|
157
|
+
|
|
158
|
+
gotchas:
|
|
159
|
+
- "New in Live 12 — exact parameter names may differ from generic descriptions here. Always use get_device_parameters to discover the actual parameter list"
|
|
160
|
+
- "High partial counts are CPU-intensive — reduce for dense arrangements"
|
|
161
|
+
- "Spectral synthesis is fundamentally different from subtractive — traditional filter-based sound design intuitions don't always apply"
|
|
162
|
+
- "Motion Amount at high values can make the sound pitch-unstable — use carefully on melodic parts"
|
|
163
|
+
- "Breath parameter adds noise-band energy that occupies a different frequency space than the partials — useful for realism but can muddy a mix"
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
id: meld
|
|
2
|
+
name: Meld
|
|
3
|
+
sonic_description: >
|
|
4
|
+
MPE-ready dual-engine synthesizer combining an additive-inspired engine with an
|
|
5
|
+
FM-inspired engine, blended through a central mixer. Designed for expressive
|
|
6
|
+
performance with per-note pitch bend, slide, and pressure response. Produces
|
|
7
|
+
rich, evolving timbres that respond intimately to playing dynamics.
|
|
8
|
+
synthesis_type: additive
|
|
9
|
+
character_tags: [expressive, responsive, complex, evolving, MPE]
|
|
10
|
+
use_cases: [pads, leads, textures, expressive_performance, sound_design]
|
|
11
|
+
genre_affinity:
|
|
12
|
+
primary: [ambient, experimental, cinematic]
|
|
13
|
+
secondary: [electronic, downtempo, neo-soul, art_pop]
|
|
14
|
+
complexity: advanced
|
|
15
|
+
self_contained: true
|
|
16
|
+
introduced_in: "11.0"
|
|
17
|
+
|
|
18
|
+
key_parameters:
|
|
19
|
+
- name: "Engine 1 Shape"
|
|
20
|
+
description: "Timbral shape of the additive-inspired engine"
|
|
21
|
+
range: [0.0, 1.0]
|
|
22
|
+
type: float
|
|
23
|
+
sweet_spots:
|
|
24
|
+
simple: 0.0
|
|
25
|
+
complex: 0.7
|
|
26
|
+
|
|
27
|
+
- name: "Engine 2 Shape"
|
|
28
|
+
description: "Timbral shape of the FM-inspired engine"
|
|
29
|
+
range: [0.0, 1.0]
|
|
30
|
+
type: float
|
|
31
|
+
sweet_spots:
|
|
32
|
+
mellow: 0.2
|
|
33
|
+
bright: 0.8
|
|
34
|
+
|
|
35
|
+
- name: "Engine Mix"
|
|
36
|
+
description: "Crossfade balance between Engine 1 and Engine 2"
|
|
37
|
+
range: [0.0, 1.0]
|
|
38
|
+
type: float
|
|
39
|
+
sweet_spots:
|
|
40
|
+
engine_1_only: 0.0
|
|
41
|
+
balanced: 0.5
|
|
42
|
+
engine_2_only: 1.0
|
|
43
|
+
|
|
44
|
+
- name: "Filter Freq"
|
|
45
|
+
description: "Global filter cutoff frequency"
|
|
46
|
+
range: [20.0, 20000.0]
|
|
47
|
+
unit: "Hz"
|
|
48
|
+
type: float
|
|
49
|
+
sweet_spots:
|
|
50
|
+
warm: 2000.0
|
|
51
|
+
open: 12000.0
|
|
52
|
+
|
|
53
|
+
- name: "Filter Res"
|
|
54
|
+
description: "Global filter resonance"
|
|
55
|
+
range: [0.0, 1.0]
|
|
56
|
+
type: float
|
|
57
|
+
sweet_spots:
|
|
58
|
+
clean: 0.0
|
|
59
|
+
colored: 0.3
|
|
60
|
+
|
|
61
|
+
- name: "MPE Slide"
|
|
62
|
+
description: "How much MPE slide (Y-axis) affects timbre — maps to tonal brightness"
|
|
63
|
+
range: [0.0, 1.0]
|
|
64
|
+
type: float
|
|
65
|
+
sweet_spots:
|
|
66
|
+
subtle: 0.3
|
|
67
|
+
responsive: 0.7
|
|
68
|
+
|
|
69
|
+
- name: "MPE Press"
|
|
70
|
+
description: "How much MPE pressure (Z-axis/aftertouch) affects the sound"
|
|
71
|
+
range: [0.0, 1.0]
|
|
72
|
+
type: float
|
|
73
|
+
sweet_spots:
|
|
74
|
+
gentle: 0.3
|
|
75
|
+
expressive: 0.7
|
|
76
|
+
|
|
77
|
+
- name: "Cross Mod"
|
|
78
|
+
description: "Cross-modulation amount between the two engines"
|
|
79
|
+
range: [0.0, 1.0]
|
|
80
|
+
type: float
|
|
81
|
+
sweet_spots:
|
|
82
|
+
none: 0.0
|
|
83
|
+
subtle_interaction: 0.2
|
|
84
|
+
aggressive: 0.6
|
|
85
|
+
|
|
86
|
+
- name: "Attack"
|
|
87
|
+
description: "Amplitude envelope attack"
|
|
88
|
+
range: [0.0, 10000.0]
|
|
89
|
+
unit: "ms"
|
|
90
|
+
type: float
|
|
91
|
+
sweet_spots:
|
|
92
|
+
percussive: 0.0
|
|
93
|
+
pad: 600.0
|
|
94
|
+
|
|
95
|
+
- name: "Release"
|
|
96
|
+
description: "Amplitude envelope release"
|
|
97
|
+
range: [0.0, 10000.0]
|
|
98
|
+
unit: "ms"
|
|
99
|
+
type: float
|
|
100
|
+
sweet_spots:
|
|
101
|
+
tight: 100.0
|
|
102
|
+
ambient: 2000.0
|
|
103
|
+
|
|
104
|
+
pairs_well_with:
|
|
105
|
+
- device: "Reverb"
|
|
106
|
+
reason: "MPE expression + reverb creates deeply immersive evolving soundscapes"
|
|
107
|
+
- device: "Delay"
|
|
108
|
+
reason: "Expression-driven timbral changes create unique variation in delay repeats"
|
|
109
|
+
- device: "Chorus-Ensemble"
|
|
110
|
+
reason: "Adds width and movement to the already complex dual-engine sound"
|
|
111
|
+
- device: "Auto Filter"
|
|
112
|
+
reason: "Additional filter movement layered with MPE expression"
|
|
113
|
+
- device: "Utility"
|
|
114
|
+
reason: "Width control helps place the often-wide Meld sound in a mix"
|
|
115
|
+
|
|
116
|
+
starter_recipes:
|
|
117
|
+
- name: "MPE Pad"
|
|
118
|
+
description: "Expressive pad that responds to slide and pressure for live performance"
|
|
119
|
+
genre: ambient
|
|
120
|
+
params:
|
|
121
|
+
"Engine 1 Shape": 0.3
|
|
122
|
+
"Engine 2 Shape": 0.5
|
|
123
|
+
"Engine Mix": 0.4
|
|
124
|
+
"MPE Slide": 0.6
|
|
125
|
+
"MPE Press": 0.5
|
|
126
|
+
"Filter Freq": 3000.0
|
|
127
|
+
"Filter Res": 0.15
|
|
128
|
+
"Attack": 500.0
|
|
129
|
+
"Release": 2000.0
|
|
130
|
+
|
|
131
|
+
- name: "Responsive Lead"
|
|
132
|
+
description: "Expressive monophonic lead where dynamics shape timbre in real time"
|
|
133
|
+
genre: experimental
|
|
134
|
+
params:
|
|
135
|
+
"Engine 1 Shape": 0.6
|
|
136
|
+
"Engine 2 Shape": 0.7
|
|
137
|
+
"Engine Mix": 0.3
|
|
138
|
+
"Cross Mod": 0.25
|
|
139
|
+
"MPE Press": 0.7
|
|
140
|
+
"Filter Freq": 5000.0
|
|
141
|
+
"Filter Res": 0.25
|
|
142
|
+
"Attack": 5.0
|
|
143
|
+
"Release": 300.0
|
|
144
|
+
|
|
145
|
+
- name: "Evolving Texture"
|
|
146
|
+
description: "Slowly morphing textural sound using cross-modulation between engines"
|
|
147
|
+
genre: cinematic
|
|
148
|
+
params:
|
|
149
|
+
"Engine 1 Shape": 0.2
|
|
150
|
+
"Engine 2 Shape": 0.8
|
|
151
|
+
"Engine Mix": 0.5
|
|
152
|
+
"Cross Mod": 0.4
|
|
153
|
+
"MPE Slide": 0.5
|
|
154
|
+
"Filter Freq": 4000.0
|
|
155
|
+
"Filter Res": 0.2
|
|
156
|
+
"Attack": 1000.0
|
|
157
|
+
"Release": 3000.0
|
|
158
|
+
|
|
159
|
+
gotchas:
|
|
160
|
+
- "MPE features require an MPE-capable controller (Roli Seaboard, Linnstrument, Sensel Morph) — without one, Meld works as a standard synth but loses its main advantage"
|
|
161
|
+
- "Cross-modulation between engines can create very complex, sometimes harsh timbres — start low and increase"
|
|
162
|
+
- "The dual-engine architecture means more parameters than simpler synths — use get_device_parameters to discover the full set"
|
|
163
|
+
- "Engine Mix is the most impactful single parameter for timbral change — automate for evolving textures"
|
|
164
|
+
- "MPE Slide and Press ranges should match your controller's sensitivity — too high can be hard to control"
|
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
id: operator
|
|
2
|
+
name: Operator
|
|
3
|
+
sonic_description: >
|
|
4
|
+
Four-operator FM synthesizer with 11 routing algorithms that range from pure additive
|
|
5
|
+
(all parallel) to deep FM chains (all serial). Capable of crystalline bells, metallic
|
|
6
|
+
percussion, punchy electric pianos, and aggressive digital basses that no subtractive
|
|
7
|
+
synth can produce.
|
|
8
|
+
synthesis_type: fm
|
|
9
|
+
character_tags: [metallic, crystalline, precise, digital, complex]
|
|
10
|
+
use_cases: [bass, bells, keys, percussion, textures]
|
|
11
|
+
genre_affinity:
|
|
12
|
+
primary: [techno, experimental, jazz]
|
|
13
|
+
secondary: [ambient, dnb, house, pop]
|
|
14
|
+
complexity: advanced
|
|
15
|
+
self_contained: true
|
|
16
|
+
introduced_in: "1.0"
|
|
17
|
+
|
|
18
|
+
key_parameters:
|
|
19
|
+
- name: "Algorithm"
|
|
20
|
+
description: "Routing topology between 4 operators — defines FM vs additive balance (1=all serial/max FM, 11=all parallel/additive)"
|
|
21
|
+
range: [1, 11]
|
|
22
|
+
type: int
|
|
23
|
+
sweet_spots:
|
|
24
|
+
maximum_fm: 1
|
|
25
|
+
classic_epiano: 6
|
|
26
|
+
bell: 4
|
|
27
|
+
additive: 11
|
|
28
|
+
hybrid: 7
|
|
29
|
+
|
|
30
|
+
- name: "Osc-A Coarse"
|
|
31
|
+
description: "Operator A frequency ratio — harmonic ratios (1, 2, 3...) sound tonal, non-integer ratios sound metallic"
|
|
32
|
+
range: [0.5, 48.0]
|
|
33
|
+
type: float
|
|
34
|
+
sweet_spots:
|
|
35
|
+
fundamental: 1.0
|
|
36
|
+
octave: 2.0
|
|
37
|
+
fifth: 3.0
|
|
38
|
+
metallic: 7.0
|
|
39
|
+
|
|
40
|
+
- name: "Osc-A Level"
|
|
41
|
+
description: "Operator A output level — as modulator, controls FM depth; as carrier, controls volume"
|
|
42
|
+
range: [0.0, 1.0]
|
|
43
|
+
type: float
|
|
44
|
+
sweet_spots:
|
|
45
|
+
subtle_fm: 0.3
|
|
46
|
+
moderate_fm: 0.6
|
|
47
|
+
aggressive_fm: 0.9
|
|
48
|
+
|
|
49
|
+
- name: "Osc-A Waveform"
|
|
50
|
+
description: "Operator A waveform shape"
|
|
51
|
+
range: ["Sine", "Saw", "Square", "Triangle", "Noise"]
|
|
52
|
+
type: enum
|
|
53
|
+
sweet_spots:
|
|
54
|
+
pure_fm: "Sine"
|
|
55
|
+
harsh: "Saw"
|
|
56
|
+
|
|
57
|
+
- name: "Osc-B Coarse"
|
|
58
|
+
description: "Operator B frequency ratio"
|
|
59
|
+
range: [0.5, 48.0]
|
|
60
|
+
type: float
|
|
61
|
+
sweet_spots:
|
|
62
|
+
fundamental: 1.0
|
|
63
|
+
bright_fm: 4.0
|
|
64
|
+
|
|
65
|
+
- name: "Osc-B Level"
|
|
66
|
+
description: "Operator B output/modulation level"
|
|
67
|
+
range: [0.0, 1.0]
|
|
68
|
+
type: float
|
|
69
|
+
sweet_spots:
|
|
70
|
+
subtle: 0.2
|
|
71
|
+
moderate: 0.5
|
|
72
|
+
|
|
73
|
+
- name: "Osc-C Coarse"
|
|
74
|
+
description: "Operator C frequency ratio"
|
|
75
|
+
range: [0.5, 48.0]
|
|
76
|
+
type: float
|
|
77
|
+
sweet_spots:
|
|
78
|
+
harmonic: 3.0
|
|
79
|
+
inharmonic: 5.5
|
|
80
|
+
|
|
81
|
+
- name: "Osc-C Level"
|
|
82
|
+
description: "Operator C output/modulation level"
|
|
83
|
+
range: [0.0, 1.0]
|
|
84
|
+
type: float
|
|
85
|
+
sweet_spots:
|
|
86
|
+
subtle: 0.3
|
|
87
|
+
|
|
88
|
+
- name: "Osc-D Coarse"
|
|
89
|
+
description: "Operator D frequency ratio"
|
|
90
|
+
range: [0.5, 48.0]
|
|
91
|
+
type: float
|
|
92
|
+
sweet_spots:
|
|
93
|
+
fundamental: 1.0
|
|
94
|
+
|
|
95
|
+
- name: "Osc-D Level"
|
|
96
|
+
description: "Operator D output/modulation level"
|
|
97
|
+
range: [0.0, 1.0]
|
|
98
|
+
type: float
|
|
99
|
+
sweet_spots:
|
|
100
|
+
carrier: 0.8
|
|
101
|
+
|
|
102
|
+
- name: "Filter Freq"
|
|
103
|
+
description: "Global filter cutoff frequency"
|
|
104
|
+
range: [20.0, 20000.0]
|
|
105
|
+
unit: "Hz"
|
|
106
|
+
type: float
|
|
107
|
+
sweet_spots:
|
|
108
|
+
dark: 1000.0
|
|
109
|
+
open: 15000.0
|
|
110
|
+
|
|
111
|
+
- name: "Filter Res"
|
|
112
|
+
description: "Global filter resonance"
|
|
113
|
+
range: [0.0, 1.0]
|
|
114
|
+
type: float
|
|
115
|
+
sweet_spots:
|
|
116
|
+
clean: 0.0
|
|
117
|
+
colored: 0.3
|
|
118
|
+
|
|
119
|
+
- name: "LFO Rate"
|
|
120
|
+
description: "LFO speed for vibrato or tremolo"
|
|
121
|
+
range: [0.01, 30.0]
|
|
122
|
+
unit: "Hz"
|
|
123
|
+
type: float
|
|
124
|
+
sweet_spots:
|
|
125
|
+
vibrato: 5.5
|
|
126
|
+
slow_sweep: 0.3
|
|
127
|
+
|
|
128
|
+
- name: "LFO Amount"
|
|
129
|
+
description: "LFO modulation depth"
|
|
130
|
+
range: [0.0, 1.0]
|
|
131
|
+
type: float
|
|
132
|
+
sweet_spots:
|
|
133
|
+
subtle_vibrato: 0.1
|
|
134
|
+
deep_modulation: 0.5
|
|
135
|
+
|
|
136
|
+
pairs_well_with:
|
|
137
|
+
- device: "Reverb"
|
|
138
|
+
reason: "FM bells and keys sound stunning with plate or hall reverb"
|
|
139
|
+
- device: "Chorus-Ensemble"
|
|
140
|
+
reason: "Softens the digital precision and adds warmth to FM timbres"
|
|
141
|
+
- device: "EQ Eight"
|
|
142
|
+
reason: "FM synthesis creates unpredictable harmonics that often need surgical EQ"
|
|
143
|
+
- device: "Compressor"
|
|
144
|
+
reason: "Tames the wide dynamic range of velocity-sensitive FM patches"
|
|
145
|
+
- device: "Saturator"
|
|
146
|
+
reason: "Adds analog warmth to counterbalance FM's inherently digital character"
|
|
147
|
+
|
|
148
|
+
starter_recipes:
|
|
149
|
+
- name: "FM Bass"
|
|
150
|
+
description: "Deep, punchy FM bass with controlled harmonics — Algorithm 1 for maximum modulation"
|
|
151
|
+
genre: techno
|
|
152
|
+
params:
|
|
153
|
+
"Algorithm": 1
|
|
154
|
+
"Osc-A Coarse": 1.0
|
|
155
|
+
"Osc-A Level": 0.6
|
|
156
|
+
"Osc-A Waveform": "Sine"
|
|
157
|
+
"Osc-B Coarse": 1.0
|
|
158
|
+
"Osc-B Level": 0.8
|
|
159
|
+
"Osc-C Coarse": 2.0
|
|
160
|
+
"Osc-C Level": 0.3
|
|
161
|
+
"Osc-D Coarse": 1.0
|
|
162
|
+
"Osc-D Level": 0.7
|
|
163
|
+
|
|
164
|
+
- name: "Metallic Bell"
|
|
165
|
+
description: "Shimmering bell tone with inharmonic partials — Algorithm 4 for parallel modulators"
|
|
166
|
+
genre: ambient
|
|
167
|
+
params:
|
|
168
|
+
"Algorithm": 4
|
|
169
|
+
"Osc-A Coarse": 1.0
|
|
170
|
+
"Osc-A Level": 0.5
|
|
171
|
+
"Osc-B Coarse": 3.5
|
|
172
|
+
"Osc-B Level": 0.4
|
|
173
|
+
"Osc-C Coarse": 7.0
|
|
174
|
+
"Osc-C Level": 0.25
|
|
175
|
+
"Osc-D Coarse": 1.0
|
|
176
|
+
"Osc-D Level": 0.7
|
|
177
|
+
|
|
178
|
+
- name: "Electric Piano"
|
|
179
|
+
description: "Classic DX-style electric piano — Algorithm 6 with paired carrier/modulator operators"
|
|
180
|
+
genre: jazz
|
|
181
|
+
params:
|
|
182
|
+
"Algorithm": 6
|
|
183
|
+
"Osc-A Coarse": 1.0
|
|
184
|
+
"Osc-A Level": 0.4
|
|
185
|
+
"Osc-B Coarse": 1.0
|
|
186
|
+
"Osc-B Level": 0.7
|
|
187
|
+
"Osc-C Coarse": 14.0
|
|
188
|
+
"Osc-C Level": 0.15
|
|
189
|
+
"Osc-D Coarse": 1.0
|
|
190
|
+
"Osc-D Level": 0.7
|
|
191
|
+
|
|
192
|
+
gotchas:
|
|
193
|
+
- "Algorithm choice fundamentally changes the sound — always set this first before adjusting operator levels"
|
|
194
|
+
- "Non-integer Coarse ratios (3.5, 7.1, etc.) create inharmonic/metallic timbres — use for bells and percussion"
|
|
195
|
+
- "Operator Level as a modulator controls FM depth, not volume — small changes cause dramatic timbral shifts"
|
|
196
|
+
- "Each operator has its own ADSR envelope — for percussive FM, use fast decay on modulators"
|
|
197
|
+
- "Velocity sensitivity on modulator levels is key for expressive FM patches — higher velocity = more brightness"
|