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.
Files changed (191) hide show
  1. package/.claude-plugin/marketplace.json +3 -3
  2. package/AGENTS.md +3 -3
  3. package/CHANGELOG.md +119 -0
  4. package/CONTRIBUTING.md +1 -1
  5. package/README.md +144 -13
  6. package/bin/livepilot.js +87 -0
  7. package/installer/codex.js +147 -0
  8. package/livepilot/.Codex-plugin/plugin.json +2 -2
  9. package/livepilot/.claude-plugin/plugin.json +2 -2
  10. package/livepilot/skills/livepilot-core/SKILL.md +21 -4
  11. package/livepilot/skills/livepilot-core/references/device-knowledge/00-index.md +34 -0
  12. package/livepilot/skills/livepilot-core/references/device-knowledge/automation-as-music.md +204 -0
  13. package/livepilot/skills/livepilot-core/references/device-knowledge/chains-genre.md +173 -0
  14. package/livepilot/skills/livepilot-core/references/device-knowledge/creative-thinking.md +211 -0
  15. package/livepilot/skills/livepilot-core/references/device-knowledge/effects-distortion.md +188 -0
  16. package/livepilot/skills/livepilot-core/references/device-knowledge/effects-space.md +162 -0
  17. package/livepilot/skills/livepilot-core/references/device-knowledge/effects-spectral.md +229 -0
  18. package/livepilot/skills/livepilot-core/references/device-knowledge/instruments-synths.md +243 -0
  19. package/livepilot/skills/livepilot-core/references/overview.md +13 -9
  20. package/livepilot/skills/livepilot-core/references/sample-manipulation.md +724 -0
  21. package/livepilot/skills/livepilot-core/references/sound-design-deep.md +140 -0
  22. package/livepilot/skills/livepilot-devices/SKILL.md +16 -2
  23. package/livepilot/skills/livepilot-evaluation/references/capability-modes.md +1 -1
  24. package/livepilot/skills/livepilot-release/SKILL.md +19 -5
  25. package/livepilot/skills/livepilot-sample-engine/SKILL.md +104 -0
  26. package/livepilot/skills/livepilot-sample-engine/references/sample-critics.md +87 -0
  27. package/livepilot/skills/livepilot-sample-engine/references/sample-philosophy.md +51 -0
  28. package/livepilot/skills/livepilot-sample-engine/references/sample-techniques.md +131 -0
  29. package/livepilot/skills/livepilot-sound-design-engine/SKILL.md +45 -0
  30. package/livepilot/skills/livepilot-wonder/SKILL.md +15 -0
  31. package/livepilot.mcpb +0 -0
  32. package/m4l_device/livepilot_bridge.js +1 -1
  33. package/manifest.json +2 -2
  34. package/mcp_server/__init__.py +1 -1
  35. package/mcp_server/atlas/__init__.py +357 -0
  36. package/mcp_server/atlas/device_atlas.json +44067 -0
  37. package/mcp_server/atlas/enrichments/__init__.py +111 -0
  38. package/mcp_server/atlas/enrichments/audio_effects/auto_filter.yaml +162 -0
  39. package/mcp_server/atlas/enrichments/audio_effects/beat_repeat.yaml +183 -0
  40. package/mcp_server/atlas/enrichments/audio_effects/channel_eq.yaml +126 -0
  41. package/mcp_server/atlas/enrichments/audio_effects/chorus_ensemble.yaml +149 -0
  42. package/mcp_server/atlas/enrichments/audio_effects/color_limiter.yaml +109 -0
  43. package/mcp_server/atlas/enrichments/audio_effects/compressor.yaml +159 -0
  44. package/mcp_server/atlas/enrichments/audio_effects/convolution_reverb.yaml +143 -0
  45. package/mcp_server/atlas/enrichments/audio_effects/convolution_reverb_pro.yaml +178 -0
  46. package/mcp_server/atlas/enrichments/audio_effects/delay.yaml +151 -0
  47. package/mcp_server/atlas/enrichments/audio_effects/drum_buss.yaml +142 -0
  48. package/mcp_server/atlas/enrichments/audio_effects/dynamic_tube.yaml +147 -0
  49. package/mcp_server/atlas/enrichments/audio_effects/echo.yaml +167 -0
  50. package/mcp_server/atlas/enrichments/audio_effects/eq_eight.yaml +148 -0
  51. package/mcp_server/atlas/enrichments/audio_effects/eq_three.yaml +121 -0
  52. package/mcp_server/atlas/enrichments/audio_effects/erosion.yaml +103 -0
  53. package/mcp_server/atlas/enrichments/audio_effects/filter_delay.yaml +173 -0
  54. package/mcp_server/atlas/enrichments/audio_effects/gate.yaml +130 -0
  55. package/mcp_server/atlas/enrichments/audio_effects/gated_delay.yaml +133 -0
  56. package/mcp_server/atlas/enrichments/audio_effects/glue_compressor.yaml +142 -0
  57. package/mcp_server/atlas/enrichments/audio_effects/grain_delay.yaml +141 -0
  58. package/mcp_server/atlas/enrichments/audio_effects/hybrid_reverb.yaml +160 -0
  59. package/mcp_server/atlas/enrichments/audio_effects/limiter.yaml +97 -0
  60. package/mcp_server/atlas/enrichments/audio_effects/multiband_dynamics.yaml +174 -0
  61. package/mcp_server/atlas/enrichments/audio_effects/overdrive.yaml +119 -0
  62. package/mcp_server/atlas/enrichments/audio_effects/pedal.yaml +145 -0
  63. package/mcp_server/atlas/enrichments/audio_effects/phaser_flanger.yaml +161 -0
  64. package/mcp_server/atlas/enrichments/audio_effects/redux.yaml +114 -0
  65. package/mcp_server/atlas/enrichments/audio_effects/reverb.yaml +190 -0
  66. package/mcp_server/atlas/enrichments/audio_effects/roar.yaml +159 -0
  67. package/mcp_server/atlas/enrichments/audio_effects/saturator.yaml +146 -0
  68. package/mcp_server/atlas/enrichments/audio_effects/shifter.yaml +154 -0
  69. package/mcp_server/atlas/enrichments/audio_effects/spectral_resonator.yaml +141 -0
  70. package/mcp_server/atlas/enrichments/audio_effects/spectral_time.yaml +164 -0
  71. package/mcp_server/atlas/enrichments/audio_effects/vector_delay.yaml +140 -0
  72. package/mcp_server/atlas/enrichments/audio_effects/vinyl_distortion.yaml +141 -0
  73. package/mcp_server/atlas/enrichments/instruments/analog.yaml +222 -0
  74. package/mcp_server/atlas/enrichments/instruments/bass.yaml +202 -0
  75. package/mcp_server/atlas/enrichments/instruments/collision.yaml +150 -0
  76. package/mcp_server/atlas/enrichments/instruments/drift.yaml +167 -0
  77. package/mcp_server/atlas/enrichments/instruments/electric.yaml +137 -0
  78. package/mcp_server/atlas/enrichments/instruments/emit.yaml +163 -0
  79. package/mcp_server/atlas/enrichments/instruments/meld.yaml +164 -0
  80. package/mcp_server/atlas/enrichments/instruments/operator.yaml +197 -0
  81. package/mcp_server/atlas/enrichments/instruments/poli.yaml +192 -0
  82. package/mcp_server/atlas/enrichments/instruments/sampler.yaml +218 -0
  83. package/mcp_server/atlas/enrichments/instruments/simpler.yaml +217 -0
  84. package/mcp_server/atlas/enrichments/instruments/tension.yaml +156 -0
  85. package/mcp_server/atlas/enrichments/instruments/tree_tone.yaml +162 -0
  86. package/mcp_server/atlas/enrichments/instruments/vector_fm.yaml +165 -0
  87. package/mcp_server/atlas/enrichments/instruments/vector_grain.yaml +166 -0
  88. package/mcp_server/atlas/enrichments/instruments/wavetable.yaml +162 -0
  89. package/mcp_server/atlas/enrichments/midi_effects/arpeggiator.yaml +156 -0
  90. package/mcp_server/atlas/enrichments/midi_effects/bouncy_notes.yaml +93 -0
  91. package/mcp_server/atlas/enrichments/midi_effects/chord.yaml +147 -0
  92. package/mcp_server/atlas/enrichments/midi_effects/melodic_steps.yaml +97 -0
  93. package/mcp_server/atlas/enrichments/midi_effects/note_echo.yaml +108 -0
  94. package/mcp_server/atlas/enrichments/midi_effects/note_length.yaml +97 -0
  95. package/mcp_server/atlas/enrichments/midi_effects/pitch.yaml +76 -0
  96. package/mcp_server/atlas/enrichments/midi_effects/random.yaml +117 -0
  97. package/mcp_server/atlas/enrichments/midi_effects/rhythmic_steps.yaml +103 -0
  98. package/mcp_server/atlas/enrichments/midi_effects/scale.yaml +83 -0
  99. package/mcp_server/atlas/enrichments/midi_effects/step_arp.yaml +112 -0
  100. package/mcp_server/atlas/enrichments/midi_effects/velocity.yaml +119 -0
  101. package/mcp_server/atlas/enrichments/utility/amp.yaml +159 -0
  102. package/mcp_server/atlas/enrichments/utility/cabinet.yaml +109 -0
  103. package/mcp_server/atlas/enrichments/utility/corpus.yaml +150 -0
  104. package/mcp_server/atlas/enrichments/utility/resonators.yaml +131 -0
  105. package/mcp_server/atlas/enrichments/utility/spectrum.yaml +63 -0
  106. package/mcp_server/atlas/enrichments/utility/tuner.yaml +51 -0
  107. package/mcp_server/atlas/enrichments/utility/utility.yaml +136 -0
  108. package/mcp_server/atlas/enrichments/utility/vocoder.yaml +160 -0
  109. package/mcp_server/atlas/scanner.py +236 -0
  110. package/mcp_server/atlas/tools.py +224 -0
  111. package/mcp_server/composer/__init__.py +1 -0
  112. package/mcp_server/composer/engine.py +452 -0
  113. package/mcp_server/composer/layer_planner.py +427 -0
  114. package/mcp_server/composer/prompt_parser.py +329 -0
  115. package/mcp_server/composer/tools.py +201 -0
  116. package/mcp_server/connection.py +53 -8
  117. package/mcp_server/corpus/__init__.py +377 -0
  118. package/mcp_server/device_forge/__init__.py +1 -0
  119. package/mcp_server/device_forge/builder.py +377 -0
  120. package/mcp_server/device_forge/models.py +142 -0
  121. package/mcp_server/device_forge/templates.py +483 -0
  122. package/mcp_server/device_forge/tools.py +162 -0
  123. package/mcp_server/hook_hunter/analyzer.py +23 -0
  124. package/mcp_server/hook_hunter/models.py +1 -0
  125. package/mcp_server/hook_hunter/tools.py +4 -2
  126. package/mcp_server/m4l_bridge.py +1 -0
  127. package/mcp_server/memory/taste_graph.py +68 -1
  128. package/mcp_server/memory/tools.py +15 -4
  129. package/mcp_server/musical_intelligence/detectors.py +14 -1
  130. package/mcp_server/musical_intelligence/tools.py +11 -8
  131. package/mcp_server/persistence/__init__.py +1 -0
  132. package/mcp_server/persistence/base_store.py +82 -0
  133. package/mcp_server/persistence/project_store.py +106 -0
  134. package/mcp_server/persistence/taste_store.py +122 -0
  135. package/mcp_server/preview_studio/models.py +1 -0
  136. package/mcp_server/preview_studio/tools.py +56 -13
  137. package/mcp_server/runtime/capability.py +66 -0
  138. package/mcp_server/runtime/capability_probe.py +137 -0
  139. package/mcp_server/runtime/execution_router.py +143 -0
  140. package/mcp_server/runtime/live_version.py +102 -0
  141. package/mcp_server/runtime/remote_commands.py +87 -0
  142. package/mcp_server/runtime/tools.py +18 -4
  143. package/mcp_server/sample_engine/__init__.py +1 -0
  144. package/mcp_server/sample_engine/analyzer.py +216 -0
  145. package/mcp_server/sample_engine/critics.py +390 -0
  146. package/mcp_server/sample_engine/models.py +193 -0
  147. package/mcp_server/sample_engine/moves.py +127 -0
  148. package/mcp_server/sample_engine/planner.py +186 -0
  149. package/mcp_server/sample_engine/sources.py +540 -0
  150. package/mcp_server/sample_engine/techniques.py +908 -0
  151. package/mcp_server/sample_engine/tools.py +442 -0
  152. package/mcp_server/semantic_moves/__init__.py +3 -0
  153. package/mcp_server/semantic_moves/device_creation_moves.py +237 -0
  154. package/mcp_server/semantic_moves/mix_moves.py +41 -41
  155. package/mcp_server/semantic_moves/performance_moves.py +13 -13
  156. package/mcp_server/semantic_moves/sample_compilers.py +372 -0
  157. package/mcp_server/semantic_moves/sound_design_moves.py +15 -15
  158. package/mcp_server/semantic_moves/tools.py +18 -17
  159. package/mcp_server/semantic_moves/transition_moves.py +16 -16
  160. package/mcp_server/server.py +51 -0
  161. package/mcp_server/services/__init__.py +1 -0
  162. package/mcp_server/services/motif_service.py +67 -0
  163. package/mcp_server/session_continuity/tracker.py +29 -1
  164. package/mcp_server/song_brain/builder.py +28 -1
  165. package/mcp_server/song_brain/models.py +4 -0
  166. package/mcp_server/song_brain/tools.py +20 -2
  167. package/mcp_server/sound_design/critics.py +89 -1
  168. package/mcp_server/splice_client/__init__.py +1 -0
  169. package/mcp_server/splice_client/client.py +347 -0
  170. package/mcp_server/splice_client/models.py +96 -0
  171. package/mcp_server/splice_client/protos/__init__.py +1 -0
  172. package/mcp_server/splice_client/protos/app_pb2.py +319 -0
  173. package/mcp_server/splice_client/protos/app_pb2.pyi +1153 -0
  174. package/mcp_server/splice_client/protos/app_pb2_grpc.py +1946 -0
  175. package/mcp_server/tools/arrangement.py +69 -0
  176. package/mcp_server/tools/automation.py +15 -2
  177. package/mcp_server/tools/devices.py +117 -6
  178. package/mcp_server/tools/notes.py +37 -4
  179. package/mcp_server/wonder_mode/diagnosis.py +5 -0
  180. package/mcp_server/wonder_mode/engine.py +85 -1
  181. package/mcp_server/wonder_mode/tools.py +6 -1
  182. package/package.json +12 -2
  183. package/remote_script/LivePilot/__init__.py +8 -1
  184. package/remote_script/LivePilot/arrangement.py +114 -0
  185. package/remote_script/LivePilot/browser.py +56 -1
  186. package/remote_script/LivePilot/devices.py +236 -6
  187. package/remote_script/LivePilot/mixing.py +8 -3
  188. package/remote_script/LivePilot/server.py +5 -1
  189. package/remote_script/LivePilot/transport.py +3 -0
  190. package/remote_script/LivePilot/version_detect.py +78 -0
  191. package/scripts/sync_metadata.py +132 -0
@@ -0,0 +1,156 @@
1
+ id: tension
2
+ name: Tension
3
+ sonic_description: >
4
+ Physical modeling instrument that simulates vibrating strings excited by bowing,
5
+ plucking, or hammering. Models the full signal chain from exciter through string
6
+ to resonant body, producing everything from realistic bowed drones to otherworldly
7
+ plucked textures that evolve organically over time.
8
+ synthesis_type: physical_modeling
9
+ character_tags: [stringy, organic, resonant, expressive, physical]
10
+ use_cases: [drones, bass, plucked_sounds, textures, bowed_strings]
11
+ genre_affinity:
12
+ primary: [ambient, classical, experimental]
13
+ secondary: [cinematic, world, downtempo, post_rock]
14
+ complexity: advanced
15
+ self_contained: true
16
+ introduced_in: "8.0"
17
+
18
+ key_parameters:
19
+ - name: "Exciter Type"
20
+ description: "How the string is activated — bow for sustained tones, pluck for percussive, hammer for piano-like"
21
+ range: ["Bow", "Pluck", "Hammer"]
22
+ type: enum
23
+ sweet_spots:
24
+ drone: "Bow"
25
+ bass: "Pluck"
26
+ keys: "Hammer"
27
+
28
+ - name: "Bow Force"
29
+ description: "Pressure of the bow on the string (bow exciter only)"
30
+ range: [0.0, 1.0]
31
+ type: float
32
+ sweet_spots:
33
+ gentle: 0.2
34
+ normal: 0.5
35
+ aggressive: 0.8
36
+
37
+ - name: "String Decay"
38
+ description: "How long the string vibrates after excitation"
39
+ range: [0.0, 1.0]
40
+ type: float
41
+ sweet_spots:
42
+ short_pluck: 0.2
43
+ natural: 0.5
44
+ long_sustain: 0.85
45
+
46
+ - name: "String Damping"
47
+ description: "High-frequency loss over time — simulates string material and age"
48
+ range: [0.0, 1.0]
49
+ type: float
50
+ sweet_spots:
51
+ bright_new: 0.1
52
+ warm: 0.4
53
+ dull_old: 0.7
54
+
55
+ - name: "String Inharmonicity"
56
+ description: "Degree to which overtones deviate from perfect harmonics — adds stiffness character"
57
+ range: [0.0, 1.0]
58
+ type: float
59
+ sweet_spots:
60
+ pure_string: 0.0
61
+ piano_like: 0.3
62
+ metallic: 0.7
63
+
64
+ - name: "Body Type"
65
+ description: "Resonant body that colors the string output"
66
+ range: ["None", "Guitar", "Violin", "Viola", "Cello"]
67
+ type: enum
68
+ sweet_spots:
69
+ raw: "None"
70
+ small: "Guitar"
71
+ expressive: "Violin"
72
+ deep: "Cello"
73
+
74
+ - name: "Body Size"
75
+ description: "Size of the resonant body — larger bodies have more low-frequency resonance"
76
+ range: [0.0, 1.0]
77
+ type: float
78
+ sweet_spots:
79
+ small_bright: 0.2
80
+ medium: 0.5
81
+ large_boomy: 0.8
82
+
83
+ - name: "Vibrato Rate"
84
+ description: "Speed of pitch vibrato"
85
+ range: [0.0, 20.0]
86
+ unit: "Hz"
87
+ type: float
88
+ sweet_spots:
89
+ slow_expressive: 4.5
90
+ fast_nervous: 7.0
91
+
92
+ - name: "Vibrato Amount"
93
+ description: "Depth of pitch vibrato"
94
+ range: [0.0, 1.0]
95
+ type: float
96
+ sweet_spots:
97
+ subtle: 0.1
98
+ expressive: 0.3
99
+
100
+ pairs_well_with:
101
+ - device: "Reverb"
102
+ reason: "Bowed strings and plucks sound natural in reverberant spaces — essential for realism"
103
+ - device: "EQ Eight"
104
+ reason: "Body resonances can create unwanted peaks that need surgical EQ"
105
+ - device: "Compressor"
106
+ reason: "Bowed exciter produces very dynamic output — compression helps in a mix"
107
+ - device: "Chorus-Ensemble"
108
+ reason: "Adds section-like ensemble width to solo string sounds"
109
+ - device: "Saturator"
110
+ reason: "Light saturation adds rosin-like character to bowed sounds"
111
+
112
+ starter_recipes:
113
+ - name: "Bowed Drone"
114
+ description: "Sustained, evolving bowed string drone with warm body resonance"
115
+ genre: ambient
116
+ params:
117
+ "Exciter Type": "Bow"
118
+ "Bow Force": 0.5
119
+ "String Decay": 0.9
120
+ "String Damping": 0.3
121
+ "String Inharmonicity": 0.1
122
+ "Body Type": "Cello"
123
+ "Body Size": 0.7
124
+ "Vibrato Rate": 4.5
125
+ "Vibrato Amount": 0.15
126
+
127
+ - name: "Plucked Bass"
128
+ description: "Deep, organic plucked bass with natural damping"
129
+ genre: downtempo
130
+ params:
131
+ "Exciter Type": "Pluck"
132
+ "String Decay": 0.4
133
+ "String Damping": 0.35
134
+ "String Inharmonicity": 0.05
135
+ "Body Type": "Guitar"
136
+ "Body Size": 0.6
137
+
138
+ - name: "Harp Textures"
139
+ description: "Bright, shimmering plucked harp-like sound with long decay"
140
+ genre: cinematic
141
+ params:
142
+ "Exciter Type": "Pluck"
143
+ "String Decay": 0.75
144
+ "String Damping": 0.15
145
+ "String Inharmonicity": 0.0
146
+ "Body Type": "None"
147
+ "Body Size": 0.5
148
+ "Vibrato Amount": 0.0
149
+
150
+ gotchas:
151
+ - "Exciter Type fundamentally changes the interaction model — Bow gives sustained sound, Pluck and Hammer are percussive"
152
+ - "Bowed sounds require careful Force settings — too high creates harsh, unrealistic screeching"
153
+ - "String Inharmonicity at high values sounds metallic/bell-like, not string-like"
154
+ - "Body Type 'None' gives a raw string sound without coloring — useful when adding external reverb/IR"
155
+ - "CPU-intensive instrument — limit polyphony if using in dense arrangements"
156
+ - "Vibrato on bowed sounds is essential for realism — without it, bowed patches sound static and synthetic"
@@ -0,0 +1,162 @@
1
+ id: tree_tone
2
+ name: Tree Tone
3
+ sonic_description: >
4
+ Multi-layer tonal synthesis instrument that generates evolving timbres through
5
+ branching harmonic structures. Produces organic, tree-like growth of sound where
6
+ multiple tonal layers bloom and interact, creating rich textures that evolve
7
+ naturally over time with an almost living quality.
8
+ synthesis_type: additive
9
+ character_tags: [organic, evolving, layered, textural, lush]
10
+ use_cases: [textures, pads, drones, atmospheric, sound_design]
11
+ genre_affinity:
12
+ primary: [ambient, cinematic, experimental]
13
+ secondary: [electronic, post_rock, new_age, downtempo]
14
+ complexity: intermediate
15
+ self_contained: true
16
+ introduced_in: "12.0"
17
+
18
+ key_parameters:
19
+ - name: "Layer 1 Tone"
20
+ description: "Tonal character of the first synthesis layer"
21
+ range: [0.0, 1.0]
22
+ type: float
23
+ sweet_spots:
24
+ fundamental: 0.0
25
+ mid_tone: 0.5
26
+ bright: 1.0
27
+
28
+ - name: "Layer 2 Tone"
29
+ description: "Tonal character of the second synthesis layer"
30
+ range: [0.0, 1.0]
31
+ type: float
32
+ sweet_spots:
33
+ complementary: 0.3
34
+ contrasting: 0.7
35
+
36
+ - name: "Layer Mix"
37
+ description: "Balance between the tonal layers"
38
+ range: [0.0, 1.0]
39
+ type: float
40
+ sweet_spots:
41
+ layer_1_heavy: 0.2
42
+ balanced: 0.5
43
+ layer_2_heavy: 0.8
44
+
45
+ - name: "Evolution Rate"
46
+ description: "Speed at which timbral changes unfold over time"
47
+ range: [0.0, 1.0]
48
+ type: float
49
+ sweet_spots:
50
+ static: 0.0
51
+ glacial: 0.15
52
+ moderate: 0.4
53
+ fast_morph: 0.75
54
+
55
+ - name: "Evolution Depth"
56
+ description: "How far the timbre evolves from its starting point"
57
+ range: [0.0, 1.0]
58
+ type: float
59
+ sweet_spots:
60
+ subtle: 0.2
61
+ organic: 0.5
62
+ dramatic: 0.8
63
+
64
+ - name: "Brightness"
65
+ description: "Overall high-frequency content and harmonic brightness"
66
+ range: [0.0, 1.0]
67
+ type: float
68
+ sweet_spots:
69
+ dark: 0.15
70
+ warm: 0.4
71
+ bright: 0.75
72
+
73
+ - name: "Spread"
74
+ description: "Stereo spread of the layered tones"
75
+ range: [0.0, 1.0]
76
+ type: float
77
+ sweet_spots:
78
+ mono: 0.0
79
+ natural: 0.5
80
+ wide: 0.85
81
+
82
+ - name: "Attack"
83
+ description: "Amplitude envelope attack time"
84
+ range: [0.0, 10000.0]
85
+ unit: "ms"
86
+ type: float
87
+ sweet_spots:
88
+ immediate: 0.0
89
+ soft: 300.0
90
+ slow_bloom: 1500.0
91
+
92
+ - name: "Release"
93
+ description: "Amplitude envelope release time"
94
+ range: [0.0, 10000.0]
95
+ unit: "ms"
96
+ type: float
97
+ sweet_spots:
98
+ tight: 100.0
99
+ natural: 800.0
100
+ ambient: 4000.0
101
+
102
+ pairs_well_with:
103
+ - device: "Reverb"
104
+ reason: "Evolving tonal layers merge beautifully with long reverb for immersive atmospheres"
105
+ - device: "Delay"
106
+ reason: "Evolving timbres create naturally varied delay repetitions that build complexity"
107
+ - device: "Chorus-Ensemble"
108
+ reason: "Extra stereo depth enhances the layered quality"
109
+ - device: "Auto Filter"
110
+ reason: "Slow filter sweeps add another dimension of movement to the tonal evolution"
111
+ - device: "Utility"
112
+ reason: "Width management is important — layered sounds can be very wide"
113
+
114
+ starter_recipes:
115
+ - name: "Organic Texture"
116
+ description: "Slowly evolving multi-layer texture with natural movement"
117
+ genre: ambient
118
+ params:
119
+ "Layer 1 Tone": 0.3
120
+ "Layer 2 Tone": 0.6
121
+ "Layer Mix": 0.45
122
+ "Evolution Rate": 0.2
123
+ "Evolution Depth": 0.5
124
+ "Brightness": 0.5
125
+ "Spread": 0.6
126
+ "Attack": 800.0
127
+ "Release": 3000.0
128
+
129
+ - name: "Tonal Drone"
130
+ description: "Rich, sustained drone with multiple tonal layers blending together"
131
+ genre: cinematic
132
+ params:
133
+ "Layer 1 Tone": 0.1
134
+ "Layer 2 Tone": 0.4
135
+ "Layer Mix": 0.5
136
+ "Evolution Rate": 0.1
137
+ "Evolution Depth": 0.3
138
+ "Brightness": 0.35
139
+ "Spread": 0.7
140
+ "Attack": 2000.0
141
+ "Release": 5000.0
142
+
143
+ - name: "Evolving Atmosphere"
144
+ description: "Dynamic, shifting atmosphere with fast evolution and wide spread"
145
+ genre: experimental
146
+ params:
147
+ "Layer 1 Tone": 0.5
148
+ "Layer 2 Tone": 0.8
149
+ "Layer Mix": 0.5
150
+ "Evolution Rate": 0.6
151
+ "Evolution Depth": 0.7
152
+ "Brightness": 0.6
153
+ "Spread": 0.85
154
+ "Attack": 500.0
155
+ "Release": 2500.0
156
+
157
+ gotchas:
158
+ - "New in Live 12 — exact parameter names may differ from descriptions here. Always verify with get_device_parameters"
159
+ - "High Evolution Rate + Depth can make the sound unpredictable for melodic use — reduce both for pitched parts"
160
+ - "Wide Spread settings can cause phase issues in mono — check mono compatibility with Utility"
161
+ - "Layer interaction creates emergent timbres — the combined sound may differ significantly from either layer alone"
162
+ - "CPU usage scales with the number of active layers and evolution complexity"
@@ -0,0 +1,165 @@
1
+ id: vector_fm
2
+ name: Vector FM
3
+ sonic_description: >
4
+ FM synthesis engine with an XY vector pad that enables real-time morphing between
5
+ four timbral snapshots. Combines the harmonic complexity of frequency modulation
6
+ with intuitive vector control for expressive, evolving sounds that shift character
7
+ fluidly during performance or automation.
8
+ synthesis_type: fm
9
+ character_tags: [morphing, dynamic, complex, digital, expressive]
10
+ use_cases: [bass, leads, pads, textures, sound_design]
11
+ genre_affinity:
12
+ primary: [edm, experimental, sound_design]
13
+ secondary: [techno, cinematic, dnb, pop]
14
+ complexity: advanced
15
+ self_contained: true
16
+ introduced_in: "12.0"
17
+
18
+ key_parameters:
19
+ - name: "Vector X"
20
+ description: "Horizontal position on the XY vector pad — morphs between left and right timbral snapshots"
21
+ range: [0.0, 1.0]
22
+ type: float
23
+ sweet_spots:
24
+ left: 0.0
25
+ center: 0.5
26
+ right: 1.0
27
+
28
+ - name: "Vector Y"
29
+ description: "Vertical position on the XY vector pad — morphs between top and bottom timbral snapshots"
30
+ range: [0.0, 1.0]
31
+ type: float
32
+ sweet_spots:
33
+ bottom: 0.0
34
+ center: 0.5
35
+ top: 1.0
36
+
37
+ - name: "FM Amount"
38
+ description: "Global FM modulation depth — controls overall harmonic complexity"
39
+ range: [0.0, 1.0]
40
+ type: float
41
+ sweet_spots:
42
+ subtle: 0.15
43
+ moderate: 0.4
44
+ aggressive: 0.75
45
+ extreme: 1.0
46
+
47
+ - name: "FM Ratio"
48
+ description: "Modulator to carrier frequency ratio — harmonic ratios (1:1, 2:1) sound tonal, non-integer ratios sound metallic"
49
+ range: [0.5, 16.0]
50
+ type: float
51
+ sweet_spots:
52
+ fundamental: 1.0
53
+ octave: 2.0
54
+ fifth: 3.0
55
+ metallic: 7.0
56
+
57
+ - name: "Filter Freq"
58
+ description: "Global filter cutoff frequency"
59
+ range: [20.0, 20000.0]
60
+ unit: "Hz"
61
+ type: float
62
+ sweet_spots:
63
+ dark: 800.0
64
+ balanced: 4000.0
65
+ open: 15000.0
66
+
67
+ - name: "Filter Res"
68
+ description: "Filter resonance"
69
+ range: [0.0, 1.0]
70
+ type: float
71
+ sweet_spots:
72
+ clean: 0.0
73
+ character: 0.3
74
+ aggressive: 0.6
75
+
76
+ - name: "Vector Motion Rate"
77
+ description: "Speed of automatic vector pad movement — for evolving timbres without manual control"
78
+ range: [0.0, 1.0]
79
+ type: float
80
+ sweet_spots:
81
+ static: 0.0
82
+ slow_morph: 0.15
83
+ moderate: 0.4
84
+ fast: 0.7
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
+ soft: 100.0
94
+ pad: 600.0
95
+
96
+ - name: "Release"
97
+ description: "Amplitude envelope release"
98
+ range: [0.0, 10000.0]
99
+ unit: "ms"
100
+ type: float
101
+ sweet_spots:
102
+ tight: 50.0
103
+ natural: 300.0
104
+ ambient: 2000.0
105
+
106
+ pairs_well_with:
107
+ - device: "Reverb"
108
+ reason: "FM timbres gain depth and space in reverb — morphing vector creates shifting reflections"
109
+ - device: "Chorus-Ensemble"
110
+ reason: "Softens the digital FM edges and adds width"
111
+ - device: "Saturator"
112
+ reason: "Adds analog warmth to counterbalance FM's digital character"
113
+ - device: "Delay"
114
+ reason: "Vector-driven timbral changes create unique variation in delay repeats"
115
+ - device: "EQ Eight"
116
+ reason: "FM harmonics are often unpredictable — surgical EQ tames resonant peaks"
117
+
118
+ starter_recipes:
119
+ - name: "Morphing Bass"
120
+ description: "Bass that shifts character as you move through the vector space"
121
+ genre: edm
122
+ params:
123
+ "Vector X": 0.3
124
+ "Vector Y": 0.2
125
+ "FM Amount": 0.4
126
+ "FM Ratio": 1.0
127
+ "Filter Freq": 600.0
128
+ "Filter Res": 0.2
129
+ "Attack": 0.0
130
+ "Release": 100.0
131
+
132
+ - name: "Evolving Lead"
133
+ description: "Lead sound that morphs timbre via vector automation"
134
+ genre: experimental
135
+ params:
136
+ "Vector X": 0.5
137
+ "Vector Y": 0.5
138
+ "FM Amount": 0.5
139
+ "FM Ratio": 2.0
140
+ "Vector Motion Rate": 0.2
141
+ "Filter Freq": 5000.0
142
+ "Filter Res": 0.15
143
+ "Attack": 5.0
144
+ "Release": 300.0
145
+
146
+ - name: "Vector Pad"
147
+ description: "Slowly morphing pad that drifts through four timbral zones"
148
+ genre: cinematic
149
+ params:
150
+ "Vector X": 0.5
151
+ "Vector Y": 0.5
152
+ "FM Amount": 0.3
153
+ "FM Ratio": 1.0
154
+ "Vector Motion Rate": 0.1
155
+ "Filter Freq": 3000.0
156
+ "Filter Res": 0.1
157
+ "Attack": 800.0
158
+ "Release": 2500.0
159
+
160
+ gotchas:
161
+ - "New in Live 12 — exact parameter names may differ. Use get_device_parameters for the actual parameter list"
162
+ - "The vector pad is the primary control — automate Vector X and Y for evolving sounds in arrangements"
163
+ - "FM Amount creates dramatic timbral shifts — small changes have big sonic impact, especially at non-integer ratios"
164
+ - "Each corner of the vector pad stores a different FM snapshot — program all four corners before morphing"
165
+ - "High FM Amount at non-integer ratios creates inharmonic, metallic timbres — use intentionally for percussion or sound design"
@@ -0,0 +1,166 @@
1
+ id: vector_grain
2
+ name: Vector Grain
3
+ sonic_description: >
4
+ Granular synthesis engine with an XY vector pad for real-time morphing between
5
+ grain parameters. Deconstructs loaded audio samples into tiny grains that can be
6
+ scattered, pitched, and recombined into clouds of sound ranging from faithful
7
+ sample playback to completely abstract textures.
8
+ synthesis_type: granular
9
+ character_tags: [textural, abstract, evolving, scattered, atmospheric]
10
+ use_cases: [textures, pads, atmospheric, glitch, sound_design]
11
+ genre_affinity:
12
+ primary: [ambient, experimental, cinematic]
13
+ secondary: [idm, glitch, downtempo, sound_design]
14
+ complexity: advanced
15
+ self_contained: false
16
+ introduced_in: "12.0"
17
+
18
+ key_parameters:
19
+ - name: "Vector X"
20
+ description: "Horizontal vector pad position — morphs grain parameters between left and right snapshots"
21
+ range: [0.0, 1.0]
22
+ type: float
23
+ sweet_spots:
24
+ left: 0.0
25
+ center: 0.5
26
+ right: 1.0
27
+
28
+ - name: "Vector Y"
29
+ description: "Vertical vector pad position — morphs grain parameters between top and bottom snapshots"
30
+ range: [0.0, 1.0]
31
+ type: float
32
+ sweet_spots:
33
+ bottom: 0.0
34
+ center: 0.5
35
+ top: 1.0
36
+
37
+ - name: "Grain Size"
38
+ description: "Size of individual grains — small grains create buzzy textures, large grains preserve source character"
39
+ range: [1.0, 500.0]
40
+ unit: "ms"
41
+ type: float
42
+ sweet_spots:
43
+ micro_buzz: 5.0
44
+ small_texture: 20.0
45
+ medium: 60.0
46
+ large_faithful: 200.0
47
+
48
+ - name: "Grain Density"
49
+ description: "Number of overlapping grains — higher density creates smoother, denser clouds"
50
+ range: [1, 64]
51
+ type: int
52
+ sweet_spots:
53
+ sparse: 4
54
+ moderate: 12
55
+ dense_cloud: 32
56
+ maximum: 64
57
+
58
+ - name: "Position"
59
+ description: "Playback position in the loaded sample"
60
+ range: [0.0, 1.0]
61
+ type: float
62
+ sweet_spots:
63
+ start: 0.0
64
+ middle: 0.5
65
+ end: 0.9
66
+
67
+ - name: "Position Spread"
68
+ description: "Random scatter of grain start positions around the main position"
69
+ range: [0.0, 1.0]
70
+ type: float
71
+ sweet_spots:
72
+ focused: 0.0
73
+ moderate_scatter: 0.3
74
+ full_random: 1.0
75
+
76
+ - name: "Pitch"
77
+ description: "Grain pitch transposition"
78
+ range: [-24.0, 24.0]
79
+ unit: "st"
80
+ type: float
81
+ sweet_spots:
82
+ original: 0.0
83
+ octave_down: -12.0
84
+ octave_up: 12.0
85
+
86
+ - name: "Pitch Random"
87
+ description: "Random pitch variation per grain — creates detuned cloud effects"
88
+ range: [0.0, 1.0]
89
+ type: float
90
+ sweet_spots:
91
+ none: 0.0
92
+ subtle_shimmer: 0.1
93
+ wide_scatter: 0.5
94
+
95
+ - name: "Vector Motion Rate"
96
+ description: "Speed of automatic vector pad movement"
97
+ range: [0.0, 1.0]
98
+ type: float
99
+ sweet_spots:
100
+ static: 0.0
101
+ slow_drift: 0.1
102
+ moderate: 0.35
103
+
104
+ - name: "Filter Freq"
105
+ description: "Filter cutoff frequency for shaping the grain cloud"
106
+ range: [20.0, 20000.0]
107
+ unit: "Hz"
108
+ type: float
109
+ sweet_spots:
110
+ dark: 1000.0
111
+ balanced: 5000.0
112
+ open: 15000.0
113
+
114
+ pairs_well_with:
115
+ - device: "Reverb"
116
+ reason: "Grain clouds dissolve beautifully into reverb — creates immersive washes"
117
+ - device: "Delay"
118
+ reason: "Scattered grains with delay create complex rhythmic textures"
119
+ - device: "Auto Filter"
120
+ reason: "Slow filter sweeps add movement to grain clouds"
121
+ - device: "Chorus-Ensemble"
122
+ reason: "Adds width and blurs individual grains into a cohesive texture"
123
+ - device: "Utility"
124
+ reason: "Essential for managing the wide stereo field granular synthesis often creates"
125
+
126
+ starter_recipes:
127
+ - name: "Textural Cloud"
128
+ description: "Dense, floating grain cloud that abstracts the source sample into atmosphere"
129
+ genre: ambient
130
+ params:
131
+ "Grain Size": 40.0
132
+ "Grain Density": 24
133
+ "Position Spread": 0.4
134
+ "Pitch Random": 0.15
135
+ "Vector Motion Rate": 0.1
136
+ "Filter Freq": 4000.0
137
+
138
+ - name: "Granular Pad"
139
+ description: "Smooth, evolving pad created from a sustained sample with large grains"
140
+ genre: cinematic
141
+ params:
142
+ "Grain Size": 150.0
143
+ "Grain Density": 16
144
+ "Position Spread": 0.2
145
+ "Pitch Random": 0.05
146
+ "Vector Motion Rate": 0.15
147
+ "Filter Freq": 6000.0
148
+
149
+ - name: "Glitch Texture"
150
+ description: "Stuttering, scattered grains with extreme position randomization"
151
+ genre: experimental
152
+ params:
153
+ "Grain Size": 10.0
154
+ "Grain Density": 8
155
+ "Position Spread": 0.8
156
+ "Pitch Random": 0.3
157
+ "Vector Motion Rate": 0.4
158
+ "Filter Freq": 8000.0
159
+
160
+ gotchas:
161
+ - "Requires an audio sample loaded — bare Vector Grain produces no sound without a sample"
162
+ - "New in Live 12 — exact parameter names may differ. Use get_device_parameters to discover the actual parameters"
163
+ - "Very small grain sizes (< 10ms) create buzzy, pitch-like artifacts — intentional for sound design, problematic for faithful playback"
164
+ - "High grain density is CPU-intensive — reduce for dense arrangements"
165
+ - "Position Spread at maximum scatters grains across the entire sample — the result may have no audible relationship to the original"
166
+ - "Automate Vector X and Y for evolving textures — each corner of the vector pad stores different grain parameter snapshots"