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,112 @@
1
+ id: step_arp
2
+ name: Step Arp
3
+ sonic_description: >
4
+ Step-based arpeggiator combining the chord-cycling behavior of Arpeggiator with
5
+ per-step control over pitch offset, velocity, gate, and probability. Offers more
6
+ granular control than the classic Arpeggiator for complex, evolving arp patterns.
7
+ effect_type: midi_processor
8
+ character_tags: [arpeggiator, sequencer, stepped, complex, programmable]
9
+ use_cases: [complex_arpeggios, per_step_arp, custom_sequences, evolving_patterns, hybrid_sequencing]
10
+ genre_affinity:
11
+ primary: [trance, edm, synthwave]
12
+ secondary: [ambient, techno, pop]
13
+ complexity: advanced
14
+ introduced_in: "12.0"
15
+
16
+ key_parameters:
17
+ - name: "Steps"
18
+ description: "Number of active steps in the arpeggiator pattern"
19
+ range: [1, 16]
20
+ type: int
21
+ sweet_spots:
22
+ minimal: 4
23
+ standard: 8
24
+ extended: 16
25
+
26
+ - name: "Rate"
27
+ description: "Arpeggio speed — tempo-synced"
28
+ range: ["1/1", "1/2", "1/4", "1/8", "1/16", "1/32"]
29
+ type: enum
30
+ sweet_spots:
31
+ moderate: "1/8"
32
+ fast: "1/16"
33
+
34
+ - name: "Pitch Offset (per step)"
35
+ description: "Semitone offset from the current arp note for each step"
36
+ range: [-24, 24]
37
+ unit: "st"
38
+ type: int
39
+
40
+ - name: "Velocity (per step)"
41
+ description: "Velocity override for each step"
42
+ range: [0, 127]
43
+ type: int
44
+
45
+ - name: "Gate (per step)"
46
+ description: "Note length as percentage of step duration for each step"
47
+ range: [0, 200]
48
+ unit: "%"
49
+ type: int
50
+
51
+ - name: "Probability (per step)"
52
+ description: "Trigger probability for each step"
53
+ range: [0, 100]
54
+ unit: "%"
55
+ type: int
56
+
57
+ - name: "Style"
58
+ description: "Base arpeggio direction before per-step modifications"
59
+ range: ["Up", "Down", "UpDown", "Random"]
60
+ type: enum
61
+
62
+ - name: "Octave Range"
63
+ description: "Number of octaves the arpeggio spans"
64
+ range: [1, 4]
65
+ type: int
66
+
67
+ pairs_well_with:
68
+ - device: "Scale"
69
+ reason: "Corrects per-step pitch offsets to stay in key"
70
+ - device: "Wavetable"
71
+ reason: "Complex arpeggiated patterns with evolving wavetable timbres"
72
+ - device: "Chorus-Ensemble"
73
+ reason: "Widens and thickens arpeggiated output"
74
+ - device: "Delay"
75
+ reason: "Echo on complex arp patterns creates intricate rhythmic webs"
76
+ - device: "Reverb"
77
+ reason: "Spatializes complex arp sequences into immersive soundscapes"
78
+
79
+ starter_recipes:
80
+ - name: "Complex Arp"
81
+ description: "8-step arp with varying velocities and gates for dynamic movement"
82
+ genre: trance
83
+ params:
84
+ "Steps": 8
85
+ "Rate": "1/16"
86
+ "Style": "Up"
87
+ "Octave Range": 2
88
+
89
+ - name: "Step Sequence Arp"
90
+ description: "Hybrid sequencer-arpeggiator with per-step pitch offsets"
91
+ genre: synthwave
92
+ params:
93
+ "Steps": 16
94
+ "Rate": "1/16"
95
+ "Style": "Up"
96
+ "Octave Range": 1
97
+
98
+ - name: "Probability Arp"
99
+ description: "Random-direction arp with per-step probability for generative evolution"
100
+ genre: ambient
101
+ params:
102
+ "Steps": 12
103
+ "Rate": "1/8"
104
+ "Style": "Random"
105
+ "Octave Range": 3
106
+
107
+ gotchas:
108
+ - "New in Live 12 — not available in earlier versions"
109
+ - "Per-step Pitch Offset stacks on top of the arpeggio's chord-tone cycling — the final pitch is chord note + offset"
110
+ - "More CPU-intensive than the classic Arpeggiator due to per-step processing"
111
+ - "Steps with Gate at 0% are silent — different from Probability at 0% which is a deterministic rest"
112
+ - "Differs from Melodic Steps: Step Arp cycles through held chord tones, Melodic Steps applies a fixed pitch pattern"
@@ -0,0 +1,119 @@
1
+ id: velocity
2
+ name: Velocity
3
+ sonic_description: >
4
+ Processes and reshapes MIDI note velocity, offering compression, expansion, limiting,
5
+ randomization, and fixed-value output. Controls dynamic expression and can flatten,
6
+ exaggerate, or humanize the velocity range of incoming MIDI data.
7
+ effect_type: midi_processor
8
+ character_tags: [dynamics, expression, compression, humanizing, limiting]
9
+ use_cases: [velocity_compression, dynamic_control, humanization, fixed_velocity, velocity_mapping]
10
+ genre_affinity:
11
+ primary: [edm, pop, hip_hop]
12
+ secondary: [jazz, ambient, techno]
13
+ complexity: beginner
14
+ introduced_in: "1.0"
15
+
16
+ key_parameters:
17
+ - name: "Drive"
18
+ description: "Amplifies the velocity curve — boosts or attenuates velocity values"
19
+ range: [-1.0, 1.0]
20
+ type: float
21
+ sweet_spots:
22
+ attenuate: -0.5
23
+ neutral: 0.0
24
+ boost: 0.5
25
+ aggressive: 0.9
26
+
27
+ - name: "Compand"
28
+ description: "Compresses (negative) or expands (positive) the velocity range"
29
+ range: [-1.0, 1.0]
30
+ type: float
31
+ sweet_spots:
32
+ compress: -0.5
33
+ neutral: 0.0
34
+ expand: 0.5
35
+
36
+ - name: "Out Hi"
37
+ description: "Maximum output velocity — caps the highest velocity value"
38
+ range: [1, 127]
39
+ type: int
40
+ sweet_spots:
41
+ limited: 100
42
+ full: 127
43
+
44
+ - name: "Out Low"
45
+ description: "Minimum output velocity — sets the floor for velocity values"
46
+ range: [1, 127]
47
+ type: int
48
+ sweet_spots:
49
+ quiet: 30
50
+ moderate: 64
51
+ loud: 100
52
+
53
+ - name: "Random"
54
+ description: "Adds random velocity offset to each note — humanizes mechanical input"
55
+ range: [0, 64]
56
+ type: int
57
+ sweet_spots:
58
+ subtle: 5
59
+ moderate: 15
60
+ wild: 40
61
+
62
+ - name: "Operation"
63
+ description: "How velocity is processed — Clip, Gate, or Fixed"
64
+ range: ["Clip", "Gate", "Fixed"]
65
+ type: enum
66
+ sweet_spots:
67
+ normal: "Clip"
68
+ gated: "Gate"
69
+ uniform: "Fixed"
70
+
71
+ pairs_well_with:
72
+ - device: "Arpeggiator"
73
+ reason: "Normalizes velocity across arpeggiated notes for even dynamics"
74
+ - device: "Drum Rack"
75
+ reason: "Controls hit dynamics for consistent drum patterns"
76
+ - device: "Compressor"
77
+ reason: "MIDI velocity compression before audio compression for maximum control"
78
+ - device: "Random"
79
+ reason: "Random pitch combined with random velocity for organic generative output"
80
+
81
+ starter_recipes:
82
+ - name: "Flatten Velocity"
83
+ description: "Force all notes to the same velocity for mechanical, consistent output"
84
+ genre: techno
85
+ params:
86
+ "Out Hi": 64
87
+ "Out Low": 64
88
+ "Operation": "Fixed"
89
+
90
+ - name: "Expand Dynamics"
91
+ description: "Exaggerate velocity differences for more expressive playing"
92
+ genre: jazz
93
+ params:
94
+ "Compand": 0.6
95
+ "Out Hi": 127
96
+ "Out Low": 1
97
+
98
+ - name: "Random Humanize"
99
+ description: "Add subtle random velocity variation to mechanical MIDI for human feel"
100
+ genre: pop
101
+ params:
102
+ "Random": 10
103
+ "Out Hi": 120
104
+ "Out Low": 60
105
+
106
+ - name: "Soft Limiter"
107
+ description: "Cap maximum velocity to prevent harsh hits while preserving dynamics"
108
+ genre: ambient
109
+ params:
110
+ "Out Hi": 90
111
+ "Out Low": 30
112
+ "Compand": -0.3
113
+
114
+ gotchas:
115
+ - "Fixed operation mode ignores input velocity entirely — all notes output at (Out Hi + Out Low) / 2"
116
+ - "Gate mode silences notes below Out Low — notes either pass or are killed, no middle ground"
117
+ - "Random offset is bidirectional — it can push notes above Out Hi or below Out Low before clipping"
118
+ - "Compand at extreme negative values squashes all velocities to a narrow band — check the curve display"
119
+ - "Drive and Compand interact — set one at a time to understand the combined curve shape"
@@ -0,0 +1,159 @@
1
+ id: amp
2
+ name: Amp
3
+ sonic_description: >
4
+ Guitar and bass amplifier modeling with seven distinct amp types ranging from
5
+ pristine clean to crushing heavy distortion. Models the preamp gain stage, tone
6
+ stack (bass/mid/treble), presence, and output level of classic amplifier designs.
7
+ Best paired with Cabinet for complete amp simulation.
8
+ effect_type: distortion
9
+ character_tags: [guitar, amp, distortion, warm, crunchy, heavy]
10
+ use_cases: [guitar_amp, bass_amp, synth_distortion, amp_modeling, overdrive]
11
+ genre_affinity:
12
+ primary: [rock, metal, blues]
13
+ secondary: [indie, funk, jazz, pop]
14
+ complexity: beginner
15
+ introduced_in: "9.0"
16
+
17
+ key_parameters:
18
+ - name: "Amp Type"
19
+ description: "Amplifier model — each models a different classic amp character"
20
+ range: ["Clean", "Boost", "Blues", "Rock", "Lead", "Heavy", "Bass"]
21
+ type: enum
22
+ sweet_spots:
23
+ jazz: "Clean"
24
+ blues: "Blues"
25
+ classic_rock: "Rock"
26
+ metal: "Heavy"
27
+ bass_guitar: "Bass"
28
+
29
+ - name: "Gain"
30
+ description: "Preamp gain — controls distortion amount"
31
+ range: [0.0, 1.0]
32
+ type: float
33
+ sweet_spots:
34
+ clean: 0.2
35
+ crunch: 0.5
36
+ overdrive: 0.7
37
+ saturated: 0.9
38
+
39
+ - name: "Bass"
40
+ description: "Low frequency tone control"
41
+ range: [0.0, 1.0]
42
+ type: float
43
+ sweet_spots:
44
+ thin: 0.2
45
+ balanced: 0.5
46
+ warm: 0.7
47
+ heavy: 0.9
48
+
49
+ - name: "Middle"
50
+ description: "Midrange tone control — scooped vs present"
51
+ range: [0.0, 1.0]
52
+ type: float
53
+ sweet_spots:
54
+ scooped: 0.2
55
+ balanced: 0.5
56
+ honky: 0.7
57
+ nasal: 0.9
58
+
59
+ - name: "Treble"
60
+ description: "High frequency tone control"
61
+ range: [0.0, 1.0]
62
+ type: float
63
+ sweet_spots:
64
+ dark: 0.2
65
+ balanced: 0.5
66
+ bright: 0.7
67
+ ice: 0.9
68
+
69
+ - name: "Presence"
70
+ description: "Upper harmonic emphasis — adds air and bite above the treble range"
71
+ range: [0.0, 1.0]
72
+ type: float
73
+ sweet_spots:
74
+ smooth: 0.2
75
+ normal: 0.5
76
+ cutting: 0.8
77
+
78
+ - name: "Output"
79
+ description: "Master output level after the amp stage"
80
+ range: [0.0, 1.0]
81
+ type: float
82
+ sweet_spots:
83
+ quiet: 0.3
84
+ normal: 0.5
85
+ loud: 0.8
86
+
87
+ - name: "Dry/Wet"
88
+ description: "Mix between dry input and amp-processed signal"
89
+ range: [0, 100]
90
+ unit: "%"
91
+ type: int
92
+
93
+ pairs_well_with:
94
+ - device: "Cabinet"
95
+ reason: "Essential pairing — Amp provides preamp/tone, Cabinet adds speaker simulation"
96
+ - device: "Pedal"
97
+ reason: "Place Pedal before Amp for stompbox-into-amp signal chain"
98
+ - device: "Reverb"
99
+ reason: "Spring or plate reverb after amp for classic guitar tones"
100
+ - device: "Delay"
101
+ reason: "Echo after amp for spacious guitar sounds"
102
+ - device: "EQ Eight"
103
+ reason: "Surgical EQ after amp to tame resonances"
104
+
105
+ starter_recipes:
106
+ - name: "Clean Jazz Amp"
107
+ description: "Pristine clean tone with warm bass and smooth highs"
108
+ genre: jazz
109
+ params:
110
+ "Amp Type": "Clean"
111
+ "Gain": 0.3
112
+ "Bass": 0.6
113
+ "Middle": 0.5
114
+ "Treble": 0.4
115
+ "Presence": 0.3
116
+ "Output": 0.5
117
+
118
+ - name: "Overdriven Rock"
119
+ description: "Classic crunchy rock tone with mid-focused bite"
120
+ genre: rock
121
+ params:
122
+ "Amp Type": "Rock"
123
+ "Gain": 0.7
124
+ "Bass": 0.5
125
+ "Middle": 0.6
126
+ "Treble": 0.6
127
+ "Presence": 0.5
128
+ "Output": 0.5
129
+
130
+ - name: "Bass Amp Warmth"
131
+ description: "Warm, fat bass guitar tone with controlled low end"
132
+ genre: rock
133
+ params:
134
+ "Amp Type": "Bass"
135
+ "Gain": 0.4
136
+ "Bass": 0.7
137
+ "Middle": 0.4
138
+ "Treble": 0.3
139
+ "Presence": 0.2
140
+ "Output": 0.6
141
+
142
+ - name: "Heavy Metal"
143
+ description: "High-gain saturated tone for metal and hard rock"
144
+ genre: metal
145
+ params:
146
+ "Amp Type": "Heavy"
147
+ "Gain": 0.9
148
+ "Bass": 0.6
149
+ "Middle": 0.3
150
+ "Treble": 0.7
151
+ "Presence": 0.7
152
+ "Output": 0.5
153
+
154
+ gotchas:
155
+ - "Amp without Cabinet sounds harsh and buzzy — always pair with Cabinet for realistic speaker simulation"
156
+ - "High Gain settings can dramatically increase output level — watch for clipping downstream"
157
+ - "The Bass amp type has a different tone stack optimized for bass guitar frequencies"
158
+ - "Dry/Wet allows parallel distortion — useful for bass guitar to preserve low-end clarity"
159
+ - "Presence control affects frequencies above the Treble control — subtle but important for cut"
@@ -0,0 +1,109 @@
1
+ id: cabinet
2
+ name: Cabinet
3
+ sonic_description: >
4
+ Speaker cabinet simulation modeling the frequency response and spatial characteristics
5
+ of classic guitar and bass speaker cabinets with selectable microphone type and position.
6
+ Transforms raw amp signal into realistic speaker output. Essential companion to the
7
+ Amp device.
8
+ effect_type: distortion
9
+ character_tags: [speaker, cabinet, guitar, modeling, warm]
10
+ use_cases: [speaker_simulation, guitar_cabinet, bass_cabinet, amp_completion, tone_shaping]
11
+ genre_affinity:
12
+ primary: [rock, metal, blues]
13
+ secondary: [indie, funk, jazz, pop]
14
+ complexity: beginner
15
+ introduced_in: "9.0"
16
+
17
+ key_parameters:
18
+ - name: "Speaker"
19
+ description: "Speaker configuration — size and number of speakers"
20
+ range: ["1x12", "2x12", "4x10", "4x12"]
21
+ type: enum
22
+ sweet_spots:
23
+ combo: "1x12"
24
+ twin: "2x12"
25
+ bass: "4x10"
26
+ full_stack: "4x12"
27
+
28
+ - name: "Microphone"
29
+ description: "Microphone type used to capture the speaker"
30
+ range: ["Dynamic", "Condenser", "Ribbon"]
31
+ type: enum
32
+ sweet_spots:
33
+ rock: "Dynamic"
34
+ detailed: "Condenser"
35
+ warm: "Ribbon"
36
+
37
+ - name: "Mic Position"
38
+ description: "Microphone placement relative to the speaker — near to far"
39
+ range: [0.0, 1.0]
40
+ type: float
41
+ sweet_spots:
42
+ close: 0.1
43
+ medium: 0.4
44
+ room: 0.8
45
+
46
+ - name: "Dry/Wet"
47
+ description: "Mix between dry input and cabinet-processed signal"
48
+ range: [0, 100]
49
+ unit: "%"
50
+ type: int
51
+
52
+ - name: "Output"
53
+ description: "Output level after cabinet processing"
54
+ range: [0.0, 1.0]
55
+ type: float
56
+
57
+ pairs_well_with:
58
+ - device: "Amp"
59
+ reason: "Essential pairing — Amp before Cabinet recreates a complete amplifier rig"
60
+ - device: "Pedal"
61
+ reason: "Pedal before Amp before Cabinet for classic pedalboard-to-amp chain"
62
+ - device: "Reverb"
63
+ reason: "Room or spring reverb after Cabinet for spacious amp tones"
64
+ - device: "EQ Eight"
65
+ reason: "Post-cabinet EQ to fine-tune the speaker response"
66
+
67
+ starter_recipes:
68
+ - name: "Classic Combo"
69
+ description: "Small combo amp feel — 1x12 with close dynamic mic"
70
+ genre: blues
71
+ params:
72
+ "Speaker": "1x12"
73
+ "Microphone": "Dynamic"
74
+ "Mic Position": 0.2
75
+ "Dry/Wet": 100
76
+
77
+ - name: "4x12 Full Stack"
78
+ description: "Big rock/metal cabinet with tight low end and aggressive midrange"
79
+ genre: rock
80
+ params:
81
+ "Speaker": "4x12"
82
+ "Microphone": "Dynamic"
83
+ "Mic Position": 0.15
84
+ "Dry/Wet": 100
85
+
86
+ - name: "Warm Ribbon Capture"
87
+ description: "Smooth, warm tone using ribbon mic at medium distance"
88
+ genre: jazz
89
+ params:
90
+ "Speaker": "2x12"
91
+ "Microphone": "Ribbon"
92
+ "Mic Position": 0.5
93
+ "Dry/Wet": 100
94
+
95
+ - name: "Bass Cabinet"
96
+ description: "4x10 bass cabinet with condenser mic for full frequency response"
97
+ genre: rock
98
+ params:
99
+ "Speaker": "4x10"
100
+ "Microphone": "Condenser"
101
+ "Mic Position": 0.3
102
+ "Dry/Wet": 100
103
+
104
+ gotchas:
105
+ - "Cabinet without Amp sounds very different — Cabinet applies speaker coloring to whatever signal enters"
106
+ - "Mic Position dramatically changes tone — close is bright and focused, far is roomy and darker"
107
+ - "4x12 has more low end than 1x12 — match the cabinet size to your musical context"
108
+ - "Ribbon mic type rolls off highs naturally — good for taming harsh distortion"
109
+ - "Can be used on non-guitar sources (synths, drums) for creative speaker coloring"
@@ -0,0 +1,150 @@
1
+ id: corpus
2
+ name: Corpus
3
+ sonic_description: >
4
+ Physical modeling resonator that simulates the resonant properties of various
5
+ physical objects — beams, strings, membranes, plates, pipes, and tubes. Imposes
6
+ the harmonic character of a physical body onto incoming audio, adding tuned
7
+ metallic, woody, or hollow resonances.
8
+ effect_type: resonator
9
+ character_tags: [physical_modeling, resonant, metallic, woody, tuned]
10
+ use_cases: [body_resonance, metallic_texture, tuned_resonance, physical_modeling, creative_coloring]
11
+ genre_affinity:
12
+ primary: [experimental, ambient, sound_design]
13
+ secondary: [techno, idm, cinematic]
14
+ complexity: advanced
15
+ introduced_in: "8.0"
16
+
17
+ key_parameters:
18
+ - name: "Resonance Type"
19
+ description: "Physical object being modeled — each has distinct harmonic characteristics"
20
+ range: ["Beam", "Marimba", "String", "Membrane", "Plate", "Pipe", "Tube"]
21
+ type: enum
22
+ sweet_spots:
23
+ metallic: "Beam"
24
+ woody: "Marimba"
25
+ tonal: "String"
26
+ deep: "Membrane"
27
+ bright: "Plate"
28
+ hollow: "Pipe"
29
+ breathy: "Tube"
30
+
31
+ - name: "Material"
32
+ description: "Damping characteristics — wood absorbs more than metal"
33
+ range: [0.0, 1.0]
34
+ type: float
35
+ sweet_spots:
36
+ wood: 0.2
37
+ mixed: 0.5
38
+ metal: 0.9
39
+
40
+ - name: "Decay"
41
+ description: "How long the resonance sustains after excitation"
42
+ range: [0.0, 1.0]
43
+ type: float
44
+ sweet_spots:
45
+ tight: 0.1
46
+ natural: 0.4
47
+ long: 0.8
48
+ infinite: 1.0
49
+
50
+ - name: "Tune"
51
+ description: "Pitch of the resonant body — tunes the fundamental resonance"
52
+ range: [-48.0, 48.0]
53
+ unit: "st"
54
+ type: float
55
+ sweet_spots:
56
+ bass: -12.0
57
+ middle: 0.0
58
+ high: 12.0
59
+
60
+ - name: "Fine Tune"
61
+ description: "Fine pitch adjustment in cents"
62
+ range: [-50.0, 50.0]
63
+ unit: "cents"
64
+ type: float
65
+
66
+ - name: "Listening Position (L)"
67
+ description: "Left channel listening position on the resonant body"
68
+ range: [0.0, 1.0]
69
+ type: float
70
+
71
+ - name: "Listening Position (R)"
72
+ description: "Right channel listening position on the resonant body"
73
+ range: [0.0, 1.0]
74
+ type: float
75
+
76
+ - name: "Brightness"
77
+ description: "High-frequency content of the resonance — higher is brighter"
78
+ range: [0.0, 1.0]
79
+ type: float
80
+
81
+ - name: "Inharm"
82
+ description: "Inharmonicity — how much the overtones deviate from pure harmonics"
83
+ range: [0.0, 1.0]
84
+ type: float
85
+ sweet_spots:
86
+ harmonic: 0.0
87
+ natural: 0.3
88
+ metallic: 0.7
89
+ bell_like: 1.0
90
+
91
+ - name: "Dry/Wet"
92
+ description: "Mix between dry signal and resonator output"
93
+ range: [0, 100]
94
+ unit: "%"
95
+ type: int
96
+
97
+ pairs_well_with:
98
+ - device: "Drum Rack"
99
+ reason: "Adds body and tuned resonance to drum hits"
100
+ - device: "Compressor"
101
+ reason: "Controls the dynamics of resonance tails"
102
+ - device: "Reverb"
103
+ reason: "Spatializes the resonance for immersive textures"
104
+ - device: "EQ Eight"
105
+ reason: "Tames specific resonant peaks that can build up"
106
+ - device: "Saturator"
107
+ reason: "Adds warmth and harmonics to the resonant tone"
108
+
109
+ starter_recipes:
110
+ - name: "Metallic Resonance"
111
+ description: "Bright, ringing metallic body resonance on percussion or synths"
112
+ genre: experimental
113
+ params:
114
+ "Resonance Type": "Plate"
115
+ "Material": 0.8
116
+ "Decay": 0.5
117
+ "Brightness": 0.7
118
+ "Inharm": 0.5
119
+ "Dry/Wet": 40
120
+
121
+ - name: "Body Resonator"
122
+ description: "Warm wooden body resonance for acoustic character"
123
+ genre: ambient
124
+ params:
125
+ "Resonance Type": "Marimba"
126
+ "Material": 0.3
127
+ "Decay": 0.3
128
+ "Brightness": 0.4
129
+ "Inharm": 0.1
130
+ "Dry/Wet": 30
131
+
132
+ - name: "Tuned Surface"
133
+ description: "Tuned membrane resonance that pitches the input to a specific note"
134
+ genre: sound_design
135
+ params:
136
+ "Resonance Type": "Membrane"
137
+ "Material": 0.5
138
+ "Decay": 0.6
139
+ "Tune": 0.0
140
+ "Brightness": 0.5
141
+ "Inharm": 0.2
142
+ "Dry/Wet": 60
143
+
144
+ gotchas:
145
+ - "High Decay + high Material (metal) can create very long resonances that build up — watch levels"
146
+ - "Tune parameter dramatically changes the character — a few semitones makes a big difference"
147
+ - "Inharm at high values creates bell-like, non-harmonic overtones that may not track pitch musically"
148
+ - "Listening Position affects stereo image — different L/R positions create natural stereo spread"
149
+ - "Works best with transient-rich input (drums, plucks) — sustained input can cause runaway resonance"
150
+ - "CPU usage increases with long Decay times — monitor CPU on dense sessions"