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,162 @@
1
+ id: wavetable
2
+ name: Wavetable
3
+ sonic_description: >
4
+ Powerful wavetable synthesizer with two oscillators that morph continuously through
5
+ wavetable positions, a sub oscillator, multimode filter, unison engine, and a deep
6
+ modulation matrix. Excels at everything from massive supersaws to evolving cinematic textures.
7
+ synthesis_type: wavetable
8
+ character_tags: [modern, versatile, lush, massive, evolving]
9
+ use_cases: [leads, pads, bass, textures, plucks]
10
+ genre_affinity:
11
+ primary: [edm, pop, future_bass]
12
+ secondary: [synthwave, cinematic, ambient, dnb]
13
+ complexity: intermediate
14
+ self_contained: true
15
+ introduced_in: "10.0"
16
+
17
+ key_parameters:
18
+ - name: "Osc 1 Pos"
19
+ description: "Wavetable position — morphs through the waveform set for timbral change"
20
+ range: [0.0, 1.0]
21
+ type: float
22
+ sweet_spots:
23
+ bright: 0.8
24
+ mellow: 0.2
25
+ mid_morph: 0.5
26
+
27
+ - name: "Osc 1 Effect"
28
+ description: "Processing effect applied to the wavetable oscillator"
29
+ range: ["None", "FM", "Classic", "Modern", "Formant"]
30
+ type: enum
31
+ sweet_spots:
32
+ clean: "None"
33
+ harsh_digital: "FM"
34
+ vintage: "Classic"
35
+ vocal: "Formant"
36
+
37
+ - name: "Osc 2 Pos"
38
+ description: "Wavetable position for oscillator 2"
39
+ range: [0.0, 1.0]
40
+ type: float
41
+ sweet_spots:
42
+ contrast_layer: 0.6
43
+
44
+ - name: "Sub Osc"
45
+ description: "Sub oscillator level — adds low-end foundation"
46
+ range: [0.0, 1.0]
47
+ type: float
48
+ sweet_spots:
49
+ subtle_weight: 0.3
50
+ heavy_sub: 0.7
51
+ off: 0.0
52
+
53
+ - name: "Filter Type"
54
+ description: "Filter topology — LP, HP, BP with various slopes"
55
+ range: ["LP12", "LP24", "HP12", "HP24", "BP"]
56
+ type: enum
57
+ sweet_spots:
58
+ warm: "LP12"
59
+ aggressive: "LP24"
60
+ thin: "HP12"
61
+
62
+ - name: "Filter Freq"
63
+ description: "Filter cutoff frequency"
64
+ range: [20.0, 20000.0]
65
+ unit: "Hz"
66
+ type: float
67
+ sweet_spots:
68
+ dark_pad: 1500.0
69
+ open: 12000.0
70
+ bass: 500.0
71
+
72
+ - name: "Filter Res"
73
+ description: "Filter resonance — peak at cutoff"
74
+ range: [0.0, 1.0]
75
+ type: float
76
+ sweet_spots:
77
+ clean: 0.0
78
+ character: 0.25
79
+ aggressive: 0.6
80
+
81
+ - name: "Unison Voices"
82
+ description: "Number of unison voices per note — stacks detuned copies"
83
+ range: [1, 8]
84
+ type: int
85
+ sweet_spots:
86
+ mono: 1
87
+ subtle_thicken: 2
88
+ supersaw: 7
89
+ maximum: 8
90
+
91
+ - name: "Unison Amount"
92
+ description: "Detune spread between unison voices"
93
+ range: [0.0, 1.0]
94
+ type: float
95
+ sweet_spots:
96
+ tight: 0.15
97
+ wide_supersaw: 0.5
98
+ extreme: 0.8
99
+
100
+ - name: "Mod Matrix"
101
+ description: "Flexible modulation routing — map any source (LFO, envelope, velocity, aftertouch) to any parameter"
102
+ range: ["Matrix routing"]
103
+ type: enum
104
+
105
+ pairs_well_with:
106
+ - device: "Reverb"
107
+ reason: "Pads and textures come alive with long reverb tails and high diffusion"
108
+ - device: "Delay"
109
+ reason: "Dotted eighth delays on leads create rhythmic movement and width"
110
+ - device: "Chorus-Ensemble"
111
+ reason: "Extra stereo width and shimmer on top of unison voices"
112
+ - device: "Saturator"
113
+ reason: "Adds analog warmth to the inherently digital wavetable sound"
114
+ - device: "EQ Eight"
115
+ reason: "Surgical control of the complex harmonic content wavetables generate"
116
+ - device: "Compressor"
117
+ reason: "Tames dynamics from wavetable position modulation"
118
+
119
+ starter_recipes:
120
+ - name: "Supersaw Lead"
121
+ description: "Classic EDM/trance supersaw with massive unison spread"
122
+ genre: edm
123
+ params:
124
+ "Osc 1 Pos": 0.0
125
+ "Unison Voices": 7
126
+ "Unison Amount": 0.45
127
+ "Filter Type": "LP12"
128
+ "Filter Freq": 8000.0
129
+ "Filter Res": 0.1
130
+ "Sub Osc": 0.3
131
+
132
+ - name: "Glassy Pad"
133
+ description: "Shimmering, evolving pad with slow wavetable modulation"
134
+ genre: ambient
135
+ params:
136
+ "Osc 1 Pos": 0.3
137
+ "Osc 1 Effect": "None"
138
+ "Unison Voices": 4
139
+ "Unison Amount": 0.25
140
+ "Filter Type": "LP12"
141
+ "Filter Freq": 3000.0
142
+ "Filter Res": 0.15
143
+
144
+ - name: "Digital Bass"
145
+ description: "Tight, modern bass with wavetable character and sub weight"
146
+ genre: future_bass
147
+ params:
148
+ "Osc 1 Pos": 0.6
149
+ "Osc 1 Effect": "Modern"
150
+ "Sub Osc": 0.6
151
+ "Unison Voices": 2
152
+ "Unison Amount": 0.1
153
+ "Filter Type": "LP24"
154
+ "Filter Freq": 600.0
155
+ "Filter Res": 0.2
156
+
157
+ gotchas:
158
+ - "Wavetable position is the primary timbre control — automate it for evolving textures"
159
+ - "High unison voice counts are CPU-intensive — use 4+ voices sparingly on multiple tracks"
160
+ - "The mod matrix is extremely powerful but has many slots — get_device_parameters to see all available targets"
161
+ - "Sub oscillator adds significant low-end energy — may need high-pass on the sub for mixing clarity"
162
+ - "Effect type dramatically changes character even at the same wavetable position"
@@ -0,0 +1,156 @@
1
+ id: arpeggiator
2
+ name: Arpeggiator
3
+ sonic_description: >
4
+ Transforms held chords into rhythmic arpeggiated note sequences, cycling through
5
+ chord tones in configurable patterns. Essential for creating pulsing synth lines,
6
+ trance leads, and generative melodic movement from static chord input.
7
+ effect_type: midi_processor
8
+ character_tags: [rhythmic, pattern, generative, pulsing, melodic]
9
+ use_cases: [arpeggios, synth_sequences, trance_leads, generative_melody, chord_animation]
10
+ genre_affinity:
11
+ primary: [trance, edm, synthwave]
12
+ secondary: [ambient, pop, techno, house]
13
+ complexity: beginner
14
+ introduced_in: "1.0"
15
+
16
+ key_parameters:
17
+ - name: "Style"
18
+ description: "Arpeggio pattern direction — determines note traversal order"
19
+ range: ["Up", "Down", "UpDown", "DownUp", "Converge", "Diverge", "Con&Diverge", "PinkyUp", "PinkyUpDown", "ThumbUp", "ThumbUpDown", "Random", "Custom"]
20
+ type: enum
21
+ sweet_spots:
22
+ classic_arp: "Up"
23
+ bouncy: "UpDown"
24
+ generative: "Random"
25
+ dramatic: "Converge"
26
+
27
+ - name: "Rate"
28
+ description: "Speed of arpeggiation — synced to tempo"
29
+ range: ["1/1", "1/2", "1/2T", "1/4", "1/4T", "1/8", "1/8T", "1/16", "1/16T", "1/32"]
30
+ type: enum
31
+ sweet_spots:
32
+ driving: "1/16"
33
+ relaxed: "1/8"
34
+ fast_trance: "1/32"
35
+ triplet_groove: "1/8T"
36
+
37
+ - name: "Gate"
38
+ description: "Note length as percentage of step length — controls staccato vs legato"
39
+ range: [1, 200]
40
+ unit: "%"
41
+ type: int
42
+ sweet_spots:
43
+ staccato: 20
44
+ normal: 80
45
+ legato: 130
46
+ overlapping: 200
47
+
48
+ - name: "Steps"
49
+ description: "Number of steps for custom pattern mode"
50
+ range: [1, 8]
51
+ type: int
52
+
53
+ - name: "Offset"
54
+ description: "Shift the start position of the arpeggio pattern"
55
+ range: [0, 7]
56
+ type: int
57
+
58
+ - name: "Groove"
59
+ description: "Amount of swing applied to the arpeggio rhythm"
60
+ range: [0.0, 1.0]
61
+ type: float
62
+ sweet_spots:
63
+ straight: 0.0
64
+ subtle_swing: 0.2
65
+ heavy_groove: 0.6
66
+
67
+ - name: "Transpose"
68
+ description: "Pitch shift per octave repetition in semitones"
69
+ range: [-36, 36]
70
+ unit: "st"
71
+ type: int
72
+ sweet_spots:
73
+ octave_up: 12
74
+ fifth_up: 7
75
+
76
+ - name: "Distance"
77
+ description: "Interval distance for transpose repetitions"
78
+ range: [1, 12]
79
+ type: int
80
+
81
+ - name: "Repeats"
82
+ description: "Number of octave repetitions before pattern restarts"
83
+ range: [1, 16]
84
+ type: int
85
+ sweet_spots:
86
+ single: 1
87
+ two_octave: 2
88
+ wide_range: 4
89
+
90
+ - name: "Retrigger"
91
+ description: "Whether to restart the pattern on new note input"
92
+ range: ["On", "Off"]
93
+ type: enum
94
+
95
+ - name: "Velocity"
96
+ description: "Fixed velocity or follows input velocity"
97
+ range: [0, 127]
98
+ type: int
99
+
100
+ pairs_well_with:
101
+ - device: "Drift"
102
+ reason: "Warm arpeggiated lines with analog character and gentle instability"
103
+ - device: "Wavetable"
104
+ reason: "Evolving timbres animated by rhythmic arpeggiation"
105
+ - device: "Scale"
106
+ reason: "Place after Arpeggiator to force generated notes into key"
107
+ - device: "Reverb"
108
+ reason: "Long tails blend arp notes into shimmering textures"
109
+ - device: "Delay"
110
+ reason: "Rhythmic delays compound with arp patterns for complex polyrhythms"
111
+ - device: "Auto Filter"
112
+ reason: "Envelope-following filter adds timbral movement to arp sequences"
113
+
114
+ starter_recipes:
115
+ - name: "Classic Trance Arp"
116
+ description: "Driving 16th-note upward arpeggio for trance and EDM"
117
+ genre: trance
118
+ params:
119
+ "Style": "Up"
120
+ "Rate": "1/16"
121
+ "Gate": 80
122
+ "Repeats": 3
123
+
124
+ - name: "Random Ambient"
125
+ description: "Slow random arpeggiation for evolving ambient textures"
126
+ genre: ambient
127
+ params:
128
+ "Style": "Random"
129
+ "Rate": "1/4"
130
+ "Gate": 130
131
+ "Repeats": 2
132
+
133
+ - name: "Staccato Pulse"
134
+ description: "Short, punchy 8th-note pulses for rhythmic synth parts"
135
+ genre: synthwave
136
+ params:
137
+ "Style": "Up"
138
+ "Rate": "1/8"
139
+ "Gate": 20
140
+ "Repeats": 1
141
+
142
+ - name: "Converging Drama"
143
+ description: "Notes converge from extremes for cinematic builds"
144
+ genre: cinematic
145
+ params:
146
+ "Style": "Converge"
147
+ "Rate": "1/16"
148
+ "Gate": 60
149
+ "Repeats": 2
150
+
151
+ gotchas:
152
+ - "Arpeggiator must be placed BEFORE the instrument in the device chain — it is a MIDI effect"
153
+ - "Gate values above 100% create overlapping notes which can cause polyphony issues on mono synths"
154
+ - "Retrigger mode resets the pattern on every new note — disable for continuous flowing arps"
155
+ - "Random mode is truly random per cycle, not a fixed random sequence — each repetition differs"
156
+ - "Transpose stacks with Repeats — 3 repeats with +12 transpose covers 3 octaves"
@@ -0,0 +1,93 @@
1
+ id: bouncy_notes
2
+ name: Bouncy Notes
3
+ sonic_description: >
4
+ Physics-based MIDI note repetition inspired by a bouncing ball — notes repeat with
5
+ decreasing intervals and velocity, simulating gravity and friction. Creates organic,
6
+ naturally decaying rhythmic patterns impossible to program manually.
7
+ effect_type: midi_processor
8
+ character_tags: [physics, rhythmic, organic, percussive, decaying]
9
+ use_cases: [bouncing_ball_rhythm, percussive_repeats, organic_decay, creative_echo, physics_patterns]
10
+ genre_affinity:
11
+ primary: [edm, experimental, idm]
12
+ secondary: [pop, hip_hop, glitch]
13
+ complexity: intermediate
14
+ introduced_in: "12.0"
15
+
16
+ key_parameters:
17
+ - name: "Gravity"
18
+ description: "Strength of the gravity simulation — higher values create faster bounces"
19
+ range: [0.0, 1.0]
20
+ type: float
21
+ sweet_spots:
22
+ light: 0.2
23
+ moderate: 0.5
24
+ heavy: 0.8
25
+
26
+ - name: "Friction"
27
+ description: "Energy loss per bounce — higher values make bounces decay faster"
28
+ range: [0.0, 1.0]
29
+ type: float
30
+ sweet_spots:
31
+ sustained: 0.1
32
+ natural: 0.4
33
+ damped: 0.8
34
+
35
+ - name: "Bounce"
36
+ description: "Elasticity of the bounce — affects how high the ball rebounds"
37
+ range: [0.0, 1.0]
38
+ type: float
39
+ sweet_spots:
40
+ dead: 0.2
41
+ rubber: 0.5
42
+ super_ball: 0.9
43
+
44
+ - name: "Velocity Sensitivity"
45
+ description: "How much input velocity affects the initial bounce height"
46
+ range: [0.0, 1.0]
47
+ type: float
48
+ sweet_spots:
49
+ fixed: 0.0
50
+ responsive: 0.5
51
+ dramatic: 1.0
52
+
53
+ pairs_well_with:
54
+ - device: "Drum Rack"
55
+ reason: "Bouncing percussion hits create organic fill patterns"
56
+ - device: "Simpler"
57
+ reason: "Bouncing one-shot samples for creative percussive textures"
58
+ - device: "Reverb"
59
+ reason: "Reverb tail on bouncing notes creates immersive spatial effects"
60
+ - device: "Auto Filter"
61
+ reason: "Filter sweep across bouncing repeats for timbral decay"
62
+
63
+ starter_recipes:
64
+ - name: "Bouncing Ball"
65
+ description: "Classic bouncing ball effect — fast decay, natural physics feel"
66
+ genre: edm
67
+ params:
68
+ "Gravity": 0.7
69
+ "Friction": 0.3
70
+ "Bounce": 0.7
71
+
72
+ - name: "Long Decay Bounce"
73
+ description: "Sustained bouncing with low friction for extended rhythmic patterns"
74
+ genre: ambient
75
+ params:
76
+ "Gravity": 0.4
77
+ "Friction": 0.1
78
+ "Bounce": 0.8
79
+
80
+ - name: "Staccato Bounce"
81
+ description: "Tight, damped bounces for percussive accents"
82
+ genre: techno
83
+ params:
84
+ "Gravity": 0.9
85
+ "Friction": 0.7
86
+ "Bounce": 0.4
87
+
88
+ gotchas:
89
+ - "New in Live 12 — not available in earlier versions"
90
+ - "High Bounce + low Friction creates very long note tails — can cause MIDI overload on dense parts"
91
+ - "The physics simulation is real-time — bounces are not quantized to the grid"
92
+ - "Velocity Sensitivity at 0 means all notes bounce the same regardless of how hard you play"
93
+ - "Works best with percussive, short sounds — sustained pads can become muddy with overlapping bounces"
@@ -0,0 +1,147 @@
1
+ id: chord
2
+ name: Chord
3
+ sonic_description: >
4
+ Adds up to six parallel intervals to every incoming MIDI note, instantly building
5
+ chords from single-note input. Ideal for thickening melodic lines, creating
6
+ power chords, or harmonizing a monophonic source without writing polyphonic parts.
7
+ effect_type: midi_processor
8
+ character_tags: [harmonic, layering, thickening, chordal]
9
+ use_cases: [chord_building, harmonization, octave_doubling, power_chords, parallel_harmony]
10
+ genre_affinity:
11
+ primary: [edm, pop, rock]
12
+ secondary: [synthwave, ambient, hip_hop]
13
+ complexity: beginner
14
+ introduced_in: "1.0"
15
+
16
+ key_parameters:
17
+ - name: "Shift 1"
18
+ description: "Semitone offset for the first added note"
19
+ range: [-36, 36]
20
+ unit: "st"
21
+ type: int
22
+ sweet_spots:
23
+ minor_third: 3
24
+ major_third: 4
25
+ fifth: 7
26
+ octave: 12
27
+
28
+ - name: "Shift 2"
29
+ description: "Semitone offset for the second added note"
30
+ range: [-36, 36]
31
+ unit: "st"
32
+ type: int
33
+ sweet_spots:
34
+ fifth: 7
35
+ octave: 12
36
+ ninth: 14
37
+
38
+ - name: "Shift 3"
39
+ description: "Semitone offset for the third added note"
40
+ range: [-36, 36]
41
+ unit: "st"
42
+ type: int
43
+ sweet_spots:
44
+ seventh: 10
45
+ major_seventh: 11
46
+ two_octaves: 24
47
+
48
+ - name: "Shift 4"
49
+ description: "Semitone offset for the fourth added note"
50
+ range: [-36, 36]
51
+ unit: "st"
52
+ type: int
53
+
54
+ - name: "Shift 5"
55
+ description: "Semitone offset for the fifth added note"
56
+ range: [-36, 36]
57
+ unit: "st"
58
+ type: int
59
+
60
+ - name: "Shift 6"
61
+ description: "Semitone offset for the sixth added note"
62
+ range: [-36, 36]
63
+ unit: "st"
64
+ type: int
65
+
66
+ - name: "Velocity 1"
67
+ description: "Velocity of the first added note (0 disables)"
68
+ range: [0, 127]
69
+ type: int
70
+
71
+ - name: "Velocity 2"
72
+ description: "Velocity of the second added note (0 disables)"
73
+ range: [0, 127]
74
+ type: int
75
+
76
+ - name: "Velocity 3"
77
+ description: "Velocity of the third added note (0 disables)"
78
+ range: [0, 127]
79
+ type: int
80
+
81
+ - name: "Velocity 4"
82
+ description: "Velocity of the fourth added note (0 disables)"
83
+ range: [0, 127]
84
+ type: int
85
+
86
+ - name: "Velocity 5"
87
+ description: "Velocity of the fifth added note (0 disables)"
88
+ range: [0, 127]
89
+ type: int
90
+
91
+ - name: "Velocity 6"
92
+ description: "Velocity of the sixth added note (0 disables)"
93
+ range: [0, 127]
94
+ type: int
95
+
96
+ pairs_well_with:
97
+ - device: "Scale"
98
+ reason: "Place Scale after Chord to force all generated intervals into the correct key"
99
+ - device: "Arpeggiator"
100
+ reason: "Place Arpeggiator before Chord to arpeggiate then harmonize, or after for chord arpeggiation"
101
+ - device: "Drift"
102
+ reason: "Instant polyphonic chords from single notes into a warm synth"
103
+ - device: "Reverb"
104
+ reason: "Blends chord tones together into lush harmonic washes"
105
+
106
+ starter_recipes:
107
+ - name: "Power Chord"
108
+ description: "Root + fifth + octave for rock and EDM power stabs"
109
+ genre: rock
110
+ params:
111
+ "Shift 1": 7
112
+ "Shift 2": 12
113
+
114
+ - name: "Major Triad"
115
+ description: "Root + major third + fifth for instant major chords"
116
+ genre: pop
117
+ params:
118
+ "Shift 1": 4
119
+ "Shift 2": 7
120
+
121
+ - name: "Minor Triad"
122
+ description: "Root + minor third + fifth for instant minor chords"
123
+ genre: pop
124
+ params:
125
+ "Shift 1": 3
126
+ "Shift 2": 7
127
+
128
+ - name: "Octave Stack"
129
+ description: "Doubled one and two octaves up for massive unison sounds"
130
+ genre: edm
131
+ params:
132
+ "Shift 1": 12
133
+ "Shift 2": 24
134
+
135
+ - name: "Major 7th Chord"
136
+ description: "Lush jazz-inflected major seventh voicing"
137
+ genre: jazz
138
+ params:
139
+ "Shift 1": 4
140
+ "Shift 2": 7
141
+ "Shift 3": 11
142
+
143
+ gotchas:
144
+ - "Setting Velocity to 0 disables that shift slot — use this to selectively enable/disable intervals"
145
+ - "All intervals are fixed semitone offsets — the Chord device does NOT adapt to key or scale. Pair with Scale to correct dissonances"
146
+ - "Can quickly exceed polyphony limits on mono synths — ensure instrument supports enough voices"
147
+ - "Shift values stack from the root — Shift 1=4, Shift 2=7 gives a major triad, not an octave+fourth"
@@ -0,0 +1,97 @@
1
+ id: melodic_steps
2
+ name: Melodic Steps
3
+ sonic_description: >
4
+ Step sequencer designed for creating melodic patterns with per-step control over
5
+ pitch, velocity, gate length, and more. Generates repeating melodic phrases from
6
+ a configurable step grid, turning held notes into evolving melodic sequences.
7
+ effect_type: midi_processor
8
+ character_tags: [sequencer, melodic, pattern, generative, stepped]
9
+ use_cases: [melody_sequencing, bassline_patterns, lead_sequences, generative_melody, step_composition]
10
+ genre_affinity:
11
+ primary: [techno, house, synthwave]
12
+ secondary: [ambient, idm, trance]
13
+ complexity: intermediate
14
+ introduced_in: "12.0"
15
+
16
+ key_parameters:
17
+ - name: "Steps"
18
+ description: "Number of active steps in the sequence"
19
+ range: [1, 16]
20
+ type: int
21
+ sweet_spots:
22
+ short: 4
23
+ standard: 8
24
+ extended: 16
25
+
26
+ - name: "Rate"
27
+ description: "Playback speed of the step sequence"
28
+ range: ["1/1", "1/2", "1/4", "1/8", "1/16", "1/32"]
29
+ type: enum
30
+ sweet_spots:
31
+ slow: "1/4"
32
+ standard: "1/8"
33
+ fast: "1/16"
34
+
35
+ - name: "Pitch (per step)"
36
+ description: "Pitch offset in semitones for each step"
37
+ range: [-24, 24]
38
+ unit: "st"
39
+ type: int
40
+
41
+ - name: "Velocity (per step)"
42
+ description: "Velocity value for each step"
43
+ range: [0, 127]
44
+ type: int
45
+
46
+ - name: "Gate (per step)"
47
+ description: "Note length as percentage of step duration"
48
+ range: [1, 200]
49
+ unit: "%"
50
+ type: int
51
+
52
+ - name: "Probability (per step)"
53
+ description: "Probability that each step triggers"
54
+ range: [0, 100]
55
+ unit: "%"
56
+ type: int
57
+
58
+ pairs_well_with:
59
+ - device: "Scale"
60
+ reason: "Corrects step pitches to stay in key"
61
+ - device: "Drift"
62
+ reason: "Warm analog character on stepped melodic sequences"
63
+ - device: "Wavetable"
64
+ reason: "Evolving timbres animated by melodic step patterns"
65
+ - device: "Delay"
66
+ reason: "Echo on stepped sequences creates polyrhythmic complexity"
67
+ - device: "Reverb"
68
+ reason: "Blends stepped notes into flowing melodic textures"
69
+
70
+ starter_recipes:
71
+ - name: "Melodic Sequence"
72
+ description: "8-step ascending melodic pattern for synth leads"
73
+ genre: synthwave
74
+ params:
75
+ "Steps": 8
76
+ "Rate": "1/8"
77
+
78
+ - name: "Accent Pattern"
79
+ description: "4-step sequence with velocity accents on beats 1 and 3"
80
+ genre: techno
81
+ params:
82
+ "Steps": 4
83
+ "Rate": "1/16"
84
+
85
+ - name: "Generative Melody"
86
+ description: "16-step sequence with probability variation for evolving patterns"
87
+ genre: ambient
88
+ params:
89
+ "Steps": 16
90
+ "Rate": "1/8"
91
+
92
+ gotchas:
93
+ - "New in Live 12 — this is a Max for Live MIDI effect included with Suite"
94
+ - "Per-step pitch offsets are relative to the held note — the base pitch changes with your input"
95
+ - "Steps with 0% probability are effectively muted — use for creating rests in the sequence"
96
+ - "Gate values above 100% create tied/overlapping notes between steps"
97
+ - "Unlike Arpeggiator, Melodic Steps does not cycle through chord tones — it applies a fixed pitch pattern"