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.
- package/.claude-plugin/marketplace.json +3 -3
- package/AGENTS.md +3 -3
- package/CHANGELOG.md +119 -0
- package/CONTRIBUTING.md +1 -1
- package/README.md +144 -13
- package/bin/livepilot.js +87 -0
- package/installer/codex.js +147 -0
- package/livepilot/.Codex-plugin/plugin.json +2 -2
- package/livepilot/.claude-plugin/plugin.json +2 -2
- package/livepilot/skills/livepilot-core/SKILL.md +21 -4
- 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/overview.md +13 -9
- 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-devices/SKILL.md +16 -2
- package/livepilot/skills/livepilot-evaluation/references/capability-modes.md +1 -1
- package/livepilot/skills/livepilot-release/SKILL.md +19 -5
- package/livepilot/skills/livepilot-sample-engine/SKILL.md +104 -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 +45 -0
- package/livepilot/skills/livepilot-wonder/SKILL.md +15 -0
- package/livepilot.mcpb +0 -0
- package/m4l_device/livepilot_bridge.js +1 -1
- package/manifest.json +2 -2
- package/mcp_server/__init__.py +1 -1
- package/mcp_server/atlas/__init__.py +357 -0
- package/mcp_server/atlas/device_atlas.json +44067 -0
- package/mcp_server/atlas/enrichments/__init__.py +111 -0
- package/mcp_server/atlas/enrichments/audio_effects/auto_filter.yaml +162 -0
- package/mcp_server/atlas/enrichments/audio_effects/beat_repeat.yaml +183 -0
- package/mcp_server/atlas/enrichments/audio_effects/channel_eq.yaml +126 -0
- package/mcp_server/atlas/enrichments/audio_effects/chorus_ensemble.yaml +149 -0
- package/mcp_server/atlas/enrichments/audio_effects/color_limiter.yaml +109 -0
- package/mcp_server/atlas/enrichments/audio_effects/compressor.yaml +159 -0
- package/mcp_server/atlas/enrichments/audio_effects/convolution_reverb.yaml +143 -0
- package/mcp_server/atlas/enrichments/audio_effects/convolution_reverb_pro.yaml +178 -0
- package/mcp_server/atlas/enrichments/audio_effects/delay.yaml +151 -0
- package/mcp_server/atlas/enrichments/audio_effects/drum_buss.yaml +142 -0
- package/mcp_server/atlas/enrichments/audio_effects/dynamic_tube.yaml +147 -0
- package/mcp_server/atlas/enrichments/audio_effects/echo.yaml +167 -0
- package/mcp_server/atlas/enrichments/audio_effects/eq_eight.yaml +148 -0
- package/mcp_server/atlas/enrichments/audio_effects/eq_three.yaml +121 -0
- package/mcp_server/atlas/enrichments/audio_effects/erosion.yaml +103 -0
- package/mcp_server/atlas/enrichments/audio_effects/filter_delay.yaml +173 -0
- package/mcp_server/atlas/enrichments/audio_effects/gate.yaml +130 -0
- package/mcp_server/atlas/enrichments/audio_effects/gated_delay.yaml +133 -0
- package/mcp_server/atlas/enrichments/audio_effects/glue_compressor.yaml +142 -0
- package/mcp_server/atlas/enrichments/audio_effects/grain_delay.yaml +141 -0
- package/mcp_server/atlas/enrichments/audio_effects/hybrid_reverb.yaml +160 -0
- package/mcp_server/atlas/enrichments/audio_effects/limiter.yaml +97 -0
- package/mcp_server/atlas/enrichments/audio_effects/multiband_dynamics.yaml +174 -0
- package/mcp_server/atlas/enrichments/audio_effects/overdrive.yaml +119 -0
- package/mcp_server/atlas/enrichments/audio_effects/pedal.yaml +145 -0
- package/mcp_server/atlas/enrichments/audio_effects/phaser_flanger.yaml +161 -0
- package/mcp_server/atlas/enrichments/audio_effects/redux.yaml +114 -0
- package/mcp_server/atlas/enrichments/audio_effects/reverb.yaml +190 -0
- package/mcp_server/atlas/enrichments/audio_effects/roar.yaml +159 -0
- package/mcp_server/atlas/enrichments/audio_effects/saturator.yaml +146 -0
- package/mcp_server/atlas/enrichments/audio_effects/shifter.yaml +154 -0
- package/mcp_server/atlas/enrichments/audio_effects/spectral_resonator.yaml +141 -0
- package/mcp_server/atlas/enrichments/audio_effects/spectral_time.yaml +164 -0
- package/mcp_server/atlas/enrichments/audio_effects/vector_delay.yaml +140 -0
- package/mcp_server/atlas/enrichments/audio_effects/vinyl_distortion.yaml +141 -0
- package/mcp_server/atlas/enrichments/instruments/analog.yaml +222 -0
- package/mcp_server/atlas/enrichments/instruments/bass.yaml +202 -0
- package/mcp_server/atlas/enrichments/instruments/collision.yaml +150 -0
- package/mcp_server/atlas/enrichments/instruments/drift.yaml +167 -0
- package/mcp_server/atlas/enrichments/instruments/electric.yaml +137 -0
- package/mcp_server/atlas/enrichments/instruments/emit.yaml +163 -0
- package/mcp_server/atlas/enrichments/instruments/meld.yaml +164 -0
- package/mcp_server/atlas/enrichments/instruments/operator.yaml +197 -0
- package/mcp_server/atlas/enrichments/instruments/poli.yaml +192 -0
- package/mcp_server/atlas/enrichments/instruments/sampler.yaml +218 -0
- package/mcp_server/atlas/enrichments/instruments/simpler.yaml +217 -0
- package/mcp_server/atlas/enrichments/instruments/tension.yaml +156 -0
- package/mcp_server/atlas/enrichments/instruments/tree_tone.yaml +162 -0
- package/mcp_server/atlas/enrichments/instruments/vector_fm.yaml +165 -0
- package/mcp_server/atlas/enrichments/instruments/vector_grain.yaml +166 -0
- package/mcp_server/atlas/enrichments/instruments/wavetable.yaml +162 -0
- package/mcp_server/atlas/enrichments/midi_effects/arpeggiator.yaml +156 -0
- package/mcp_server/atlas/enrichments/midi_effects/bouncy_notes.yaml +93 -0
- package/mcp_server/atlas/enrichments/midi_effects/chord.yaml +147 -0
- package/mcp_server/atlas/enrichments/midi_effects/melodic_steps.yaml +97 -0
- package/mcp_server/atlas/enrichments/midi_effects/note_echo.yaml +108 -0
- package/mcp_server/atlas/enrichments/midi_effects/note_length.yaml +97 -0
- package/mcp_server/atlas/enrichments/midi_effects/pitch.yaml +76 -0
- package/mcp_server/atlas/enrichments/midi_effects/random.yaml +117 -0
- package/mcp_server/atlas/enrichments/midi_effects/rhythmic_steps.yaml +103 -0
- package/mcp_server/atlas/enrichments/midi_effects/scale.yaml +83 -0
- package/mcp_server/atlas/enrichments/midi_effects/step_arp.yaml +112 -0
- package/mcp_server/atlas/enrichments/midi_effects/velocity.yaml +119 -0
- package/mcp_server/atlas/enrichments/utility/amp.yaml +159 -0
- package/mcp_server/atlas/enrichments/utility/cabinet.yaml +109 -0
- package/mcp_server/atlas/enrichments/utility/corpus.yaml +150 -0
- package/mcp_server/atlas/enrichments/utility/resonators.yaml +131 -0
- package/mcp_server/atlas/enrichments/utility/spectrum.yaml +63 -0
- package/mcp_server/atlas/enrichments/utility/tuner.yaml +51 -0
- package/mcp_server/atlas/enrichments/utility/utility.yaml +136 -0
- package/mcp_server/atlas/enrichments/utility/vocoder.yaml +160 -0
- package/mcp_server/atlas/scanner.py +236 -0
- package/mcp_server/atlas/tools.py +224 -0
- package/mcp_server/composer/__init__.py +1 -0
- package/mcp_server/composer/engine.py +452 -0
- package/mcp_server/composer/layer_planner.py +427 -0
- package/mcp_server/composer/prompt_parser.py +329 -0
- package/mcp_server/composer/tools.py +201 -0
- package/mcp_server/connection.py +53 -8
- package/mcp_server/corpus/__init__.py +377 -0
- package/mcp_server/device_forge/__init__.py +1 -0
- package/mcp_server/device_forge/builder.py +377 -0
- package/mcp_server/device_forge/models.py +142 -0
- package/mcp_server/device_forge/templates.py +483 -0
- package/mcp_server/device_forge/tools.py +162 -0
- package/mcp_server/hook_hunter/analyzer.py +23 -0
- package/mcp_server/hook_hunter/models.py +1 -0
- package/mcp_server/hook_hunter/tools.py +4 -2
- package/mcp_server/m4l_bridge.py +1 -0
- package/mcp_server/memory/taste_graph.py +68 -1
- package/mcp_server/memory/tools.py +15 -4
- package/mcp_server/musical_intelligence/detectors.py +14 -1
- package/mcp_server/musical_intelligence/tools.py +11 -8
- package/mcp_server/persistence/__init__.py +1 -0
- package/mcp_server/persistence/base_store.py +82 -0
- package/mcp_server/persistence/project_store.py +106 -0
- package/mcp_server/persistence/taste_store.py +122 -0
- package/mcp_server/preview_studio/models.py +1 -0
- package/mcp_server/preview_studio/tools.py +56 -13
- package/mcp_server/runtime/capability.py +66 -0
- package/mcp_server/runtime/capability_probe.py +137 -0
- package/mcp_server/runtime/execution_router.py +143 -0
- package/mcp_server/runtime/live_version.py +102 -0
- package/mcp_server/runtime/remote_commands.py +87 -0
- package/mcp_server/runtime/tools.py +18 -4
- package/mcp_server/sample_engine/__init__.py +1 -0
- package/mcp_server/sample_engine/analyzer.py +216 -0
- package/mcp_server/sample_engine/critics.py +390 -0
- package/mcp_server/sample_engine/models.py +193 -0
- package/mcp_server/sample_engine/moves.py +127 -0
- package/mcp_server/sample_engine/planner.py +186 -0
- package/mcp_server/sample_engine/sources.py +540 -0
- package/mcp_server/sample_engine/techniques.py +908 -0
- package/mcp_server/sample_engine/tools.py +442 -0
- package/mcp_server/semantic_moves/__init__.py +3 -0
- package/mcp_server/semantic_moves/device_creation_moves.py +237 -0
- package/mcp_server/semantic_moves/mix_moves.py +41 -41
- package/mcp_server/semantic_moves/performance_moves.py +13 -13
- package/mcp_server/semantic_moves/sample_compilers.py +372 -0
- package/mcp_server/semantic_moves/sound_design_moves.py +15 -15
- package/mcp_server/semantic_moves/tools.py +18 -17
- package/mcp_server/semantic_moves/transition_moves.py +16 -16
- package/mcp_server/server.py +51 -0
- package/mcp_server/services/__init__.py +1 -0
- package/mcp_server/services/motif_service.py +67 -0
- package/mcp_server/session_continuity/tracker.py +29 -1
- package/mcp_server/song_brain/builder.py +28 -1
- package/mcp_server/song_brain/models.py +4 -0
- package/mcp_server/song_brain/tools.py +20 -2
- package/mcp_server/sound_design/critics.py +89 -1
- package/mcp_server/splice_client/__init__.py +1 -0
- package/mcp_server/splice_client/client.py +347 -0
- package/mcp_server/splice_client/models.py +96 -0
- package/mcp_server/splice_client/protos/__init__.py +1 -0
- package/mcp_server/splice_client/protos/app_pb2.py +319 -0
- package/mcp_server/splice_client/protos/app_pb2.pyi +1153 -0
- package/mcp_server/splice_client/protos/app_pb2_grpc.py +1946 -0
- package/mcp_server/tools/arrangement.py +69 -0
- package/mcp_server/tools/automation.py +15 -2
- package/mcp_server/tools/devices.py +117 -6
- package/mcp_server/tools/notes.py +37 -4
- package/mcp_server/wonder_mode/diagnosis.py +5 -0
- package/mcp_server/wonder_mode/engine.py +85 -1
- package/mcp_server/wonder_mode/tools.py +6 -1
- package/package.json +12 -2
- package/remote_script/LivePilot/__init__.py +8 -1
- package/remote_script/LivePilot/arrangement.py +114 -0
- package/remote_script/LivePilot/browser.py +56 -1
- package/remote_script/LivePilot/devices.py +236 -6
- package/remote_script/LivePilot/mixing.py +8 -3
- package/remote_script/LivePilot/server.py +5 -1
- package/remote_script/LivePilot/transport.py +3 -0
- package/remote_script/LivePilot/version_detect.py +78 -0
- package/scripts/sync_metadata.py +132 -0
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
const fs = require("fs");
|
|
4
|
+
const os = require("os");
|
|
5
|
+
const path = require("path");
|
|
6
|
+
|
|
7
|
+
const ROOT = path.resolve(__dirname, "..");
|
|
8
|
+
const SOURCE_DIR = path.join(ROOT, "livepilot");
|
|
9
|
+
const SOURCE_MANIFEST = path.join(SOURCE_DIR, ".Codex-plugin", "plugin.json");
|
|
10
|
+
const DEFAULT_PLUGIN_DIR = path.join(os.homedir(), "plugins", "livepilot");
|
|
11
|
+
const DEFAULT_MARKETPLACE_PATH = path.join(os.homedir(), ".agents", "plugins", "marketplace.json");
|
|
12
|
+
|
|
13
|
+
const SKIP = new Set(["__pycache__", ".DS_Store"]);
|
|
14
|
+
|
|
15
|
+
function copyDirSync(src, dest) {
|
|
16
|
+
fs.mkdirSync(dest, { recursive: true });
|
|
17
|
+
const entries = fs.readdirSync(src, { withFileTypes: true });
|
|
18
|
+
for (const entry of entries) {
|
|
19
|
+
if (SKIP.has(entry.name)) continue;
|
|
20
|
+
const srcPath = path.join(src, entry.name);
|
|
21
|
+
const destPath = path.join(dest, entry.name);
|
|
22
|
+
if (entry.isDirectory()) {
|
|
23
|
+
copyDirSync(srcPath, destPath);
|
|
24
|
+
} else {
|
|
25
|
+
fs.copyFileSync(srcPath, destPath);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
function targetPluginDir() {
|
|
31
|
+
return process.env.LIVEPILOT_CODEX_PLUGIN_PATH || DEFAULT_PLUGIN_DIR;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
function marketplacePath() {
|
|
35
|
+
return process.env.LIVEPILOT_CODEX_MARKETPLACE_PATH || DEFAULT_MARKETPLACE_PATH;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
function loadManifest() {
|
|
39
|
+
if (!fs.existsSync(SOURCE_MANIFEST)) {
|
|
40
|
+
throw new Error(`Codex plugin manifest not found at ${SOURCE_MANIFEST}`);
|
|
41
|
+
}
|
|
42
|
+
return JSON.parse(fs.readFileSync(SOURCE_MANIFEST, "utf-8"));
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
function ensureMarketplace(pluginName) {
|
|
46
|
+
const file = marketplacePath();
|
|
47
|
+
let marketplace = {
|
|
48
|
+
name: "local-plugins",
|
|
49
|
+
interface: { displayName: "Local Plugins" },
|
|
50
|
+
plugins: [],
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
if (fs.existsSync(file)) {
|
|
54
|
+
const raw = JSON.parse(fs.readFileSync(file, "utf-8"));
|
|
55
|
+
marketplace = {
|
|
56
|
+
name: raw.name || marketplace.name,
|
|
57
|
+
interface: raw.interface || marketplace.interface,
|
|
58
|
+
plugins: Array.isArray(raw.plugins) ? raw.plugins : [],
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
const entry = {
|
|
63
|
+
name: pluginName,
|
|
64
|
+
source: {
|
|
65
|
+
source: "local",
|
|
66
|
+
path: `./plugins/${pluginName}`,
|
|
67
|
+
},
|
|
68
|
+
policy: {
|
|
69
|
+
installation: "AVAILABLE",
|
|
70
|
+
authentication: "ON_INSTALL",
|
|
71
|
+
},
|
|
72
|
+
category: "Integration",
|
|
73
|
+
};
|
|
74
|
+
|
|
75
|
+
const idx = marketplace.plugins.findIndex((plugin) => plugin && plugin.name === pluginName);
|
|
76
|
+
if (idx >= 0) {
|
|
77
|
+
marketplace.plugins[idx] = entry;
|
|
78
|
+
} else {
|
|
79
|
+
marketplace.plugins.push(entry);
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
fs.mkdirSync(path.dirname(file), { recursive: true });
|
|
83
|
+
fs.writeFileSync(file, JSON.stringify(marketplace, null, 2) + "\n");
|
|
84
|
+
return file;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
function removeMarketplaceEntry(pluginName) {
|
|
88
|
+
const file = marketplacePath();
|
|
89
|
+
if (!fs.existsSync(file)) {
|
|
90
|
+
return null;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
const raw = JSON.parse(fs.readFileSync(file, "utf-8"));
|
|
94
|
+
const marketplace = {
|
|
95
|
+
name: raw.name || "local-plugins",
|
|
96
|
+
interface: raw.interface || { displayName: "Local Plugins" },
|
|
97
|
+
plugins: Array.isArray(raw.plugins) ? raw.plugins.filter((plugin) => plugin && plugin.name !== pluginName) : [],
|
|
98
|
+
};
|
|
99
|
+
fs.writeFileSync(file, JSON.stringify(marketplace, null, 2) + "\n");
|
|
100
|
+
return file;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
function installCodexPlugin() {
|
|
104
|
+
const manifest = loadManifest();
|
|
105
|
+
const pluginName = manifest.name || "livepilot";
|
|
106
|
+
const destDir = targetPluginDir();
|
|
107
|
+
const marketFile = ensureMarketplace(pluginName);
|
|
108
|
+
|
|
109
|
+
console.log("Installing LivePilot Codex plugin...");
|
|
110
|
+
console.log(" Source: %s", SOURCE_DIR);
|
|
111
|
+
console.log(" Target: %s", destDir);
|
|
112
|
+
console.log(" Marketplace: %s", marketFile);
|
|
113
|
+
console.log("");
|
|
114
|
+
|
|
115
|
+
fs.mkdirSync(path.dirname(destDir), { recursive: true });
|
|
116
|
+
fs.rmSync(destDir, { recursive: true, force: true });
|
|
117
|
+
copyDirSync(SOURCE_DIR, destDir);
|
|
118
|
+
|
|
119
|
+
console.log("Done! Next steps:");
|
|
120
|
+
console.log(" 1. Open or refresh Codex");
|
|
121
|
+
console.log(" 2. Check that LivePilot appears in Local Plugins");
|
|
122
|
+
console.log(" 3. Start a new thread or reload tools if Codex was already open");
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
function uninstallCodexPlugin() {
|
|
126
|
+
const manifest = loadManifest();
|
|
127
|
+
const pluginName = manifest.name || "livepilot";
|
|
128
|
+
const destDir = targetPluginDir();
|
|
129
|
+
const marketFile = removeMarketplaceEntry(pluginName);
|
|
130
|
+
|
|
131
|
+
if (fs.existsSync(destDir)) {
|
|
132
|
+
console.log("Removing Codex plugin: %s", destDir);
|
|
133
|
+
fs.rmSync(destDir, { recursive: true, force: true });
|
|
134
|
+
} else {
|
|
135
|
+
console.log("Codex plugin not found at %s", destDir);
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
if (marketFile) {
|
|
139
|
+
console.log("Updated marketplace: %s", marketFile);
|
|
140
|
+
}
|
|
141
|
+
console.log("Restart or refresh Codex to remove the plugin from the UI.");
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
module.exports = {
|
|
145
|
+
installCodexPlugin,
|
|
146
|
+
uninstallCodexPlugin,
|
|
147
|
+
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "livepilot",
|
|
3
|
-
"version": "1.
|
|
4
|
-
"description": "Agentic production system for Ableton Live 12 —
|
|
3
|
+
"version": "1.10.0",
|
|
4
|
+
"description": "Agentic production system for Ableton Live 12 — 316 tools, 43 domains, device atlas, sample intelligence, auto-composition, spectral perception, technique memory, neo-Riemannian harmony, Euclidean rhythm, species counterpoint, MIDI I/O",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Pilot Studio"
|
|
7
7
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "livepilot",
|
|
3
|
-
"version": "1.
|
|
4
|
-
"description": "Agentic production system for Ableton Live 12 —
|
|
3
|
+
"version": "1.10.0",
|
|
4
|
+
"description": "Agentic production system for Ableton Live 12 — 316 tools, 43 domains, device atlas, sample intelligence, auto-composition, spectral perception, technique memory, neo-Riemannian harmony, Euclidean rhythm, species counterpoint, MIDI I/O",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Pilot Studio"
|
|
7
7
|
}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: livepilot-core
|
|
3
|
-
description: Core discipline for LivePilot — agentic production system for Ableton Live 12.
|
|
3
|
+
description: Core discipline for LivePilot — agentic production system for Ableton Live 12. 316 tools across 43 domains. This skill should be used whenever working with Ableton Live through MCP tools. Provides golden rules, tool speed tiers, error handling protocol, and pointers to domain and engine skills.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# LivePilot Core — Ableton Live 12
|
|
7
7
|
|
|
8
|
-
Agentic production system for Ableton Live 12.
|
|
8
|
+
Agentic production system for Ableton Live 12. 316 tools across 43 domains, three layers:
|
|
9
9
|
|
|
10
10
|
- **Device Atlas** — 280+ instruments, 139 drum kits, 350+ impulse responses. Consult `references/device-atlas/` before loading any device. Never guess a device name.
|
|
11
11
|
- **M4L Analyzer** — Real-time audio analysis on the master bus (8-band spectrum, RMS/peak, key detection). Optional — all core tools work without it.
|
|
@@ -39,7 +39,7 @@ Agentic production system for Ableton Live 12. 293 tools across 39 domains, thre
|
|
|
39
39
|
## Tool Speed Tiers
|
|
40
40
|
|
|
41
41
|
### Instant (<1s) — Use freely
|
|
42
|
-
All
|
|
42
|
+
All 316 tools plus M4L perception tools.
|
|
43
43
|
|
|
44
44
|
### Fast (1-5s) — Use freely
|
|
45
45
|
`analyze_loudness` · `analyze_mix` · `analyze_sound_design`
|
|
@@ -82,6 +82,23 @@ Three modes:
|
|
|
82
82
|
- Prefer Wonder when the user's request is emotionally-shaped, not parametric
|
|
83
83
|
- Load `livepilot-wonder` skill for full workflow guidance
|
|
84
84
|
|
|
85
|
+
## Creative Sound Design Knowledge
|
|
86
|
+
|
|
87
|
+
Before setting device parameters, consult the knowledge corpus for informed creative choices. Read the relevant file BEFORE making changes:
|
|
88
|
+
|
|
89
|
+
| User says | Read this file |
|
|
90
|
+
|-----------|---------------|
|
|
91
|
+
| "make it breathe" / "organic" / "alive" / "warm" / "cold" / "anxious" / "nostalgic" | `references/device-knowledge/creative-thinking.md` — emotional-to-technical mapping, physical world modeling |
|
|
92
|
+
| "what effect chain for [genre]" / "dub techno" / "trap" / "SOPHIE" / "Arca" / "ambient" | `references/device-knowledge/chains-genre.md` — complete chains per genre |
|
|
93
|
+
| "how to use Wavetable/Drift/Analog/Operator/Meld" | `references/device-knowledge/instruments-synths.md` — parameter-level recipes |
|
|
94
|
+
| "distortion" / "saturation" / "Roar" / "Saturator" / "Redux" | `references/device-knowledge/effects-distortion.md` — every curve type, creative applications |
|
|
95
|
+
| "reverb" / "delay" / "echo" / "space" / "dub" | `references/device-knowledge/effects-space.md` — dub recipes, shimmer chains |
|
|
96
|
+
| "spectral" / "Resonators" / "Corpus" / "Vocoder" / "weird" / "experimental" | `references/device-knowledge/effects-spectral.md` — drum-to-melody, cross-synthesis |
|
|
97
|
+
| "automate" / "evolve" / "arc" / "movement" / "filter sweep" | `references/device-knowledge/automation-as-music.md` — shapes, macro gestures, density mapping |
|
|
98
|
+
| "sound design" / "make it interesting" / "more complex" | `references/sound-design-deep.md` — master techniques from Villalobos, SOPHIE, Basic Channel |
|
|
99
|
+
|
|
100
|
+
**Rule:** Never set effect parameters from memory alone when the corpus has specific guidance. Read the file first, then apply the technique.
|
|
101
|
+
|
|
85
102
|
## Domain Skills
|
|
86
103
|
|
|
87
104
|
For domain-specific workflows, load the appropriate skill:
|
|
@@ -111,7 +128,7 @@ Deep production knowledge in `references/`:
|
|
|
111
128
|
|
|
112
129
|
| File | Content |
|
|
113
130
|
|------|---------|
|
|
114
|
-
| `references/overview.md` | All
|
|
131
|
+
| `references/overview.md` | All 316 tools with params and ranges |
|
|
115
132
|
| `references/device-atlas/` | 280+ device corpus with URIs and presets |
|
|
116
133
|
| `references/midi-recipes.md` | Drum patterns, chord voicings, humanization |
|
|
117
134
|
| `references/sound-design.md` | Synth recipes, device chain patterns |
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# Ableton Live 12 Device Knowledge Corpus
|
|
2
|
+
|
|
3
|
+
Comprehensive reference for every built-in instrument and effect in Ableton Live 12. Written for an AI production assistant — parameter-level understanding, creative applications, and techniques from experimental electronic music producers.
|
|
4
|
+
|
|
5
|
+
## How to Use This Corpus
|
|
6
|
+
|
|
7
|
+
This is not a manual. It's a **creative knowledge base**. When the user asks to "design a sound" or "make it more interesting," consult these references to find specific parameters and techniques that achieve the goal. Don't just reach for obvious parameters — think about how SOPHIE, Arca, Villalobos, Aphex Twin, or Basic Channel would approach the same problem.
|
|
8
|
+
|
|
9
|
+
## Files
|
|
10
|
+
|
|
11
|
+
### Instruments
|
|
12
|
+
- `instruments-synths.md` — Wavetable, Drift, Analog, Operator, Meld (synthesis engines)
|
|
13
|
+
- `instruments-physical.md` — Collision, Tension, Electric (physical modeling)
|
|
14
|
+
- `instruments-samplers.md` — Simpler, Sampler, Drum Rack, Drum Sampler
|
|
15
|
+
|
|
16
|
+
### Effects — Processing
|
|
17
|
+
- `effects-dynamics.md` — Compressor, Glue Compressor, Multiband Dynamics, Limiter, Gate, Color Limiter
|
|
18
|
+
- `effects-eq-filter.md` — EQ Eight, EQ Three, Auto Filter, Channel EQ
|
|
19
|
+
- `effects-distortion.md` — Saturator, Roar, Overdrive, Pedal, Amp, Cabinet, Erosion, Redux, Vinyl Distortion, Dynamic Tube, Drum Buss
|
|
20
|
+
|
|
21
|
+
### Effects — Space & Time
|
|
22
|
+
- `effects-reverb.md` — Reverb, Convolution Reverb, Hybrid Reverb
|
|
23
|
+
- `effects-delay.md` — Delay, Echo, Grain Delay
|
|
24
|
+
- `effects-modulation.md` — Chorus-Ensemble, Phaser-Flanger, Frequency Shifter, Shifter, Auto Pan-Tremolo
|
|
25
|
+
|
|
26
|
+
### Effects — Spectral & Experimental
|
|
27
|
+
- `effects-spectral.md` — Spectral Resonator, Spectral Time, Spectral Blur, Resonators, Corpus, Vocoder
|
|
28
|
+
|
|
29
|
+
### Creative Chains
|
|
30
|
+
- `chains-genre.md` — Effect chain blueprints by genre (dub techno, trap, SOPHIE-style, ambient, experimental)
|
|
31
|
+
- `chains-technique.md` — Technique-specific chains (parallel processing, creative sidechain, feedback loops, resampling workflows)
|
|
32
|
+
|
|
33
|
+
### Artist Techniques
|
|
34
|
+
- `artist-techniques.md` — How specific artists use Ableton's built-in devices (researched from interviews, tutorials, and analysis)
|
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
# Automation as Music — The Art of Parameter Performance
|
|
2
|
+
|
|
3
|
+
The greatest electronic musicians don't play notes — they play parameters. A filter cutoff automated over 64 bars IS the melody. A reverb send thrown open for one beat IS the harmony. The difference between a demo and a masterpiece is often not the sounds — it's the automation.
|
|
4
|
+
|
|
5
|
+
## The Fundamental Principle
|
|
6
|
+
|
|
7
|
+
**A static parameter is a dead parameter.** In acoustic music, every note is different — the player's breath, touch, and emotion create micro-variations. In electronic music, those variations must be created deliberately through automation. Every important parameter should move, even if only by 2-3%.
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Part 1: Automation Shapes and What They Mean Musically
|
|
12
|
+
|
|
13
|
+
### Linear Ramps
|
|
14
|
+
A straight line from value A to value B. The simplest shape. Use for:
|
|
15
|
+
- **Build-ups:** Filter cutoff rising linearly over 16-32 bars before a drop
|
|
16
|
+
- **Fade outs:** Volume decreasing to zero over 8-16 bars
|
|
17
|
+
- **Limitation:** Linear ramps feel mechanical. Always prefer curves for musical expression.
|
|
18
|
+
|
|
19
|
+
### Exponential Curves
|
|
20
|
+
Slow start, accelerating change. Mimics how tension works in music — the last 4 bars contain more change than the first 12. Use for:
|
|
21
|
+
- **Dramatic filter sweeps** — the ear perceives exponential change as "building"
|
|
22
|
+
- **Reverb tail growth** — send level increasing exponentially creates "swelling space"
|
|
23
|
+
- **Key insight:** Human perception of loudness is logarithmic, so exponential volume changes feel linear. Linear volume fades feel like they get quiet too fast at first.
|
|
24
|
+
|
|
25
|
+
### S-Curves
|
|
26
|
+
Slow start, fast middle, slow end. The most natural shape for transitions. Use for:
|
|
27
|
+
- **Crossfades between elements** — one fades out as another fades in
|
|
28
|
+
- **Filter sweeps that "settle"** — opens quickly in the middle, then gently arrives at target
|
|
29
|
+
- **The Villalobos transition:** S-curve on multiple parameters simultaneously over 32 bars
|
|
30
|
+
|
|
31
|
+
### Perlin Noise
|
|
32
|
+
Smooth, organic randomness. Each value is related to the previous one (no sudden jumps) but the path is unpredictable. Use for:
|
|
33
|
+
- **Filter cutoff drift** — sounds like a hand slowly exploring a knob
|
|
34
|
+
- **Send level breathing** — reverb/delay amount fluctuates organically
|
|
35
|
+
- **Oscillator detune wandering** — pitch instability that feels analog
|
|
36
|
+
- **Key insight:** Perlin noise at 0.05-0.2 Hz is below conscious perception. The listener feels "alive" without knowing why.
|
|
37
|
+
|
|
38
|
+
### Brownian Motion
|
|
39
|
+
Random walk — each step is small but the cumulative drift can be large. More unpredictable than Perlin. Use for:
|
|
40
|
+
- **Very slow parameter evolution** over minutes — the sound "wanders" like weather
|
|
41
|
+
- **Stereo field drifting** — pan automation that meanders rather than oscillates
|
|
42
|
+
- **Combined with manual override:** Set Brownian as a baseline, then make manual adjustments on top
|
|
43
|
+
|
|
44
|
+
### Step Automation
|
|
45
|
+
Discrete jumps between values. The opposite of smooth. Use for:
|
|
46
|
+
- **Rhythmic gating** — volume steps creating on/off patterns (trance gate effect)
|
|
47
|
+
- **Filter steps** — different cutoff per beat for rhythmic timbral changes
|
|
48
|
+
- **The glitch technique:** Very fast steps (32nd or 64th note rate) on multiple parameters simultaneously = controlled chaos
|
|
49
|
+
|
|
50
|
+
### Sawtooth / Triangle Automation
|
|
51
|
+
Repeating rise-and-fall patterns. Use for:
|
|
52
|
+
- **Pseudo-LFO on parameters that don't have built-in modulation** — draw a triangle on track volume for tremolo
|
|
53
|
+
- **Rising sawtooth on filter** — creates repetitive filter sweeps that reset every bar (trance/acid)
|
|
54
|
+
- **Asymmetric saw:** Fast rise, slow fall = different musical effect than slow rise, fast fall
|
|
55
|
+
|
|
56
|
+
---
|
|
57
|
+
|
|
58
|
+
## Part 2: What to Automate (Beyond the Obvious)
|
|
59
|
+
|
|
60
|
+
Most producers only automate volume, pan, and filter cutoff. The masters automate everything.
|
|
61
|
+
|
|
62
|
+
### Send Levels (The Dub Producer's Instrument)
|
|
63
|
+
- **Reverb send throws** — 0→70% for half a beat, then back to 0. The element stabs into the reverb space and the tail fills the gap. King Tubby, Lee "Scratch" Perry, and Basic Channel all treat the send knob as a performance instrument.
|
|
64
|
+
- **Delay send rhythmic patterns** — automate the send in a rhythmic pattern (not on every beat, but on specific accents). This creates a call-and-response between the dry and wet signals.
|
|
65
|
+
- **Cross-send modulation** — automate Send A (reverb) going UP while Send B (delay) goes DOWN over 16 bars, then reverse. The spatial character morphs from "room" to "echo" and back.
|
|
66
|
+
|
|
67
|
+
### Filter Resonance (Not Just Cutoff)
|
|
68
|
+
- **Resonance alone** without moving cutoff — creates a subtle "emphasis" that brightens and thins the sound at the current cutoff point. Automate 15-40% range.
|
|
69
|
+
- **Resonance spikes** — brief 0→80% resonance for 1 beat creates a "ring" or "ping" at the filter frequency. Musical accent.
|
|
70
|
+
- **Counter-motion:** Cutoff goes down while resonance goes up — the sound gets darker but the filter "screams" more. Creates tension.
|
|
71
|
+
|
|
72
|
+
### Distortion Parameters
|
|
73
|
+
- **Saturator Drive automated with the beat** — drive increases on beats 2 and 4 = the mix gets grittier on the snare hits. Pull back on beats 1 and 3 for the kick to stay clean.
|
|
74
|
+
- **Roar stage mix** — in Parallel mode, automate the balance between stages. Stage 1 (clean tube) dominant in verses, Stage 2 (aggressive) dominant in choruses.
|
|
75
|
+
- **Erosion Amount as texture evolution** — slowly increase Erosion over a 64-bar section. The sound gradually degrades from pristine to lo-fi. The listener doesn't notice the transition — they just feel the vibe shift.
|
|
76
|
+
|
|
77
|
+
### Reverb Internal Parameters
|
|
78
|
+
- **Decay Time automation** — short decay (1s) during busy sections for clarity, long decay (5-8s) during breakdowns for depth. The room "breathes" with the arrangement.
|
|
79
|
+
- **Reverb Freeze** — automate on/off. Freeze captures the current reverb tail as a drone. Use at section transitions: Freeze ON for 4 bars during breakdown, OFF when the beat returns.
|
|
80
|
+
- **Diffusion** — low diffusion during rhythmic sections (you hear distinct echoes), high diffusion during ambient sections (smooth wash). The reverb character matches the musical energy.
|
|
81
|
+
- **Pre-delay** — increase pre-delay during loud sections (separates reverb from source for clarity), decrease during quiet sections (source and reverb merge into one).
|
|
82
|
+
|
|
83
|
+
### Delay Internal Parameters
|
|
84
|
+
- **Feedback modulation** — push to 85% for 2 beats then pull to 50%. Creates a momentary feedback spiral that self-limits. The Dub Siren technique.
|
|
85
|
+
- **Delay Time (in Repitch mode)** — changing delay time pitches the echoes. Automate a slow sweep (±10% over 8 bars) for warped, wow-and-flutter echoes. Basic Channel signature.
|
|
86
|
+
- **Filter inside the delay** — automate the delay's internal filter cutoff. Each echo gets progressively darker (or brighter). Creates a natural "fading into distance" effect.
|
|
87
|
+
- **Mod Freq + Dly < Mod** — automate the modulation amount. During sparse sections, increase modulation for wobbly, organic echoes. During dense sections, reduce for cleaner timing.
|
|
88
|
+
|
|
89
|
+
### Synthesis Parameters You Might Not Think to Automate
|
|
90
|
+
- **Wavetable Position** — LFO is obvious, but manually drawn automation tells a specific timbral story. Draw the position to follow the emotional arc: brighter wavetable positions during peaks, darker during valleys.
|
|
91
|
+
- **FM Amount (Operator)** — automate the modulator level. Low during pads, spike during stabs, medium during leads. The harmonic complexity follows the musical tension.
|
|
92
|
+
- **Oscillator feedback** — in Operator, automate feedback 10-40% range. Creates a sound that morphs from pure (low feedback) to gritty (high feedback) over time.
|
|
93
|
+
- **Drift amount** — in Drift synth, automate the Drift parameter itself. Low Drift during precise sections, high Drift during loose, organic sections.
|
|
94
|
+
- **Unison Amount** (Wavetable) — automate 0→50% over a build-up. The sound literally "widens and thickens" as the section grows. Return to 0 for a sudden "focused" impact.
|
|
95
|
+
|
|
96
|
+
### Rack Chain Volumes
|
|
97
|
+
- **Audio Effect Rack with multiple chains** — automate the chain selector or individual chain volumes to morph between completely different effect configurations. Chain 1: clean reverb. Chain 2: distorted delay. Chain 3: granular destruction. Crossfade between them = the sound evolves through processing states.
|
|
98
|
+
- **Instrument Rack layers** — automate the chain volumes of a layered synth. Start with only the sub layer audible, gradually bring in the mid layer, then the bright layer. The sound "unfolds" from bottom to top.
|
|
99
|
+
|
|
100
|
+
---
|
|
101
|
+
|
|
102
|
+
## Part 3: Multi-Parameter Automation (The Macro Gesture)
|
|
103
|
+
|
|
104
|
+
The most powerful automation isn't on single parameters — it's on coordinated groups that create a single musical gesture.
|
|
105
|
+
|
|
106
|
+
### The "Open Up" Gesture
|
|
107
|
+
Simultaneously automate over 8-16 bars:
|
|
108
|
+
- Filter cutoff: 30% → 65%
|
|
109
|
+
- Filter resonance: 15% → 30%
|
|
110
|
+
- Reverb send: 25% → 45%
|
|
111
|
+
- Stereo width (or pan spread): narrow → wide
|
|
112
|
+
- **Musical meaning:** The sound "opens up" — goes from closed/intimate to wide/expansive. Use at the transition from verse to chorus, from build to drop.
|
|
113
|
+
|
|
114
|
+
### The "Submerge" Gesture
|
|
115
|
+
Simultaneously automate over 16-32 bars:
|
|
116
|
+
- Filter cutoff: 65% → 25%
|
|
117
|
+
- Reverb decay: 3s → 8s
|
|
118
|
+
- Delay feedback: 40% → 70%
|
|
119
|
+
- Volume: 0dB → -6dB
|
|
120
|
+
- Erosion amount: 0% → 15%
|
|
121
|
+
- **Musical meaning:** The sound "submerges" — sinks into depth and distance. Use at the transition into a breakdown or outro.
|
|
122
|
+
|
|
123
|
+
### The "WTF" Gesture (2-4 beats only)
|
|
124
|
+
Simultaneously snap:
|
|
125
|
+
- Reverb send: 0% → 100% (everything washes out)
|
|
126
|
+
- Delay feedback: 50% → 95% (echoes spiral)
|
|
127
|
+
- Filter cutoff: current → fully open
|
|
128
|
+
- Then ALL snap back to normal after 2-4 beats
|
|
129
|
+
- **Musical meaning:** A moment of chaos that instantly resolves. The listener's brain says "what was THAT?" and re-engages attention.
|
|
130
|
+
|
|
131
|
+
### The "Human Hand" Technique
|
|
132
|
+
Record automation live (via mouse or MIDI controller) instead of drawing it. The tiny timing imperfections and non-mathematical curves create a fundamentally different feel than drawn automation. Then edit the recording — smooth the extreme mistakes but keep the organic character.
|
|
133
|
+
|
|
134
|
+
This is how Villalobos works live: filter sweeps are performed, not drawn. The audience feels the human gesture even when they can't see the performer.
|
|
135
|
+
|
|
136
|
+
---
|
|
137
|
+
|
|
138
|
+
## Part 4: Automation Density by Section
|
|
139
|
+
|
|
140
|
+
Different parts of a track need different automation density:
|
|
141
|
+
|
|
142
|
+
### Intro (sparse automation)
|
|
143
|
+
- 1-2 parameters moving slowly (filter, reverb send)
|
|
144
|
+
- Very slow rates (0.05-0.1 Hz effective rate)
|
|
145
|
+
- Purpose: establish mood, create anticipation
|
|
146
|
+
|
|
147
|
+
### Build-Up (increasing density)
|
|
148
|
+
- 3-5 parameters, all moving in the same "opening" direction
|
|
149
|
+
- Exponential curves — change accelerates
|
|
150
|
+
- Purpose: create tension and forward momentum
|
|
151
|
+
|
|
152
|
+
### Peak/Drop (maximum density)
|
|
153
|
+
- 5-8 parameters all active
|
|
154
|
+
- Mix of slow sweeps and rhythmic modulation
|
|
155
|
+
- Send throws, filter accents, distortion spikes
|
|
156
|
+
- Purpose: maximum energy and interest
|
|
157
|
+
|
|
158
|
+
### Breakdown (sudden reduction)
|
|
159
|
+
- Drop to 1-2 parameters
|
|
160
|
+
- Very slow, gentle movement
|
|
161
|
+
- Purpose: contrast, breathing room, emotional reset
|
|
162
|
+
|
|
163
|
+
### Outro (mirror of intro)
|
|
164
|
+
- Gradually reduce automation density
|
|
165
|
+
- Parameters return to starting values (or close)
|
|
166
|
+
- The final automation move should be the filter closing to its lowest point
|
|
167
|
+
- Purpose: the sound "returns to where it started" — cyclical, complete
|
|
168
|
+
|
|
169
|
+
---
|
|
170
|
+
|
|
171
|
+
## Part 5: Learning from the Masters
|
|
172
|
+
|
|
173
|
+
### Villalobos: Filter as Melody
|
|
174
|
+
Ricardo Villalobos automates a single lowpass filter on a pad for 8+ minutes. The filter IS the melody — it opens to reveal harmonics, closes to create tension, breathes with the groove. He never draws automation — he performs it live, which gives each performance unique character. The filter rarely moves by more than 5-10% at a time, but over 8 minutes it covers the full range.
|
|
175
|
+
|
|
176
|
+
### Basic Channel: Space as Composition
|
|
177
|
+
Mark Ernestus and Moritz von Oswald automate delay send levels, delay feedback, and reverb sends as their primary compositional tool. A chord stab enters the delay at 70% feedback — the echoes build up, creating a harmonic cloud. Then the feedback drops to 40% — the cloud thins and the next stab enters. The delay IS the arrangement.
|
|
178
|
+
|
|
179
|
+
### Aphex Twin: Parameter Density
|
|
180
|
+
Richard D. James automates dozens of parameters simultaneously at very high speed (32nd note and faster). Filter cutoffs, oscillator frequencies, effect parameters all changing independently at different rates create the "impossible complexity" that defines his sound. The key: each parameter has its own automation rate, and the rates are intentionally non-related (no multiples). This creates ever-evolving patterns that never exactly repeat.
|
|
181
|
+
|
|
182
|
+
### SOPHIE: Extreme Parameter Snapshots
|
|
183
|
+
SOPHIE's technique was to set up a sound, then rapidly switch between extreme parameter configurations — like snapshots. Filter fully open → fully closed in one beat. Distortion zero → maximum in one step. No smooth transitions — pure contrast. This creates the "hyperplastic" character: sounds that feel like they're being molded by an invisible force.
|
|
184
|
+
|
|
185
|
+
### Boards of Canada: Decay as Atmosphere
|
|
186
|
+
Marcus Eoin and Michael Sandison automate parameters to simulate degradation: filter slowly closing over minutes (tape getting worn), Vinyl Distortion amount slowly increasing (record deteriorating), subtle pitch detune growing (tape machine dying). The music doesn't just play — it deteriorates, creating the nostalgic feeling of listening to something from the past.
|
|
187
|
+
|
|
188
|
+
### Amon Tobin: Micro-Edit as Expression
|
|
189
|
+
Amon Tobin automates at the sample level — chopping, reordering, and processing tiny fragments of audio with rapidly changing effects. Each 16th note might have a different filter setting, different reverb amount, different distortion level. The automation IS the rhythm.
|
|
190
|
+
|
|
191
|
+
---
|
|
192
|
+
|
|
193
|
+
## Part 6: Wonder Mode Automation Intelligence
|
|
194
|
+
|
|
195
|
+
When Wonder Mode generates variants, the automation layer is what separates "a clip arrangement" from "a musical journey." Every Wonder variant should include:
|
|
196
|
+
|
|
197
|
+
1. **Filter arc** — at minimum, one element's filter should evolve over the full track length
|
|
198
|
+
2. **Space arc** — reverb/delay sends should breathe with the arrangement density
|
|
199
|
+
3. **Micro-modulation** — every sustained sound should have sub-perceptual LFO on at least one parameter
|
|
200
|
+
4. **2-3 macro gestures** — coordinated multi-parameter moves at section transitions
|
|
201
|
+
5. **1-2 WTF moments** — brief parameter disruptions that break and re-establish the hypnosis
|
|
202
|
+
6. **Temporal density mapping** — automation density should follow the arrangement energy (sparse in intro/outro, dense at peaks)
|
|
203
|
+
|
|
204
|
+
The automation is not optional garnish — it is the primary vehicle for musical expression in electronic music. A perfectly arranged track with no automation is a skeleton. The automation is the flesh, the breath, and the soul.
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
# Genre-Specific Effect Chains & Artist Techniques
|
|
2
|
+
|
|
3
|
+
## Dub Techno (Basic Channel, Deepchord, Echospace)
|
|
4
|
+
|
|
5
|
+
### The Dub Chord (fundamental technique)
|
|
6
|
+
1. **Source:** Analog or Drift — short chord stab (attack 0ms, decay 80-150ms, sustain 20%)
|
|
7
|
+
2. **Filter:** Lowpass at 300-600Hz (dark, submerged)
|
|
8
|
+
3. **Echo:** Ping Pong, 3/16 time, Feedback 65-75%, Repitch mode, Wobble 15%
|
|
9
|
+
4. **Reverb:** (on return) Decay 5-8s, Chorus 0.02Hz, ER Spin 0.2Hz
|
|
10
|
+
5. **The key:** The delay tail IS the pad. The source stab is just the trigger. Open the delay filter slowly over 32 bars — the chord "wakes up."
|
|
11
|
+
|
|
12
|
+
### The Dusty Loop
|
|
13
|
+
1. **Drum source** → Vinyl Distortion (Tracing 20%, Crackle 8%)
|
|
14
|
+
2. → Auto Filter (Lowpass, 4kHz, Res 15%, LFO at 0.08Hz depth 10%)
|
|
15
|
+
3. → Reverb send (35-45%) with long decay
|
|
16
|
+
4. → Result: Drums sound like they're playing on a worn record in a concrete room
|
|
17
|
+
|
|
18
|
+
### The Sub Breath
|
|
19
|
+
1. **Analog:** Sine osc, -2 octave, mono, glide ON
|
|
20
|
+
2. **F1:** LP24, Freq 28%, F1 Freq < Env 30%, Fast attack, 200ms decay
|
|
21
|
+
3. → Drum Buss (Boom at 60%, Freq 52Hz)
|
|
22
|
+
4. → Saturator (Analog Clip, Drive 5dB)
|
|
23
|
+
5. → Result: Sub bass that "breathes" — each note has a momentary brightness then settles into deep sub
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
## Minimal Techno (Villalobos, Perlon, Kompakt)
|
|
28
|
+
|
|
29
|
+
### Micro-Groove Percussion
|
|
30
|
+
1. **Operator:** Algorithm 1, Osc A Sine 8bit, Osc B Sine Coarse 5 Fine 70
|
|
31
|
+
2. Short envelopes (30-80ms decay on all)
|
|
32
|
+
3. Pitch Env: +12st, 15ms decay
|
|
33
|
+
4. → Erosion (12%, 8kHz) — adds digital texture
|
|
34
|
+
5. → Auto Filter (Bandpass, 1.5kHz, Res 40%, LFO at 0.1Hz depth 8%)
|
|
35
|
+
6. **Sequence:** Off-grid 32nd notes with varying velocity (40-100)
|
|
36
|
+
7. **Pan:** Random per hit (±30%)
|
|
37
|
+
|
|
38
|
+
### The Organic Filter Sweep
|
|
39
|
+
1. **Any pad or texture** → Auto Filter (Lowpass, OSR circuit)
|
|
40
|
+
2. Freq: Automated with Perlin/brownian noise curve over 32-64 bars
|
|
41
|
+
3. Res: 35-50% (enough to hear the sweep, not enough to ring)
|
|
42
|
+
4. Env Amount: 15-25% (filter follows the input dynamics slightly)
|
|
43
|
+
5. **LFO:** 0.05-0.15 Hz, Amount 8-12% (micro-breathing on top of the macro sweep)
|
|
44
|
+
6. **Result:** A filter movement that feels like a human hand slowly turning a knob — not a computer drawing a line
|
|
45
|
+
|
|
46
|
+
---
|
|
47
|
+
|
|
48
|
+
## SOPHIE / PC Music / Hyperpop
|
|
49
|
+
|
|
50
|
+
### The Plastic Bass
|
|
51
|
+
1. **Wavetable:** Digital wavetable, Position 80%, Osc Effect = Sync at 60%
|
|
52
|
+
2. Filter: Lowpass, OSR circuit, Freq 50%, Res 65%
|
|
53
|
+
3. Pitch Env: +24st, Decay 40-60ms (the "zap")
|
|
54
|
+
4. → Saturator (Sinoid Fold, Drive 15-20dB, Color +30%)
|
|
55
|
+
5. → Erosion (Wide Noise, 25%, Freq 6kHz)
|
|
56
|
+
6. → Redux (Bit 8, Sample Rate 4x) at Dry/Wet 25%
|
|
57
|
+
7. **Result:** Bubbly, metallic, hyperreal bass that sounds like liquid plastic
|
|
58
|
+
|
|
59
|
+
### The Maximal OTT Wall
|
|
60
|
+
1. **Any synth chord** → Multiband Dynamics (OTT preset)
|
|
61
|
+
2. Stack 10-30 instances (yes, really)
|
|
62
|
+
3. Insert different effects between some instances:
|
|
63
|
+
- Between #5 and #6: Phaser-Flanger (Phaser mode, Rate 0.3Hz)
|
|
64
|
+
- Between #15 and #16: Chorus-Ensemble (Rate 0.5Hz)
|
|
65
|
+
- Between #20 and #21: Frequency Shifter (Ring mode, 1.5Hz)
|
|
66
|
+
4. Record the output as audio
|
|
67
|
+
5. **Use the audio as source material** — chop, pitch, filter, process further
|
|
68
|
+
6. This creates sounds that literally cannot be designed any other way
|
|
69
|
+
|
|
70
|
+
### SOPHIE Distortion Chain
|
|
71
|
+
1. **Source:** Simple sine wave at bass frequencies
|
|
72
|
+
2. → Saturator (Sinoid Fold, Drive 18dB)
|
|
73
|
+
3. → Roar (Multiband: Low=Tube 40%, Mid=Feedback 50%, High=BitReduce 30%)
|
|
74
|
+
4. → Compressor (Fast attack, fast release — glues the chaos)
|
|
75
|
+
5. → Auto Filter (Lowpass 3kHz, Res 50%, LFO 2Hz at 20%)
|
|
76
|
+
6. **Result:** The simple sine becomes a living, morphing, metallic entity
|
|
77
|
+
|
|
78
|
+
---
|
|
79
|
+
|
|
80
|
+
## Arca / Experimental / Deconstructed
|
|
81
|
+
|
|
82
|
+
### Warped Texture (Simpler stretch technique)
|
|
83
|
+
1. Load ANY sample into Simpler → Switch to **Texture** mode
|
|
84
|
+
2. Set Grain size to minimum, Flux to 50-80%
|
|
85
|
+
3. Transpose ±12-24 semitones (extreme pitch shift)
|
|
86
|
+
4. → Saturator (Soft Sine, 10-15dB)
|
|
87
|
+
5. → Spectral Resonator (MIDI-controlled, Decay 300ms, Stretch 70%)
|
|
88
|
+
6. → Grain Delay (Pitch -7, Spray 60ms, Feedback 55%)
|
|
89
|
+
7. **Result:** Any source material becomes an alien, warped, pitched texture
|
|
90
|
+
|
|
91
|
+
### Glitch Percussion
|
|
92
|
+
1. **Operator:** Very short envelopes (5-30ms), multiple FM oscillators
|
|
93
|
+
2. → Beat Repeat (1/32 or 1/64 interval, Chance 40%, Variation 60%)
|
|
94
|
+
3. → Redux (Bit 6, Sample 4x, Dry/Wet 40%)
|
|
95
|
+
4. → Grain Delay (very short time, Pitch ±random, Spray 30ms)
|
|
96
|
+
5. Play rapid 64th note sequences with varying velocity
|
|
97
|
+
6. **Result:** Stuttering, bitcrushed, granular percussion clouds
|
|
98
|
+
|
|
99
|
+
---
|
|
100
|
+
|
|
101
|
+
## Trap / 808 / Brazilian Bass
|
|
102
|
+
|
|
103
|
+
### The Growling 808
|
|
104
|
+
1. **Operator:** Osc A = Sine, Coarse 1
|
|
105
|
+
2. AEG: Attack 0ms, Decay 1.9s, Sustain -10dB, Release 1.5s
|
|
106
|
+
3. Pitch Env: +24st peak, 50ms decay (the "hit")
|
|
107
|
+
4. Voices: 1 (Mono), Glide ON at 15%
|
|
108
|
+
5. → Pedal (Fuzz mode, Gain 35%, Sub ON)
|
|
109
|
+
6. → Saturator (Hard Curve, Drive 8dB)
|
|
110
|
+
7. → EQ Eight: HP at 30Hz (clean sub), gentle boost at 80-120Hz
|
|
111
|
+
8. **Result:** Fat sub with audible harmonics and the growl that cuts on small speakers
|
|
112
|
+
|
|
113
|
+
### The Multiband 808 (trap producer technique)
|
|
114
|
+
1. 808 source → Audio Effect Rack with two chains:
|
|
115
|
+
- Chain A: Utility (Mono) → nothing else (clean sub, mono below 120Hz)
|
|
116
|
+
- Chain B: EQ Eight (HP at 120Hz) → Chorus-Ensemble (subtle) → Delay (1ms L / 10ms R, 0% feedback, 100% wet — Haas effect for width)
|
|
117
|
+
2. Zone the chains: Chain A receives only frequencies below 120Hz, Chain B above
|
|
118
|
+
3. **Result:** Mono sub for club systems + wide harmonics for stereo interest
|
|
119
|
+
|
|
120
|
+
### Brazilian Bass (baile funk distortion)
|
|
121
|
+
1. **808 or sub bass** → Saturator (Digital Clip, Drive 12-18dB)
|
|
122
|
+
2. → Roar (Serial: Stage 1=Tube 40%, Stage 2=Gate 30%, Stage 3=Tube 20%)
|
|
123
|
+
3. → Compressor (aggressive — ratio 8:1, fast attack, auto release)
|
|
124
|
+
4. → Drum Buss (Drive 30%, Crunch Medium 50%, Boom 60% at 55Hz)
|
|
125
|
+
5. **Result:** Hyper-compressed, distorted, chest-rattling bass that's characteristic of Brazilian electronic music
|
|
126
|
+
|
|
127
|
+
---
|
|
128
|
+
|
|
129
|
+
## Ambient / Drone / Film Score
|
|
130
|
+
|
|
131
|
+
### The Infinite Shimmer
|
|
132
|
+
1. **Any source** → send to Return with:
|
|
133
|
+
2. Grain Delay (Pitch +12, Time 40ms, Feedback 75%, Spray 20ms)
|
|
134
|
+
3. → Reverb (Decay 8-12s, Diffusion 90%, Chorus ON at 0.03Hz)
|
|
135
|
+
4. → Auto Filter (Lowpass 4kHz, gentle slope — prevents shimmer from getting harsh)
|
|
136
|
+
5. Send at 30-40% — source stays dry, shimmer builds in the return
|
|
137
|
+
6. **Automate send** to increase over 32 bars — sound gradually dissolves into shimmer
|
|
138
|
+
|
|
139
|
+
### The Drone Machine
|
|
140
|
+
1. **Short percussive hit** → Spectral Blur (Full range, Halo 500ms+, Freeze ON)
|
|
141
|
+
2. → Resonators (tuned to root + fifth, Decay 2-5s)
|
|
142
|
+
3. → Reverb (Decay 10-15s, Freeze ON)
|
|
143
|
+
4. One hit becomes an infinite evolving drone
|
|
144
|
+
5. **Modulate** Spectral Blur Freeze on/off to capture new content periodically
|
|
145
|
+
|
|
146
|
+
### Film Score Tension
|
|
147
|
+
1. **Collision** (Mallet exciting Membrane, Decay 3-5s)
|
|
148
|
+
2. → Spectral Time (Spectral Delay, Tilt 40%, Spray 20%, Feedback 60%)
|
|
149
|
+
3. → Roar (Parallel: Stage 1=Feedback 20%, Stage 2=Dispersion 30%)
|
|
150
|
+
4. → Convolution Reverb with large hall IR
|
|
151
|
+
5. Play low, sparse notes — each one evolves into a complex, tense texture
|
|
152
|
+
6. **This is the Jason Graves technique** (Dead Space composer) for horror/tension scoring
|
|
153
|
+
|
|
154
|
+
---
|
|
155
|
+
|
|
156
|
+
## Warp Records / IDM (Aphex Twin, Autechre, Boards of Canada)
|
|
157
|
+
|
|
158
|
+
### The Aphex Glitch
|
|
159
|
+
1. **Any drum sample** → Load into Simpler (Classic mode)
|
|
160
|
+
2. Sequence with 64th and 128th notes (grid at minimum)
|
|
161
|
+
3. Vary velocity wildly (30-127)
|
|
162
|
+
4. → Beat Repeat (1/32, Grid 1/32, Chance 25%)
|
|
163
|
+
5. → Redux (Bit 8, Sample 8x, Dry/Wet 30%)
|
|
164
|
+
6. → Auto Pan (Rate synced to 1/16, Amount 80% — extreme panning)
|
|
165
|
+
7. **Result:** Rapid-fire, bitcrushed, spatially scattered percussion — the IDM signature
|
|
166
|
+
|
|
167
|
+
### Boards of Canada Nostalgia
|
|
168
|
+
1. **Any synth pad** → Vinyl Distortion (Tracing 30%, Crackle 15%, Pinch 10%)
|
|
169
|
+
2. → Auto Filter (Lowpass 3kHz, LFO 0.06Hz at 15% — very slow filter drift)
|
|
170
|
+
3. → Chorus-Ensemble (Rate 0.3Hz, Amount 30%, Dry/Wet 25%)
|
|
171
|
+
4. → Reverb (short decay 1.5s, high diffusion — tight room)
|
|
172
|
+
5. Detune the synth by 5-10 cents (deliberately out of tune)
|
|
173
|
+
6. **Result:** Warm, warbly, nostalgic pad that sounds like it was recorded on deteriorating tape in the 1970s
|