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,149 @@
1
+ id: chorus_ensemble
2
+ name: Chorus-Ensemble
3
+ sonic_description: >
4
+ Classic chorus and ensemble effect that thickens sound by layering modulated copies
5
+ of the input. Three modes — Classic (standard chorus), Ensemble (multi-voice shimmer),
6
+ and Vibrato (pitch modulation without dry signal). Adds stereo width, depth, and
7
+ warmth to any source.
8
+ effect_type: modulation
9
+ character_tags: [lush, thick, wide, warm, shimmering]
10
+ use_cases: [thickening, stereo_width, vocal_doubling, synth_lush, guitar_chorus]
11
+ genre_affinity:
12
+ primary: [pop, indie, shoegaze, new_wave]
13
+ secondary: [electronic, ambient, jazz, rock]
14
+ complexity: beginner
15
+ signal_type: audio
16
+ introduced_in: "11.0"
17
+
18
+ key_parameters:
19
+ - name: "Mode"
20
+ description: "Chorus algorithm — Classic, Ensemble, or Vibrato"
21
+ range: ["Classic", "Ensemble", "Vibrato"]
22
+ type: enum
23
+ sweet_spots:
24
+ standard: "Classic"
25
+ lush: "Ensemble"
26
+ pitch_mod: "Vibrato"
27
+
28
+ - name: "Rate 1"
29
+ description: "Speed of the primary modulation LFO"
30
+ range: [0.01, 20.0]
31
+ unit: Hz
32
+ type: float
33
+ sweet_spots:
34
+ slow: 0.3
35
+ moderate: 1.0
36
+ fast: 4.0
37
+
38
+ - name: "Rate 2"
39
+ description: "Speed of the secondary modulation LFO — creates complex movement"
40
+ range: [0.01, 20.0]
41
+ unit: Hz
42
+ type: float
43
+ sweet_spots:
44
+ slow: 0.5
45
+ moderate: 1.5
46
+ fast: 5.0
47
+
48
+ - name: "Amount 1"
49
+ description: "Depth of the primary modulation"
50
+ range: [0.0, 100.0]
51
+ unit: "%"
52
+ type: float
53
+ sweet_spots:
54
+ subtle: 15.0
55
+ moderate: 35.0
56
+ deep: 60.0
57
+
58
+ - name: "Amount 2"
59
+ description: "Depth of the secondary modulation"
60
+ range: [0.0, 100.0]
61
+ unit: "%"
62
+ type: float
63
+ sweet_spots:
64
+ subtle: 10.0
65
+ moderate: 25.0
66
+ deep: 50.0
67
+
68
+ - name: "Feedback"
69
+ description: "Feeds output back to input — adds flanging character at high values"
70
+ range: [0.0, 100.0]
71
+ unit: "%"
72
+ type: float
73
+ sweet_spots:
74
+ off: 0.0
75
+ subtle: 15.0
76
+ flanging: 50.0
77
+ metallic: 80.0
78
+
79
+ - name: "Width"
80
+ description: "Stereo spread of the chorus effect"
81
+ range: [0.0, 100.0]
82
+ unit: "%"
83
+ type: float
84
+ sweet_spots:
85
+ narrow: 30.0
86
+ moderate: 60.0
87
+ wide: 100.0
88
+
89
+ - name: "Dry/Wet"
90
+ description: "Mix between dry and chorused signal"
91
+ range: [0.0, 100.0]
92
+ unit: "%"
93
+ type: float
94
+ sweet_spots:
95
+ subtle: 20.0
96
+ moderate: 40.0
97
+ heavy: 60.0
98
+ vibrato: 100.0
99
+
100
+ pairs_well_with:
101
+ - device: "Reverb"
102
+ reason: "Chorus into reverb creates vast, shimmering spaces"
103
+ - device: "Delay"
104
+ reason: "Chorused delays add width and depth"
105
+ - device: "Compressor"
106
+ reason: "Tame dynamic fluctuations from the modulation"
107
+ - device: "EQ Eight"
108
+ reason: "Shape the chorused signal — cut lows to prevent mud from doubled bass"
109
+
110
+ starter_recipes:
111
+ - name: "Subtle Thickening"
112
+ description: "Gentle chorus to add width and body without obvious modulation"
113
+ genre: all
114
+ params:
115
+ Mode: "Classic"
116
+ "Rate 1": 0.5
117
+ "Amount 1": 20.0
118
+ Feedback: 0.0
119
+ Width: 80.0
120
+ "Dry/Wet": 25.0
121
+
122
+ - name: "Lush Ensemble"
123
+ description: "Rich, multi-voice ensemble for pads and strings"
124
+ genre: ambient
125
+ params:
126
+ Mode: "Ensemble"
127
+ "Rate 1": 0.8
128
+ "Rate 2": 1.2
129
+ "Amount 1": 35.0
130
+ "Amount 2": 25.0
131
+ Width: 100.0
132
+ "Dry/Wet": 45.0
133
+
134
+ - name: "Vibrato"
135
+ description: "Classic pitch vibrato without dry signal mixing"
136
+ genre: pop
137
+ params:
138
+ Mode: "Vibrato"
139
+ "Rate 1": 4.5
140
+ "Amount 1": 25.0
141
+ "Dry/Wet": 100.0
142
+
143
+ gotchas:
144
+ - "Ensemble mode uses more CPU than Classic — it processes multiple modulation voices"
145
+ - "Vibrato mode at 100% wet removes the dry signal entirely — this is intentional for pitch vibrato"
146
+ - "High Feedback values push toward flanging territory — can overwhelm the chorus character"
147
+ - "Check in mono — heavy chorus can cause phase cancellation issues when summed to mono"
148
+ - "Two LFO rates create more complex, less predictable movement than one"
149
+ - "Width at 100% sounds great in stereo but can lose energy in mono — use 60-80% for safe mixes"
@@ -0,0 +1,109 @@
1
+ id: color_limiter
2
+ name: Color Limiter
3
+ sonic_description: >
4
+ Limiter with built-in coloration and saturation options that adds character while
5
+ controlling peaks. Unlike the transparent Limiter, Color Limiter intentionally
6
+ introduces harmonic warmth, grit, or color to the limiting process.
7
+ effect_type: dynamics
8
+ character_tags: [warm, colored, characterful, saturated]
9
+ use_cases: [mastering, creative_limiting, bus_processing, loudness]
10
+ genre_affinity:
11
+ primary: [hip_hop, electronic, lo_fi]
12
+ secondary: [pop, rock, indie]
13
+ complexity: intermediate
14
+ signal_type: audio
15
+ introduced_in: "12.0"
16
+ m4l_device: true
17
+
18
+ key_parameters:
19
+ - name: "Gain"
20
+ description: "Input gain driving into the limiter/saturation stage"
21
+ range: [0.0, 24.0]
22
+ unit: dB
23
+ type: float
24
+ sweet_spots:
25
+ subtle: 3.0
26
+ moderate: 6.0
27
+ aggressive: 12.0
28
+
29
+ - name: "Ceiling"
30
+ description: "Maximum output level"
31
+ range: [-inf, 0.0]
32
+ unit: dB
33
+ type: float
34
+ sweet_spots:
35
+ streaming: -1.0
36
+ mastering: -0.3
37
+
38
+ - name: "Color"
39
+ description: "Amount of harmonic coloration added to the limiting"
40
+ range: [0.0, 100.0]
41
+ unit: "%"
42
+ type: float
43
+ sweet_spots:
44
+ subtle_warmth: 20.0
45
+ moderate: 50.0
46
+ aggressive: 80.0
47
+
48
+ - name: "Release"
49
+ description: "Release time after limiting"
50
+ range: [0.01, 1000.0]
51
+ unit: ms
52
+ type: float
53
+ sweet_spots:
54
+ fast: 10.0
55
+ auto: -1
56
+ slow: 100.0
57
+
58
+ - name: "Dry/Wet"
59
+ description: "Mix between clean and colored/limited signal"
60
+ range: [0.0, 100.0]
61
+ unit: "%"
62
+ type: float
63
+ sweet_spots:
64
+ full: 100.0
65
+ parallel: 60.0
66
+
67
+ pairs_well_with:
68
+ - device: "EQ Eight"
69
+ reason: "Shape frequency content before coloring to control harmonic balance"
70
+ - device: "Compressor"
71
+ reason: "Stage dynamics before Color Limiter for smoother limiting"
72
+ - device: "Utility"
73
+ reason: "Precise level control before and after"
74
+ - device: "Saturator"
75
+ reason: "Stack with different saturation character for complex harmonic layering"
76
+
77
+ starter_recipes:
78
+ - name: "Warm Limiting"
79
+ description: "Gentle loudness with analog-style warmth"
80
+ genre: all
81
+ params:
82
+ Gain: 4.0
83
+ Ceiling: -1.0
84
+ Color: 30.0
85
+ Release: -1
86
+
87
+ - name: "Aggressive Color"
88
+ description: "Driven, characterful limiting for lo-fi or hip-hop"
89
+ genre: hip_hop
90
+ params:
91
+ Gain: 8.0
92
+ Ceiling: -1.0
93
+ Color: 70.0
94
+ Release: 10.0
95
+
96
+ - name: "Subtle Gloss"
97
+ description: "Light coloration that adds sheen without obvious distortion"
98
+ genre: pop
99
+ params:
100
+ Gain: 3.0
101
+ Ceiling: -0.5
102
+ Color: 15.0
103
+ Release: -1
104
+
105
+ gotchas:
106
+ - "This is a Max for Live device — requires Suite or M4L license"
107
+ - "High Color values add noticeable harmonic distortion — may not suit acoustic or classical material"
108
+ - "Compare with the stock Limiter to decide whether coloration is actually improving the mix"
109
+ - "Gain staging before this device matters more than with transparent limiters due to saturation interaction"
@@ -0,0 +1,159 @@
1
+ id: compressor
2
+ name: Compressor
3
+ sonic_description: >
4
+ Transparent dynamics processor that reduces the dynamic range of audio by attenuating
5
+ signals above a threshold. Clean and surgical — from invisible gain riding to aggressive
6
+ pumping, it shapes transients and sustain without adding coloration.
7
+ effect_type: dynamics
8
+ character_tags: [transparent, clean, surgical, versatile]
9
+ use_cases: [mixing, mastering, sidechain, bus_glue, vocal_taming, transient_shaping]
10
+ genre_affinity:
11
+ primary: [all]
12
+ secondary: []
13
+ complexity: beginner
14
+ signal_type: audio
15
+ introduced_in: "1.0"
16
+
17
+ key_parameters:
18
+ - name: "Threshold"
19
+ description: "Level above which compression engages"
20
+ range: [-inf, 0.0]
21
+ unit: dB
22
+ type: float
23
+ sweet_spots:
24
+ gentle: -20.0
25
+ moderate: -28.0
26
+ heavy: -35.0
27
+
28
+ - name: "Ratio"
29
+ description: "Compression ratio — how much gain reduction per dB above threshold"
30
+ range: [1.0, inf]
31
+ type: float
32
+ sweet_spots:
33
+ subtle: 2.0
34
+ vocal: 4.0
35
+ limiting: 10.0
36
+ brick_wall: inf
37
+
38
+ - name: "Attack"
39
+ description: "How quickly compression engages after signal exceeds threshold"
40
+ range: [0.01, 1000.0]
41
+ unit: ms
42
+ type: float
43
+ sweet_spots:
44
+ fast_transient_kill: 0.1
45
+ punch_preserve: 10.0
46
+ slow_natural: 30.0
47
+
48
+ - name: "Release"
49
+ description: "How quickly compression releases after signal falls below threshold"
50
+ range: [1.0, 3000.0]
51
+ unit: ms
52
+ type: float
53
+ sweet_spots:
54
+ fast_pumping: 50.0
55
+ musical: 100.0
56
+ slow_smooth: 300.0
57
+ auto: -1
58
+
59
+ - name: "Knee"
60
+ description: "Transition sharpness at threshold — soft knee gives gradual onset"
61
+ range: [0.0, 1.0]
62
+ type: float
63
+ sweet_spots:
64
+ hard: 0.0
65
+ medium: 0.5
66
+ soft: 1.0
67
+
68
+ - name: "Makeup"
69
+ description: "Output gain to compensate for gain reduction"
70
+ range: [-inf, 15.0]
71
+ unit: dB
72
+ type: float
73
+ sweet_spots:
74
+ compensate: 6.0
75
+
76
+ - name: "Dry/Wet"
77
+ description: "Blend between dry and compressed signal for parallel compression"
78
+ range: [0.0, 100.0]
79
+ unit: "%"
80
+ type: float
81
+ sweet_spots:
82
+ full: 100.0
83
+ parallel: 50.0
84
+
85
+ - name: "Model"
86
+ description: "Detection model — Peak responds to transients, RMS to average level"
87
+ range: ["Peak", "RMS", "Expand"]
88
+ type: enum
89
+ sweet_spots:
90
+ transient_control: "Peak"
91
+ bus_glue: "RMS"
92
+
93
+ - name: "Sidechain"
94
+ description: "External sidechain input for ducking and pumping effects"
95
+ type: toggle
96
+ range: [0, 1]
97
+
98
+ pairs_well_with:
99
+ - device: "EQ Eight"
100
+ reason: "Shape tone before compressing to avoid pumping from low-end energy"
101
+ - device: "Saturator"
102
+ reason: "Add harmonic warmth after compression for analog-like processing"
103
+ - device: "Utility"
104
+ reason: "Final volume trim and mono-bass after dynamics processing"
105
+ - device: "Limiter"
106
+ reason: "Catch peaks after compression for safe output levels"
107
+
108
+ starter_recipes:
109
+ - name: "Gentle Bus Glue"
110
+ description: "Subtle cohesion for a mix bus — barely noticeable but adds coherence"
111
+ genre: all
112
+ params:
113
+ Threshold: -20.0
114
+ Ratio: 2.0
115
+ Attack: 10.0
116
+ Release: 100.0
117
+ Knee: 0.5
118
+ Model: "RMS"
119
+
120
+ - name: "Vocal Taming"
121
+ description: "Even out vocal dynamics while preserving natural feel"
122
+ genre: all
123
+ params:
124
+ Threshold: -25.0
125
+ Ratio: 4.0
126
+ Attack: 5.0
127
+ Release: 80.0
128
+ Knee: 0.3
129
+ Model: "RMS"
130
+
131
+ - name: "Sidechain Pump"
132
+ description: "Classic EDM pumping effect — duck bass/pads from kick"
133
+ genre: house
134
+ params:
135
+ Threshold: -30.0
136
+ Ratio: 10.0
137
+ Attack: 0.1
138
+ Release: 150.0
139
+ Knee: 0.0
140
+ Model: "Peak"
141
+ Sidechain: 1
142
+
143
+ - name: "Parallel Smash"
144
+ description: "Heavy compression blended with dry signal for power without squash"
145
+ genre: rock
146
+ params:
147
+ Threshold: -35.0
148
+ Ratio: 10.0
149
+ Attack: 0.5
150
+ Release: 50.0
151
+ "Dry/Wet": 40.0
152
+ Model: "Peak"
153
+
154
+ gotchas:
155
+ - "Attack at 0.01ms kills transients completely — use 5-15ms to preserve punch"
156
+ - "RMS mode is better for bus/group compression; Peak mode for individual transient control"
157
+ - "Makeup gain should roughly equal the gain reduction shown on the meter for level-matched A/B"
158
+ - "Sidechain input must be configured in the routing section — just enabling the toggle is not enough"
159
+ - "Very fast release times cause audible distortion on low-frequency material"
@@ -0,0 +1,143 @@
1
+ id: convolution_reverb
2
+ name: Convolution Reverb
3
+ sonic_description: >
4
+ Impulse response reverb that uses real-world recordings of acoustic spaces to create
5
+ authentic, realistic reverberations. Each IR captures the exact reflections, frequency
6
+ response, and character of a physical space — from recording studios to cathedrals
7
+ to vintage spring and plate reverb units.
8
+ effect_type: reverb
9
+ character_tags: [realistic, authentic, detailed, natural, immersive]
10
+ use_cases: [real_room_emulation, creative_ir, plate_reverb, spring_reverb, space_simulation]
11
+ genre_affinity:
12
+ primary: [all]
13
+ secondary: []
14
+ complexity: intermediate
15
+ signal_type: audio
16
+ introduced_in: "10.0"
17
+ m4l_device: true
18
+
19
+ key_parameters:
20
+ - name: "IR"
21
+ description: "Impulse response file — the recorded space character"
22
+ type: file
23
+ sweet_spots:
24
+ room: "Studio or Room IR"
25
+ plate: "Plate Reverb IR"
26
+ spring: "Spring Reverb IR"
27
+
28
+ - name: "Size"
29
+ description: "Scales the impulse response duration — stretches or shrinks the space"
30
+ range: [10.0, 400.0]
31
+ unit: "%"
32
+ type: float
33
+ sweet_spots:
34
+ small: 50.0
35
+ natural: 100.0
36
+ large: 200.0
37
+
38
+ - name: "Pre Delay"
39
+ description: "Delay before the impulse response begins"
40
+ range: [0.0, 500.0]
41
+ unit: ms
42
+ type: float
43
+ sweet_spots:
44
+ intimate: 0.0
45
+ separated: 20.0
46
+ distant: 50.0
47
+
48
+ - name: "Decay"
49
+ description: "Adjusts the decay envelope of the impulse response"
50
+ range: [0.1, 10.0]
51
+ unit: s
52
+ type: float
53
+ sweet_spots:
54
+ short: 0.5
55
+ medium: 1.5
56
+ long: 4.0
57
+
58
+ - name: "EQ Low"
59
+ description: "Low-frequency gain on the reverb output"
60
+ range: [-15.0, 15.0]
61
+ unit: dB
62
+ type: float
63
+ sweet_spots:
64
+ cut: -6.0
65
+ flat: 0.0
66
+
67
+ - name: "EQ Mid"
68
+ description: "Mid-frequency gain on the reverb output"
69
+ range: [-15.0, 15.0]
70
+ unit: dB
71
+ type: float
72
+ sweet_spots:
73
+ flat: 0.0
74
+ scoop: -3.0
75
+
76
+ - name: "EQ High"
77
+ description: "High-frequency gain on the reverb output"
78
+ range: [-15.0, 15.0]
79
+ unit: dB
80
+ type: float
81
+ sweet_spots:
82
+ dark: -6.0
83
+ flat: 0.0
84
+ bright: 3.0
85
+
86
+ - name: "Dry/Wet"
87
+ description: "Mix between dry and convolved signal"
88
+ range: [0.0, 100.0]
89
+ unit: "%"
90
+ type: float
91
+ sweet_spots:
92
+ subtle: 15.0
93
+ moderate: 30.0
94
+ wet: 50.0
95
+ return_track: 100.0
96
+
97
+ pairs_well_with:
98
+ - device: "EQ Eight"
99
+ reason: "Detailed frequency shaping of the reverb output beyond built-in EQ"
100
+ - device: "Compressor"
101
+ reason: "Control dynamics of the convolved signal"
102
+ - device: "Delay"
103
+ reason: "Add echo dimension to the convolved space"
104
+ - device: "Utility"
105
+ reason: "Width and level control on the reverb output"
106
+
107
+ starter_recipes:
108
+ - name: "Real Room Emulation"
109
+ description: "Authentic room reverb using a studio IR for natural placement"
110
+ genre: all
111
+ params:
112
+ Size: 100.0
113
+ "Pre Delay": 10.0
114
+ Decay: 1.5
115
+ "EQ Low": -3.0
116
+ "Dry/Wet": 25.0
117
+
118
+ - name: "Creative Plate"
119
+ description: "Plate reverb IR for classic vocal and snare treatment"
120
+ genre: pop
121
+ params:
122
+ Size: 100.0
123
+ "Pre Delay": 15.0
124
+ Decay: 2.0
125
+ "EQ High": 2.0
126
+ "Dry/Wet": 20.0
127
+
128
+ - name: "Spring Character"
129
+ description: "Spring reverb IR for guitar or lo-fi vocal character"
130
+ genre: rock
131
+ params:
132
+ Size: 80.0
133
+ "Pre Delay": 0.0
134
+ Decay: 1.0
135
+ "Dry/Wet": 25.0
136
+
137
+ gotchas:
138
+ - "This is a Max for Live device — requires Suite or M4L license"
139
+ - "IR files use memory — long IRs at high sample rates increase RAM usage significantly"
140
+ - "Size stretching above 200% can introduce artifacts — use for creative effects, not realism"
141
+ - "Cannot adjust room character as flexibly as algorithmic reverb — the IR defines the space"
142
+ - "Custom IRs can be loaded from WAV/AIFF files — record your own spaces with a balloon pop or starter pistol"
143
+ - "More CPU-intensive than Reverb — use on return tracks and freeze tracks when needed"