livepilot 1.26.0 → 1.26.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +24 -0
- package/README.md +1 -1
- package/installer/codex.js +87 -9
- package/livepilot/.Codex-plugin/plugin.json +8 -0
- package/livepilot/.claude-plugin/plugin.json +8 -0
- package/livepilot/.mcp.json +8 -0
- package/livepilot/agents/livepilot-producer/AGENT.md +314 -0
- package/livepilot/commands/arrange.md +47 -0
- package/livepilot/commands/beat.md +81 -0
- package/livepilot/commands/evaluate.md +49 -0
- package/livepilot/commands/memory.md +22 -0
- package/livepilot/commands/mix.md +47 -0
- package/livepilot/commands/perform.md +42 -0
- package/livepilot/commands/session.md +13 -0
- package/livepilot/commands/sounddesign.md +58 -0
- package/livepilot/rubrics/default_preset_check.md +82 -0
- package/livepilot/rubrics/layer_accumulation.md +79 -0
- package/livepilot/rubrics/layer_precision.md +79 -0
- package/livepilot/rubrics/modulation_presence.md +63 -0
- package/livepilot/rubrics/sound_design_depth.md +40 -0
- package/livepilot/skills/livepilot-arrangement/SKILL.md +164 -0
- package/livepilot/skills/livepilot-composition-engine/SKILL.md +151 -0
- package/livepilot/skills/livepilot-composition-engine/references/form-patterns.md +97 -0
- package/livepilot/skills/livepilot-composition-engine/references/transition-archetypes.md +102 -0
- package/livepilot/skills/livepilot-core/SKILL.md +261 -0
- package/livepilot/skills/livepilot-core/references/ableton-workflow-patterns.md +831 -0
- package/livepilot/skills/livepilot-core/references/affordances/_schema.md +160 -0
- package/livepilot/skills/livepilot-core/references/affordances/devices/auto-filter.yaml +133 -0
- package/livepilot/skills/livepilot-core/references/affordances/devices/chorus-ensemble.yaml +91 -0
- package/livepilot/skills/livepilot-core/references/affordances/devices/compressor.yaml +98 -0
- package/livepilot/skills/livepilot-core/references/affordances/devices/convolution-reverb.yaml +113 -0
- package/livepilot/skills/livepilot-core/references/affordances/devices/corpus.yaml +84 -0
- package/livepilot/skills/livepilot-core/references/affordances/devices/drift.yaml +105 -0
- package/livepilot/skills/livepilot-core/references/affordances/devices/echo.yaml +108 -0
- package/livepilot/skills/livepilot-core/references/affordances/devices/eq-eight.yaml +95 -0
- package/livepilot/skills/livepilot-core/references/affordances/devices/glue-compressor.yaml +88 -0
- package/livepilot/skills/livepilot-core/references/affordances/devices/granulator-iii.yaml +104 -0
- package/livepilot/skills/livepilot-core/references/affordances/devices/hybrid-reverb.yaml +83 -0
- package/livepilot/skills/livepilot-core/references/affordances/devices/operator.yaml +98 -0
- package/livepilot/skills/livepilot-core/references/affordances/devices/ping-pong-delay.yaml +104 -0
- package/livepilot/skills/livepilot-core/references/affordances/devices/poli.yaml +98 -0
- package/livepilot/skills/livepilot-core/references/affordances/devices/saturator.yaml +98 -0
- package/livepilot/skills/livepilot-core/references/affordances/devices/shifter.yaml +77 -0
- package/livepilot/skills/livepilot-core/references/affordances/devices/simpler.yaml +113 -0
- package/livepilot/skills/livepilot-core/references/affordances/devices/utility.yaml +95 -0
- package/livepilot/skills/livepilot-core/references/affordances/devices/vinyl-distortion.yaml +92 -0
- package/livepilot/skills/livepilot-core/references/affordances/devices/wavetable.yaml +98 -0
- package/livepilot/skills/livepilot-core/references/artist-vocabularies.md +389 -0
- package/livepilot/skills/livepilot-core/references/automation-atlas.md +272 -0
- package/livepilot/skills/livepilot-core/references/concepts/_schema.md +158 -0
- package/livepilot/skills/livepilot-core/references/concepts/artists/akufen.yaml +116 -0
- package/livepilot/skills/livepilot-core/references/concepts/artists/aphex-twin.yaml +133 -0
- package/livepilot/skills/livepilot-core/references/concepts/artists/arca-sophie.yaml +131 -0
- package/livepilot/skills/livepilot-core/references/concepts/artists/autechre.yaml +130 -0
- package/livepilot/skills/livepilot-core/references/concepts/artists/basic-channel.yaml +140 -0
- package/livepilot/skills/livepilot-core/references/concepts/artists/basinski.yaml +126 -0
- package/livepilot/skills/livepilot-core/references/concepts/artists/boards-of-canada.yaml +124 -0
- package/livepilot/skills/livepilot-core/references/concepts/artists/burial.yaml +127 -0
- package/livepilot/skills/livepilot-core/references/concepts/artists/com-truise-tycho.yaml +121 -0
- package/livepilot/skills/livepilot-core/references/concepts/artists/daft-punk.yaml +117 -0
- package/livepilot/skills/livepilot-core/references/concepts/artists/dj-premier-rza.yaml +119 -0
- package/livepilot/skills/livepilot-core/references/concepts/artists/gas.yaml +134 -0
- package/livepilot/skills/livepilot-core/references/concepts/artists/hawtin.yaml +127 -0
- package/livepilot/skills/livepilot-core/references/concepts/artists/isolee-luomo.yaml +130 -0
- package/livepilot/skills/livepilot-core/references/concepts/artists/j-dilla.yaml +133 -0
- package/livepilot/skills/livepilot-core/references/concepts/artists/jeff-mills.yaml +120 -0
- package/livepilot/skills/livepilot-core/references/concepts/artists/johannsson-richter.yaml +132 -0
- package/livepilot/skills/livepilot-core/references/concepts/artists/madlib.yaml +124 -0
- package/livepilot/skills/livepilot-core/references/concepts/artists/moodymann-theo-parrish.yaml +121 -0
- package/livepilot/skills/livepilot-core/references/concepts/artists/oneohtrix-point-never.yaml +126 -0
- package/livepilot/skills/livepilot-core/references/concepts/artists/photek-source-direct.yaml +120 -0
- package/livepilot/skills/livepilot-core/references/concepts/artists/rashad-spinn-traxman.yaml +122 -0
- package/livepilot/skills/livepilot-core/references/concepts/artists/robert-henke.yaml +113 -0
- package/livepilot/skills/livepilot-core/references/concepts/artists/shackleton.yaml +124 -0
- package/livepilot/skills/livepilot-core/references/concepts/artists/skream-mala.yaml +119 -0
- package/livepilot/skills/livepilot-core/references/concepts/artists/stars-of-the-lid.yaml +119 -0
- package/livepilot/skills/livepilot-core/references/concepts/artists/tim-hecker.yaml +122 -0
- package/livepilot/skills/livepilot-core/references/concepts/artists/villalobos.yaml +135 -0
- package/livepilot/skills/livepilot-core/references/concepts/genres/ambient.yaml +137 -0
- package/livepilot/skills/livepilot-core/references/concepts/genres/boom_bap.yaml +124 -0
- package/livepilot/skills/livepilot-core/references/concepts/genres/deep-minimal.yaml +130 -0
- package/livepilot/skills/livepilot-core/references/concepts/genres/deep_house.yaml +130 -0
- package/livepilot/skills/livepilot-core/references/concepts/genres/detroit_techno.yaml +116 -0
- package/livepilot/skills/livepilot-core/references/concepts/genres/disco.yaml +123 -0
- package/livepilot/skills/livepilot-core/references/concepts/genres/downtempo.yaml +129 -0
- package/livepilot/skills/livepilot-core/references/concepts/genres/drone.yaml +133 -0
- package/livepilot/skills/livepilot-core/references/concepts/genres/drum-and-bass.yaml +119 -0
- package/livepilot/skills/livepilot-core/references/concepts/genres/dub-techno.yaml +132 -0
- package/livepilot/skills/livepilot-core/references/concepts/genres/dub.yaml +129 -0
- package/livepilot/skills/livepilot-core/references/concepts/genres/dubstep.yaml +120 -0
- package/livepilot/skills/livepilot-core/references/concepts/genres/experimental.yaml +136 -0
- package/livepilot/skills/livepilot-core/references/concepts/genres/footwork.yaml +119 -0
- package/livepilot/skills/livepilot-core/references/concepts/genres/hip-hop.yaml +132 -0
- package/livepilot/skills/livepilot-core/references/concepts/genres/house.yaml +126 -0
- package/livepilot/skills/livepilot-core/references/concepts/genres/hyperpop.yaml +128 -0
- package/livepilot/skills/livepilot-core/references/concepts/genres/idm.yaml +134 -0
- package/livepilot/skills/livepilot-core/references/concepts/genres/lo_fi.yaml +129 -0
- package/livepilot/skills/livepilot-core/references/concepts/genres/microhouse.yaml +138 -0
- package/livepilot/skills/livepilot-core/references/concepts/genres/minimal-techno.yaml +116 -0
- package/livepilot/skills/livepilot-core/references/concepts/genres/modern-classical.yaml +123 -0
- package/livepilot/skills/livepilot-core/references/concepts/genres/soul.yaml +125 -0
- package/livepilot/skills/livepilot-core/references/concepts/genres/synthwave.yaml +123 -0
- package/livepilot/skills/livepilot-core/references/concepts/genres/techno.yaml +123 -0
- package/livepilot/skills/livepilot-core/references/concepts/genres/trap.yaml +120 -0
- package/livepilot/skills/livepilot-core/references/concepts/genres/uk-garage.yaml +121 -0
- package/livepilot/skills/livepilot-core/references/device-atlas/00-index.md +110 -0
- package/livepilot/skills/livepilot-core/references/device-atlas/distortion-and-character.md +687 -0
- package/livepilot/skills/livepilot-core/references/device-atlas/drums-and-percussion.md +753 -0
- package/livepilot/skills/livepilot-core/references/device-atlas/dynamics-and-punch.md +525 -0
- package/livepilot/skills/livepilot-core/references/device-atlas/eq-and-filtering.md +402 -0
- package/livepilot/skills/livepilot-core/references/device-atlas/midi-tools.md +963 -0
- package/livepilot/skills/livepilot-core/references/device-atlas/movement-and-modulation.md +874 -0
- package/livepilot/skills/livepilot-core/references/device-atlas/space-and-depth.md +571 -0
- package/livepilot/skills/livepilot-core/references/device-atlas/spectral-and-weird.md +714 -0
- package/livepilot/skills/livepilot-core/references/device-atlas/synths-native.md +953 -0
- package/livepilot/skills/livepilot-core/references/device-knowledge/00-index.md +34 -0
- package/livepilot/skills/livepilot-core/references/device-knowledge/automation-as-music.md +204 -0
- package/livepilot/skills/livepilot-core/references/device-knowledge/chains-genre.md +173 -0
- package/livepilot/skills/livepilot-core/references/device-knowledge/creative-thinking.md +211 -0
- package/livepilot/skills/livepilot-core/references/device-knowledge/effects-distortion.md +188 -0
- package/livepilot/skills/livepilot-core/references/device-knowledge/effects-space.md +162 -0
- package/livepilot/skills/livepilot-core/references/device-knowledge/effects-spectral.md +229 -0
- package/livepilot/skills/livepilot-core/references/device-knowledge/instruments-synths.md +243 -0
- package/livepilot/skills/livepilot-core/references/genre-vocabularies.md +382 -0
- package/livepilot/skills/livepilot-core/references/m4l-devices.md +352 -0
- package/livepilot/skills/livepilot-core/references/memory-guide.md +178 -0
- package/livepilot/skills/livepilot-core/references/midi-recipes.md +402 -0
- package/livepilot/skills/livepilot-core/references/mixing-patterns.md +578 -0
- package/livepilot/skills/livepilot-core/references/overview.md +300 -0
- package/livepilot/skills/livepilot-core/references/pack-knowledge.md +319 -0
- package/livepilot/skills/livepilot-core/references/sample-manipulation.md +724 -0
- package/livepilot/skills/livepilot-core/references/sound-design-deep.md +140 -0
- package/livepilot/skills/livepilot-core/references/sound-design.md +393 -0
- package/livepilot/skills/livepilot-corpus-builder/SKILL.md +379 -0
- package/livepilot/skills/livepilot-creative-director/SKILL.md +455 -0
- package/livepilot/skills/livepilot-creative-director/references/anti-repetition-rules.md +214 -0
- package/livepilot/skills/livepilot-creative-director/references/creative-brief-template.md +222 -0
- package/livepilot/skills/livepilot-creative-director/references/hybrid-compilation.md +185 -0
- package/livepilot/skills/livepilot-creative-director/references/move-family-diversity-rule.md +258 -0
- package/livepilot/skills/livepilot-creative-director/references/phase-6-execution.md +409 -0
- package/livepilot/skills/livepilot-creative-director/references/the-four-move-rule.md +192 -0
- package/livepilot/skills/livepilot-devices/SKILL.md +213 -0
- package/livepilot/skills/livepilot-devices/references/load_browser_item-uri-grammar.md +82 -0
- package/livepilot/skills/livepilot-evaluation/SKILL.md +195 -0
- package/livepilot/skills/livepilot-evaluation/references/capability-modes.md +176 -0
- package/livepilot/skills/livepilot-evaluation/references/evaluation-contracts.md +121 -0
- package/livepilot/skills/livepilot-evaluation/references/memory-promotion.md +110 -0
- package/livepilot/skills/livepilot-mix-engine/SKILL.md +136 -0
- package/livepilot/skills/livepilot-mix-engine/references/mix-critics.md +143 -0
- package/livepilot/skills/livepilot-mix-engine/references/mix-moves.md +105 -0
- package/livepilot/skills/livepilot-mixing/SKILL.md +157 -0
- package/livepilot/skills/livepilot-notes/SKILL.md +130 -0
- package/livepilot/skills/livepilot-performance-engine/SKILL.md +122 -0
- package/livepilot/skills/livepilot-performance-engine/references/performance-safety.md +98 -0
- package/livepilot/skills/livepilot-release/SKILL.md +151 -0
- package/livepilot/skills/livepilot-sample-engine/SKILL.md +117 -0
- package/livepilot/skills/livepilot-sample-engine/references/sample-critics.md +87 -0
- package/livepilot/skills/livepilot-sample-engine/references/sample-philosophy.md +51 -0
- package/livepilot/skills/livepilot-sample-engine/references/sample-techniques.md +131 -0
- package/livepilot/skills/livepilot-sound-design-engine/SKILL.md +225 -0
- package/livepilot/skills/livepilot-sound-design-engine/references/patch-model.md +119 -0
- package/livepilot/skills/livepilot-sound-design-engine/references/sound-design-critics.md +118 -0
- package/livepilot/skills/livepilot-wonder/SKILL.md +143 -0
- package/m4l_device/LivePilot_Analyzer.amxd +0 -0
- package/m4l_device/LivePilot_Elektron.amxd +0 -0
- package/m4l_device/LivePilot_Elektron.maxpat +758 -0
- package/m4l_device/livepilot_bridge.js +1 -1
- package/m4l_device/livepilot_elektron_bridge.js +82 -0
- package/mcp_server/__init__.py +1 -1
- package/mcp_server/composer/develop/apply.py +1 -1
- package/mcp_server/composer/full/apply.py +32 -6
- package/mcp_server/m4l_bridge.py +5 -0
- package/mcp_server/runtime/execution_router.py +6 -0
- package/mcp_server/runtime/mcp_dispatch.py +18 -0
- package/mcp_server/runtime/remote_commands.py +2 -0
- package/mcp_server/server.py +11 -7
- package/package.json +20 -5
- package/remote_script/LivePilot/__init__.py +1 -1
- package/remote_script/LivePilot/server.py +63 -2
- package/requirements.txt +3 -3
- package/server.json +3 -3
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
# Device Affordance Schema
|
|
2
|
+
|
|
3
|
+
Affordance packets describe WHAT a device is for, WHEN to reach for it,
|
|
4
|
+
and WHEN it's a trap — in structured YAML that the director reads
|
|
5
|
+
during Phase 3 plan generation and Phase 6 execution.
|
|
6
|
+
|
|
7
|
+
Files live in:
|
|
8
|
+
|
|
9
|
+
```
|
|
10
|
+
livepilot/skills/livepilot-core/references/affordances/
|
|
11
|
+
├── devices/<slug>.yaml # per-device affordance
|
|
12
|
+
└── _schema.md # this file
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
Affordance packets COMPLEMENT the Device Atlas. The atlas knows what
|
|
16
|
+
devices exist, their URIs, their presets, their `signature_techniques`.
|
|
17
|
+
The affordance packets add the musical-judgment layer: which device
|
|
18
|
+
is the right tool for which feeling, in which context.
|
|
19
|
+
|
|
20
|
+
## Loading
|
|
21
|
+
|
|
22
|
+
The director loads an affordance packet when:
|
|
23
|
+
|
|
24
|
+
1. A candidate plan proposes loading or parameter-tuning that device
|
|
25
|
+
2. A concept packet's `reach_for` list names the device
|
|
26
|
+
3. The user explicitly requests a device ("load an Echo")
|
|
27
|
+
|
|
28
|
+
The packet's fields populate the plan's description ("use Echo for dub
|
|
29
|
+
tail, not bright slap") and filter out misuse ("Echo on dense high-hat
|
|
30
|
+
patterns is risky per the affordance").
|
|
31
|
+
|
|
32
|
+
## Schema
|
|
33
|
+
|
|
34
|
+
```yaml
|
|
35
|
+
# REQUIRED
|
|
36
|
+
id: str # e.g. "echo"
|
|
37
|
+
name: str # human-readable, e.g. "Echo"
|
|
38
|
+
type: effect | instrument | utility | rack
|
|
39
|
+
category: str # e.g. "delay", "filter", "synth", "physical_model"
|
|
40
|
+
aliases: list[str] # alternate names (e.g. "ping pong delay" for Echo in mode)
|
|
41
|
+
atlas_search_query: str # search hint — actual URI must be resolved via
|
|
42
|
+
# search_browser(query=this) at runtime. The atlas
|
|
43
|
+
# is the source of truth; hardcoding a URI here
|
|
44
|
+
# would rot on atlas updates.
|
|
45
|
+
|
|
46
|
+
# What this device is FOR musically
|
|
47
|
+
musical_roles: list[str]
|
|
48
|
+
# e.g. "dub space", "rhythm shadow", "tail harvesting"
|
|
49
|
+
# These map onto the sonic_identity fields of concept packets.
|
|
50
|
+
|
|
51
|
+
# When this device is a strong choice
|
|
52
|
+
strong_for: list[str]
|
|
53
|
+
# e.g. "widening sparse material", "implied groove without extra notes"
|
|
54
|
+
# Each entry should describe a musical situation, not a genre name.
|
|
55
|
+
|
|
56
|
+
# When this device is a trap
|
|
57
|
+
risky_for: list[str]
|
|
58
|
+
# e.g. "dense high-hat patterns", "muddy low-end sources"
|
|
59
|
+
# Specific situations where the device DEGRADES the result.
|
|
60
|
+
|
|
61
|
+
# Parameter ranges with musical consequence
|
|
62
|
+
subtle_ranges: # what "just audible" sounds like
|
|
63
|
+
<param_name>: [low, high] # e.g. feedback: [0.15, 0.30]
|
|
64
|
+
moderate_ranges: # what "obviously there" sounds like
|
|
65
|
+
<param_name>: [low, high]
|
|
66
|
+
aggressive_ranges: # what "signature / dramatic" sounds like
|
|
67
|
+
<param_name>: [low, high]
|
|
68
|
+
|
|
69
|
+
# Device pairings
|
|
70
|
+
pairings: # devices that work well in a chain
|
|
71
|
+
- device: str # pair device name
|
|
72
|
+
order: before | after | parallel
|
|
73
|
+
purpose: str # why the pairing works
|
|
74
|
+
|
|
75
|
+
# Anti-pairings
|
|
76
|
+
anti_pairings: list[str] # device combinations that conflict or cancel
|
|
77
|
+
|
|
78
|
+
# Post-load verification
|
|
79
|
+
remeasure: list[str]
|
|
80
|
+
# Which diagnostics to run after this device is loaded or adjusted.
|
|
81
|
+
# e.g. "spectral_balance", "low_headroom", "groove_motion", "plugin_health"
|
|
82
|
+
|
|
83
|
+
# How this device interacts with the 4 dimensions
|
|
84
|
+
dimensional_impact:
|
|
85
|
+
structural: str # "low" | "moderate" | "high" | "none"
|
|
86
|
+
rhythmic: str
|
|
87
|
+
timbral: str
|
|
88
|
+
spatial: str
|
|
89
|
+
|
|
90
|
+
# Which concept-packet aesthetics name this device in their reach_for
|
|
91
|
+
appears_in_packets:
|
|
92
|
+
artists: list[str]
|
|
93
|
+
genres: list[str]
|
|
94
|
+
|
|
95
|
+
# Free-form prose for the director to read when composing plan descriptions
|
|
96
|
+
notes: str
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
## Field rules
|
|
100
|
+
|
|
101
|
+
- `atlas_search_query` is a SEARCH HINT, not a URI. The actual URI is
|
|
102
|
+
resolved at runtime via `search_browser(query=atlas_search_query)`.
|
|
103
|
+
If the search returns multiple matches, the director picks the
|
|
104
|
+
first match whose name or URI substring equals `id` (case-insensitive).
|
|
105
|
+
- `parameter_name` values in `subtle_ranges` / `moderate_ranges` /
|
|
106
|
+
`aggressive_ranges` may differ from the parameter names that
|
|
107
|
+
`get_device_parameters` returns (display name vs. internal name).
|
|
108
|
+
Always resolve via `get_device_parameters` at runtime; the affordance
|
|
109
|
+
YAML names are advisory, not canonical.
|
|
110
|
+
- `subtle_ranges` / `moderate_ranges` / `aggressive_ranges` are
|
|
111
|
+
advisory numeric bands. Always confirm parameter range via
|
|
112
|
+
`get_device_parameters` — these bands are for HUMAN-readable
|
|
113
|
+
"what this sounds like" hints, NOT for automation-recipe bounds.
|
|
114
|
+
- `dimensional_impact` uses `"low"` / `"moderate"` / `"high"` / `"none"`
|
|
115
|
+
— not numeric. This maps onto the four-move-rule's dimension axis.
|
|
116
|
+
- `remeasure` should name metrics / tools that the director is
|
|
117
|
+
expected to run post-load. Listing `plugin_health` is mandatory for
|
|
118
|
+
any AU/VST device (see CLAUDE.md memory).
|
|
119
|
+
- `pairings` and `anti_pairings` describe DEVICE-level relationships,
|
|
120
|
+
not genre-level ones. A pairing like "Auto Filter before Echo for
|
|
121
|
+
dub sweeps" lives here; a packet's `reach_for` list lives in
|
|
122
|
+
concept/.
|
|
123
|
+
|
|
124
|
+
## Scope for PR 3
|
|
125
|
+
|
|
126
|
+
The initial affordance set covers the 20 devices most-referenced across
|
|
127
|
+
concept packets:
|
|
128
|
+
|
|
129
|
+
1. Echo
|
|
130
|
+
2. Auto Filter
|
|
131
|
+
3. Convolution Reverb
|
|
132
|
+
4. Hybrid Reverb (if enriched in atlas; else skip)
|
|
133
|
+
5. Drift
|
|
134
|
+
6. Corpus
|
|
135
|
+
7. Granulator III
|
|
136
|
+
8. Simpler
|
|
137
|
+
9. Wavetable
|
|
138
|
+
10. Operator
|
|
139
|
+
11. Ping Pong Delay
|
|
140
|
+
12. Saturator
|
|
141
|
+
13. Redux (if enriched in atlas; else Vinyl Distortion)
|
|
142
|
+
14. Utility
|
|
143
|
+
15. EQ Eight
|
|
144
|
+
16. Compressor
|
|
145
|
+
17. Glue Compressor
|
|
146
|
+
18. Chorus-Ensemble
|
|
147
|
+
19. Shifter
|
|
148
|
+
20. Poli
|
|
149
|
+
|
|
150
|
+
## Sync with atlas
|
|
151
|
+
|
|
152
|
+
The atlas already has `signature_techniques` for 47 devices. Affordance
|
|
153
|
+
YAMLs SHOULD NOT duplicate those — instead, `notes` can reference them
|
|
154
|
+
via `See atlas signature_techniques for recipes.`
|
|
155
|
+
|
|
156
|
+
Keep the axes distinct:
|
|
157
|
+
- **Atlas** = what exists, what presets are available, what recipes
|
|
158
|
+
work on this device
|
|
159
|
+
- **Affordance** = when to reach for this device, when to avoid it,
|
|
160
|
+
how its parameters translate to musical consequence
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
id: auto_filter
|
|
2
|
+
name: Auto Filter
|
|
3
|
+
type: effect
|
|
4
|
+
category: filter
|
|
5
|
+
aliases:
|
|
6
|
+
- "auto filter"
|
|
7
|
+
- "auto-filter"
|
|
8
|
+
atlas_search_query: "Auto Filter"
|
|
9
|
+
|
|
10
|
+
musical_roles:
|
|
11
|
+
- filter-sweep arranging
|
|
12
|
+
- dub-tail shaping on delay returns
|
|
13
|
+
- wobble-bass foundation (filter + LFO)
|
|
14
|
+
- build-up tension (closing filter into drop)
|
|
15
|
+
- single-source-morph melody (filter-as-melody)
|
|
16
|
+
|
|
17
|
+
strong_for:
|
|
18
|
+
- long-arc filter sweeps (4-16 bar)
|
|
19
|
+
- shaping delay returns (on the RETURN, not the input)
|
|
20
|
+
- LFO-driven wobble bass
|
|
21
|
+
- subtractive minimal-techno arrangement (filter-as-melody)
|
|
22
|
+
- removing high-end from samples that feel too bright
|
|
23
|
+
|
|
24
|
+
risky_for:
|
|
25
|
+
- already-filtered sources (compounded narrowness)
|
|
26
|
+
- tracks that depend on top-end for clarity (vocals, cymbals)
|
|
27
|
+
- busses with multiple harmonic sources (filter sweeps mask key)
|
|
28
|
+
- short sounds (filter envelope never resolves)
|
|
29
|
+
|
|
30
|
+
# All parameter values are 0-1 NORMALIZED (raw values you pass to
|
|
31
|
+
# set_device_parameter). The modern AutoFilter2 class uses 0-1 for every
|
|
32
|
+
# band-relevant parameter. value_string in the response is the source of
|
|
33
|
+
# truth for the display-unit (Hz, %, etc.) — always read it.
|
|
34
|
+
#
|
|
35
|
+
# Live-verified frequency mapping (AutoFilter2, v1.18.0):
|
|
36
|
+
# raw 0.10 → ~40 Hz (sub)
|
|
37
|
+
# raw 0.25 → ~100 Hz (low)
|
|
38
|
+
# raw 0.45 → ~450 Hz (low-mid — dub-filtered tails)
|
|
39
|
+
# raw 0.55 → ~900 Hz (mid)
|
|
40
|
+
# raw 0.65 → ~2 kHz (presence)
|
|
41
|
+
# raw 0.80 → ~5 kHz (brightness)
|
|
42
|
+
# raw 0.90 → ~10 kHz (air)
|
|
43
|
+
# The curve is roughly exponential — raw → display is NOT linear.
|
|
44
|
+
subtle_ranges:
|
|
45
|
+
frequency: [0.60, 0.85] # ~1.2-8 kHz (mid-high, opening the top end)
|
|
46
|
+
resonance: [0.0, 0.3]
|
|
47
|
+
envelope_amount: [0.0, 0.2]
|
|
48
|
+
lfo_amount: [0.0, 0.15]
|
|
49
|
+
moderate_ranges:
|
|
50
|
+
frequency: [0.40, 0.60] # ~300-1500 Hz (vocal / chord-stab territory)
|
|
51
|
+
resonance: [0.3, 0.6]
|
|
52
|
+
envelope_amount: [0.2, 0.5]
|
|
53
|
+
lfo_amount: [0.15, 0.4]
|
|
54
|
+
aggressive_ranges:
|
|
55
|
+
frequency: [0.25, 0.45] # ~100-450 Hz (dub / low-pass chop)
|
|
56
|
+
resonance: [0.6, 0.9] # still ≤1 — AutoFilter2 caps at 1.0
|
|
57
|
+
envelope_amount: [0.5, 1.0]
|
|
58
|
+
lfo_amount: [0.4, 1.0]
|
|
59
|
+
# Pre-v1.18.1 this YAML had LEGACY Hz values (1200-8000 etc) which
|
|
60
|
+
# applied to the pre-2010 AutoFilter device (class name AutoFilter,
|
|
61
|
+
# Frequency range 20-135 absolute). Live 12 ships AutoFilter2 which
|
|
62
|
+
# normalizes everything to 0-1 — the legacy values made set_device_parameter
|
|
63
|
+
# calls silently clamp or behave unpredictably.
|
|
64
|
+
|
|
65
|
+
pairings:
|
|
66
|
+
- device: Echo
|
|
67
|
+
order: after
|
|
68
|
+
purpose: filter the input before it hits the delay (dub chain)
|
|
69
|
+
- device: Saturator
|
|
70
|
+
order: after
|
|
71
|
+
purpose: harmonic saturation on the filtered signal
|
|
72
|
+
- device: Envelope Follower
|
|
73
|
+
order: parallel
|
|
74
|
+
purpose: kick-triggered filter sweeps on non-kick elements
|
|
75
|
+
- device: LFO # standalone LFO via mapped parameter
|
|
76
|
+
order: parallel
|
|
77
|
+
purpose: long-arc filter movement via mapped macro
|
|
78
|
+
|
|
79
|
+
anti_pairings:
|
|
80
|
+
- Multiple Auto Filters in series (use one with steeper slope instead)
|
|
81
|
+
- EQ Eight doing the same cut (redundant with filter)
|
|
82
|
+
|
|
83
|
+
remeasure:
|
|
84
|
+
- spectral_balance # filters directly change spectrum
|
|
85
|
+
- track_meters # narrow filtering can kill signal
|
|
86
|
+
- groove_motion # LFO-rate filter changes groove feel
|
|
87
|
+
# Always read value_string after setting any Auto Filter parameter —
|
|
88
|
+
# the raw 0-1 input maps non-linearly to display Hz/%/etc.
|
|
89
|
+
|
|
90
|
+
dimensional_impact:
|
|
91
|
+
structural: moderate # long sweeps ARE arrangement moves
|
|
92
|
+
rhythmic: low-moderate
|
|
93
|
+
timbral: high # filter is fundamental timbre
|
|
94
|
+
spatial: low
|
|
95
|
+
|
|
96
|
+
appears_in_packets:
|
|
97
|
+
artists:
|
|
98
|
+
- villalobos
|
|
99
|
+
- basic-channel
|
|
100
|
+
- hawtin
|
|
101
|
+
- skream-mala
|
|
102
|
+
- daft-punk
|
|
103
|
+
genres:
|
|
104
|
+
- dub-techno
|
|
105
|
+
- minimal-techno
|
|
106
|
+
- microhouse
|
|
107
|
+
- house
|
|
108
|
+
- deep-minimal
|
|
109
|
+
- dubstep
|
|
110
|
+
- uk-garage
|
|
111
|
+
|
|
112
|
+
notes: |
|
|
113
|
+
Live 12 ships two Auto Filter classes. The modern `AutoFilter2` uses
|
|
114
|
+
0-1 NORMALIZED for Frequency and Resonance (live-verified against
|
|
115
|
+
v1.18.0). The legacy `AutoFilter` used an absolute 20-135 Hz range
|
|
116
|
+
for Frequency. This affordance documents the MODERN class — always
|
|
117
|
+
inspect the `class_name` field in `get_device_parameters` output
|
|
118
|
+
before applying: if it's `AutoFilter` (not `AutoFilter2`), the raw
|
|
119
|
+
values in this YAML will silently clamp or behave unexpectedly.
|
|
120
|
+
|
|
121
|
+
Defensive discipline: regardless of class, call
|
|
122
|
+
`get_device_parameters` after setting and read `value_string` for
|
|
123
|
+
the actual Hz value. The raw-to-display mapping is non-linear on both
|
|
124
|
+
classes.
|
|
125
|
+
|
|
126
|
+
For dub-techno delay returns: put Auto Filter ON the return track,
|
|
127
|
+
AFTER the Echo device. Low-pass at moderate frequency (raw ~0.40-0.55,
|
|
128
|
+
display ~300-900 Hz) with slow LFO (0.15 raw = ~0.26 Hz display)
|
|
129
|
+
gives the "tail movement" that carries harmony.
|
|
130
|
+
|
|
131
|
+
For minimal-techno subtractive: map a macro to the Frequency, draw
|
|
132
|
+
a 32-bar ramp from closed to open, and let the filter BE the
|
|
133
|
+
arrangement (Hawtin technique).
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
id: chorus_ensemble
|
|
2
|
+
name: Chorus-Ensemble
|
|
3
|
+
type: effect
|
|
4
|
+
category: modulation
|
|
5
|
+
aliases:
|
|
6
|
+
- "chorus-ensemble"
|
|
7
|
+
- "chorus ensemble"
|
|
8
|
+
- "chorus"
|
|
9
|
+
atlas_search_query: "Chorus-Ensemble"
|
|
10
|
+
|
|
11
|
+
musical_roles:
|
|
12
|
+
- thickening pads and leads
|
|
13
|
+
- synthwave / 80s lead character
|
|
14
|
+
- warming single-oscillator synths
|
|
15
|
+
- Juno-style ensemble emulation
|
|
16
|
+
- subtle stereo spread
|
|
17
|
+
|
|
18
|
+
strong_for:
|
|
19
|
+
- synthwave leads (Com Truise / Tycho aesthetic)
|
|
20
|
+
- warming Poli / Drift patches
|
|
21
|
+
- Juno-60-style ensemble chorus
|
|
22
|
+
- pads that feel "thin" from a single oscillator
|
|
23
|
+
- house / deep-house Rhodes thickening
|
|
24
|
+
|
|
25
|
+
risky_for:
|
|
26
|
+
- percussion (chorus smears transients)
|
|
27
|
+
- bass (chorus widens — destroys mono bass)
|
|
28
|
+
- already-chorused sources (Poli has internal chorus)
|
|
29
|
+
- modern-classical / ambient (adds period-specific character — may conflict)
|
|
30
|
+
|
|
31
|
+
subtle_ranges:
|
|
32
|
+
amount: [0.0, 0.15]
|
|
33
|
+
rate: [0.1, 0.8] # Hz
|
|
34
|
+
depth: [0.0, 0.2]
|
|
35
|
+
moderate_ranges:
|
|
36
|
+
amount: [0.15, 0.40]
|
|
37
|
+
rate: [0.3, 1.2]
|
|
38
|
+
depth: [0.2, 0.5]
|
|
39
|
+
aggressive_ranges:
|
|
40
|
+
amount: [0.40, 0.85]
|
|
41
|
+
rate: [0.8, 3.0]
|
|
42
|
+
depth: [0.5, 1.0]
|
|
43
|
+
|
|
44
|
+
pairings:
|
|
45
|
+
- device: Drift
|
|
46
|
+
order: after
|
|
47
|
+
purpose: thickening Drift pads (synthwave, house)
|
|
48
|
+
- device: Poli
|
|
49
|
+
order: after
|
|
50
|
+
purpose: extra thickness beyond Poli's internal chorus
|
|
51
|
+
- device: Wavetable
|
|
52
|
+
order: after
|
|
53
|
+
purpose: thickening wavetable pads (OPN aesthetic)
|
|
54
|
+
- device: Echo
|
|
55
|
+
order: after
|
|
56
|
+
purpose: chorus INTO echo for lush doubled tails
|
|
57
|
+
|
|
58
|
+
anti_pairings:
|
|
59
|
+
- "Bass tracks (chorus destroys mono compatibility on bass)"
|
|
60
|
+
- "Drum bus (chorus smears drum transients)"
|
|
61
|
+
- "Heavily-detuned Drift/Poli (already wide; chorus compounds)"
|
|
62
|
+
|
|
63
|
+
remeasure:
|
|
64
|
+
- stereo_width # chorus widens
|
|
65
|
+
- mono_compatibility
|
|
66
|
+
- spectral_balance
|
|
67
|
+
|
|
68
|
+
dimensional_impact:
|
|
69
|
+
structural: none
|
|
70
|
+
rhythmic: none
|
|
71
|
+
timbral: moderate
|
|
72
|
+
spatial: moderate
|
|
73
|
+
|
|
74
|
+
appears_in_packets:
|
|
75
|
+
artists:
|
|
76
|
+
- isolee-luomo
|
|
77
|
+
- com-truise-tycho
|
|
78
|
+
- daft-punk
|
|
79
|
+
genres:
|
|
80
|
+
- microhouse
|
|
81
|
+
- synthwave
|
|
82
|
+
- house
|
|
83
|
+
|
|
84
|
+
notes: |
|
|
85
|
+
Chorus-Ensemble is specialist: thickening synths, mostly pads
|
|
86
|
+
and leads. Never on percussion or bass. For synthwave,
|
|
87
|
+
moderate amount (0.3-0.5) + slow rate (0.5 Hz) is canonical.
|
|
88
|
+
|
|
89
|
+
In concept packets that list Chorus-Ensemble in reach_for, it's
|
|
90
|
+
typically paired with Drift or Poli — the chorus completes the
|
|
91
|
+
analog-polysynth character.
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
id: compressor
|
|
2
|
+
name: Compressor
|
|
3
|
+
type: effect
|
|
4
|
+
category: dynamics
|
|
5
|
+
aliases:
|
|
6
|
+
- "compressor"
|
|
7
|
+
atlas_search_query: "Compressor"
|
|
8
|
+
|
|
9
|
+
musical_roles:
|
|
10
|
+
- sidechain compression triggered by kick (pumping aesthetic)
|
|
11
|
+
- individual-track dynamics taming
|
|
12
|
+
- transient shaping (attack parameter)
|
|
13
|
+
- parallel compression for drum-bus density
|
|
14
|
+
- envelope-follower-triggered dynamic filtering
|
|
15
|
+
|
|
16
|
+
strong_for:
|
|
17
|
+
- house / disco / dance sidechain pumping (via Envelope Follower)
|
|
18
|
+
- vocal compression for consistency
|
|
19
|
+
- drum-bus glue (moderate ratio, slow attack)
|
|
20
|
+
- controlling peaks on transient-heavy material
|
|
21
|
+
- parallel processing for density without killing transients
|
|
22
|
+
|
|
23
|
+
risky_for:
|
|
24
|
+
- ambient / drone material (compression kills the dynamic evolution)
|
|
25
|
+
- transient-critical sources at aggressive settings (squash kills punch)
|
|
26
|
+
- already-limited material (compounded compression = lifeless)
|
|
27
|
+
- subtle-aesthetic contexts (Basic Channel, Gas) — the genre avoids compression
|
|
28
|
+
|
|
29
|
+
subtle_ranges:
|
|
30
|
+
threshold: [-6, -3] # dB
|
|
31
|
+
ratio: [1.5, 2.5]
|
|
32
|
+
attack: [10, 30] # ms
|
|
33
|
+
release: [50, 200] # ms
|
|
34
|
+
gain_reduction: [1, 3] # dB actual reduction target
|
|
35
|
+
moderate_ranges:
|
|
36
|
+
threshold: [-12, -6]
|
|
37
|
+
ratio: [2.5, 4.0]
|
|
38
|
+
attack: [2, 10]
|
|
39
|
+
release: [20, 50]
|
|
40
|
+
gain_reduction: [3, 6]
|
|
41
|
+
aggressive_ranges:
|
|
42
|
+
threshold: [-20, -12]
|
|
43
|
+
ratio: [4.0, 10.0]
|
|
44
|
+
attack: [0.1, 2]
|
|
45
|
+
release: [5, 20]
|
|
46
|
+
gain_reduction: [6, 15]
|
|
47
|
+
|
|
48
|
+
pairings:
|
|
49
|
+
- device: Envelope Follower
|
|
50
|
+
order: before # routed from external kick track
|
|
51
|
+
purpose: sidechain pumping (house / disco / dance)
|
|
52
|
+
- device: EQ Eight
|
|
53
|
+
order: before
|
|
54
|
+
purpose: cut problem frequencies before compressing
|
|
55
|
+
- device: Saturator
|
|
56
|
+
order: before
|
|
57
|
+
purpose: tame saturation peaks with downstream compression
|
|
58
|
+
- device: EQ Eight
|
|
59
|
+
order: after
|
|
60
|
+
purpose: restore lost brightness after compression
|
|
61
|
+
|
|
62
|
+
anti_pairings:
|
|
63
|
+
- "Multiple compressors in series at aggressive settings (squash compound)"
|
|
64
|
+
- "Limiter after compressor at aggressive settings (double-dynamics-kill)"
|
|
65
|
+
|
|
66
|
+
remeasure:
|
|
67
|
+
- track_meters # compression changes level
|
|
68
|
+
- spectral_balance # dynamic EQ shift
|
|
69
|
+
- groove_motion # sidechain pumping changes groove
|
|
70
|
+
|
|
71
|
+
dimensional_impact:
|
|
72
|
+
structural: none
|
|
73
|
+
rhythmic: moderate # sidechain pumping IS rhythmic texture
|
|
74
|
+
timbral: low
|
|
75
|
+
spatial: none
|
|
76
|
+
|
|
77
|
+
appears_in_packets:
|
|
78
|
+
artists:
|
|
79
|
+
- daft-punk
|
|
80
|
+
- moodymann-theo-parrish
|
|
81
|
+
- com-truise-tycho
|
|
82
|
+
- skream-mala
|
|
83
|
+
genres:
|
|
84
|
+
- house
|
|
85
|
+
- dubstep
|
|
86
|
+
- trap
|
|
87
|
+
- modern-classical
|
|
88
|
+
- drum-and-bass
|
|
89
|
+
|
|
90
|
+
notes: |
|
|
91
|
+
Compressor's most distinctive LivePilot use is sidechain pumping
|
|
92
|
+
via Envelope Follower — route the kick track's audio into
|
|
93
|
+
Compressor's sidechain input, ratio 4:1, attack 0.1 ms, release
|
|
94
|
+
150-250 ms, and non-kick elements breathe with the kick.
|
|
95
|
+
|
|
96
|
+
For genres that AVOID compression (Basic Channel dub-techno,
|
|
97
|
+
Gas ambient), the packet's `avoid` list will explicitly name
|
|
98
|
+
heavy compression — respect it.
|
package/livepilot/skills/livepilot-core/references/affordances/devices/convolution-reverb.yaml
ADDED
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
id: convolution_reverb
|
|
2
|
+
name: Convolution Reverb
|
|
3
|
+
type: effect
|
|
4
|
+
category: reverb
|
|
5
|
+
aliases:
|
|
6
|
+
- "convolution reverb"
|
|
7
|
+
- "convolution"
|
|
8
|
+
atlas_search_query: "Convolution Reverb"
|
|
9
|
+
|
|
10
|
+
musical_roles:
|
|
11
|
+
- cathedral / hall space for ambient and modern-classical
|
|
12
|
+
- dub-techno fog chain (100% wet on send)
|
|
13
|
+
- plate-reverb snare (Golden-era hip-hop)
|
|
14
|
+
- custom-IR aesthetic (spring, cassette, impulse loops)
|
|
15
|
+
- tail-harvesting (extract reverb tail as separate source)
|
|
16
|
+
|
|
17
|
+
strong_for:
|
|
18
|
+
- creating a specific real-world acoustic (hall, cathedral, chamber)
|
|
19
|
+
- dub-techno reverb chain (behind Echo on return, 100% wet)
|
|
20
|
+
- vintage plate / spring character via IR
|
|
21
|
+
- low CPU reverb for many simultaneous returns
|
|
22
|
+
- non-standard IRs (metal cabinet, car cabin, sampled vinyl noise)
|
|
23
|
+
|
|
24
|
+
risky_for:
|
|
25
|
+
- dry-aesthetic genres (hip-hop without intended plate, trap, boom-bap)
|
|
26
|
+
- tracks that already have strong spatial identity from another device
|
|
27
|
+
- short-tail needs (use Hybrid Reverb or Reverb instead)
|
|
28
|
+
- CPU-constrained sessions with many returns (less of a concern in 12.3+)
|
|
29
|
+
|
|
30
|
+
subtle_ranges:
|
|
31
|
+
wet: [0.05, 0.20] # dry/wet mix
|
|
32
|
+
decay_time: [0.5, 2.0] # seconds — actual parameter name
|
|
33
|
+
moderate_ranges:
|
|
34
|
+
wet: [0.25, 0.50]
|
|
35
|
+
decay_time: [2.0, 5.0]
|
|
36
|
+
aggressive_ranges:
|
|
37
|
+
wet: [0.55, 1.0]
|
|
38
|
+
decay_time: [5.0, 15.0]
|
|
39
|
+
# 100% wet on a return is the dub-techno default — context-dependent.
|
|
40
|
+
# On a send-return architecture (not an insert), wet=1.0 is functionally
|
|
41
|
+
# moderate (send level controls intensity); on an insert it's aggressive.
|
|
42
|
+
|
|
43
|
+
pairings:
|
|
44
|
+
- device: Echo
|
|
45
|
+
order: before
|
|
46
|
+
purpose: dub chain — Echo feeds the reverb for filtered-delay tails
|
|
47
|
+
- device: Auto Filter
|
|
48
|
+
order: before
|
|
49
|
+
purpose: filter the input before reverb for tone-shaped tails
|
|
50
|
+
- device: EQ Eight
|
|
51
|
+
order: after
|
|
52
|
+
purpose: shelf-cut low-end from reverb tails to prevent mud
|
|
53
|
+
- device: Utility
|
|
54
|
+
order: before
|
|
55
|
+
purpose: mono-ize input before reverb for centered space
|
|
56
|
+
|
|
57
|
+
anti_pairings:
|
|
58
|
+
- "Another large-IR reverb in series (use one at 100% wet on a send)"
|
|
59
|
+
- "Gated Delay on a reverb tail (Gated Delay expects dry input)"
|
|
60
|
+
|
|
61
|
+
remeasure:
|
|
62
|
+
- spectral_balance # reverb bloom can push low-mid
|
|
63
|
+
- stereo_width # hall IRs spread stereo
|
|
64
|
+
- low_headroom # tail buildup over time
|
|
65
|
+
- mud_content # low-end buildup from tail
|
|
66
|
+
|
|
67
|
+
dimensional_impact:
|
|
68
|
+
structural: low
|
|
69
|
+
rhythmic: low
|
|
70
|
+
timbral: moderate # IR choice colors tone
|
|
71
|
+
spatial: high # dominant consequence
|
|
72
|
+
|
|
73
|
+
appears_in_packets:
|
|
74
|
+
artists:
|
|
75
|
+
- basic-channel
|
|
76
|
+
- gas
|
|
77
|
+
- hawtin
|
|
78
|
+
- basinski
|
|
79
|
+
- stars-of-the-lid
|
|
80
|
+
- tim-hecker
|
|
81
|
+
- shackleton
|
|
82
|
+
- villalobos
|
|
83
|
+
- dj-premier-rza
|
|
84
|
+
- daft-punk
|
|
85
|
+
- johannsson-richter
|
|
86
|
+
- robert-henke
|
|
87
|
+
- photek-source-direct
|
|
88
|
+
- skream-mala
|
|
89
|
+
- burial
|
|
90
|
+
genres:
|
|
91
|
+
- ambient
|
|
92
|
+
- dub-techno
|
|
93
|
+
- deep-minimal
|
|
94
|
+
- minimal-techno
|
|
95
|
+
- microhouse
|
|
96
|
+
- modern-classical
|
|
97
|
+
- hip-hop
|
|
98
|
+
- drum-and-bass
|
|
99
|
+
- uk-garage
|
|
100
|
+
|
|
101
|
+
notes: |
|
|
102
|
+
Convolution Reverb is the most-referenced spatial device in the
|
|
103
|
+
catalog (15 artist packets). IR choice matters more than any other
|
|
104
|
+
parameter — Farfisa Spring for Basic Channel, cathedral for Gas,
|
|
105
|
+
Stocktronics RX-4000 for dub-techno variety, hall for Jóhannsson.
|
|
106
|
+
|
|
107
|
+
For dub-techno: place on a return track behind Echo, set wet to
|
|
108
|
+
100%, let tracks send to it. For hip-hop snare: place on a return,
|
|
109
|
+
set IR to a plate, send snare at -9 dB.
|
|
110
|
+
|
|
111
|
+
Per CLAUDE.md analyzer-placement rule: if you load Convolution
|
|
112
|
+
Reverb on the master chain, the LivePilot_Analyzer must be AFTER
|
|
113
|
+
it, not before.
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
id: corpus
|
|
2
|
+
name: Corpus
|
|
3
|
+
type: effect
|
|
4
|
+
category: physical_model
|
|
5
|
+
aliases:
|
|
6
|
+
- "corpus"
|
|
7
|
+
atlas_search_query: "Corpus"
|
|
8
|
+
|
|
9
|
+
musical_roles:
|
|
10
|
+
- physical-modeling resonance on non-pitched sources
|
|
11
|
+
- metallic / glass / stone percussion textures (Arca / SOPHIE)
|
|
12
|
+
- pitched resonator on drums
|
|
13
|
+
- inharmonic bell-drone generator
|
|
14
|
+
- impossible-acoustic space creation
|
|
15
|
+
|
|
16
|
+
strong_for:
|
|
17
|
+
- transforming percussion into pitched tonal content
|
|
18
|
+
- creating metal-on-glass textures (Arca aesthetic)
|
|
19
|
+
- resonance-based sound design where the SOURCE gets replaced by its resonance
|
|
20
|
+
- experimental / noise work (atonal resonance)
|
|
21
|
+
- noise-bow technique (bowing noise through Corpus)
|
|
22
|
+
|
|
23
|
+
risky_for:
|
|
24
|
+
- pitched melodic material (Corpus will fight the source's harmony)
|
|
25
|
+
- already-resonant sources (double-resonance = chaos)
|
|
26
|
+
- dense mixes (Corpus's output has complex harmonic content)
|
|
27
|
+
- conservative production (it always sounds "processed")
|
|
28
|
+
|
|
29
|
+
subtle_ranges:
|
|
30
|
+
resonance_amount: [0.0, 0.25]
|
|
31
|
+
decay: [0.1, 0.5]
|
|
32
|
+
body_size: [0.3, 0.6]
|
|
33
|
+
moderate_ranges:
|
|
34
|
+
resonance_amount: [0.25, 0.55]
|
|
35
|
+
decay: [0.5, 2.0]
|
|
36
|
+
body_size: [0.15, 0.85]
|
|
37
|
+
aggressive_ranges:
|
|
38
|
+
resonance_amount: [0.55, 1.0]
|
|
39
|
+
decay: [2.0, 10.0] # long sustained resonance
|
|
40
|
+
body_size: [0.0, 1.0] # extremes
|
|
41
|
+
|
|
42
|
+
pairings:
|
|
43
|
+
- device: Erosion
|
|
44
|
+
order: before
|
|
45
|
+
purpose: noise input for resonance coloring
|
|
46
|
+
- device: Spectral Resonator
|
|
47
|
+
order: parallel
|
|
48
|
+
purpose: additional spectral content beyond Corpus model
|
|
49
|
+
- device: Convolution Reverb
|
|
50
|
+
order: after
|
|
51
|
+
purpose: spatial placement of resonance
|
|
52
|
+
|
|
53
|
+
anti_pairings:
|
|
54
|
+
- "Another Corpus in series (unpredictable feedback)"
|
|
55
|
+
- "Tension with Corpus (both physical models — pick one)"
|
|
56
|
+
|
|
57
|
+
remeasure:
|
|
58
|
+
- spectral_balance # Corpus dramatically changes spectrum
|
|
59
|
+
- low_headroom # resonance can build up level
|
|
60
|
+
- plugin_health
|
|
61
|
+
|
|
62
|
+
dimensional_impact:
|
|
63
|
+
structural: low
|
|
64
|
+
rhythmic: low
|
|
65
|
+
timbral: high
|
|
66
|
+
spatial: moderate # Corpus has inherent spatial character
|
|
67
|
+
|
|
68
|
+
appears_in_packets:
|
|
69
|
+
artists:
|
|
70
|
+
- arca-sophie
|
|
71
|
+
genres:
|
|
72
|
+
- experimental
|
|
73
|
+
- idm
|
|
74
|
+
|
|
75
|
+
notes: |
|
|
76
|
+
Corpus is the physical-modeling signature for Arca/SOPHIE aesthetic.
|
|
77
|
+
Use it to transform percussion into pitched textures, or to add
|
|
78
|
+
metallic resonance that sounds physical rather than synthesized.
|
|
79
|
+
|
|
80
|
+
Canonical technique: "Noise Bow" — bow a noise source through Corpus
|
|
81
|
+
to generate inharmonic drone. See atlas signature_techniques.
|
|
82
|
+
|
|
83
|
+
Plans using Corpus should note its `dimensional_impact.timbral=high`
|
|
84
|
+
means a Corpus plan counts as a timbral plan for the four-move rule.
|