@mthines/reaper-mcp 0.19.0 → 0.70.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (116) hide show
  1. package/README.md +19 -570
  2. package/bridge-ui/mcp_bridge.html +129 -0
  3. package/bridge-ui/mcp_bridge.webmanifest +16 -0
  4. package/bridge-ui/mcp_bridge_icon_192.png +0 -0
  5. package/bridge-ui/mcp_bridge_icon_512.png +0 -0
  6. package/bridge-ui/mcp_bridge_sw.js +35 -0
  7. package/claude/agents/plugin-researcher.md +188 -0
  8. package/claude/knowledge/reference/aesthetics-scoring.md +48 -0
  9. package/{knowledge → claude/knowledge}/reference/common-mistakes.md +1 -1
  10. package/claude/knowledge/reference/lorekit-setup.md +36 -0
  11. package/claude/knowledge/reference/memory-protocol.md +377 -0
  12. package/{knowledge → claude/knowledge}/reference/metering.md +5 -5
  13. package/claude/knowledge/reference/perceived-loudness.md +182 -0
  14. package/{knowledge → claude/knowledge}/workflows/editing.md +4 -0
  15. package/{knowledge → claude/knowledge}/workflows/gain-staging.md +21 -23
  16. package/{knowledge → claude/knowledge}/workflows/learn-plugin.md +15 -48
  17. package/{knowledge → claude/knowledge}/workflows/master-bus.md +13 -1
  18. package/claude/knowledge/workflows/section-levels.md +138 -0
  19. package/{knowledge → claude/knowledge}/workflows/session-prep.md +4 -0
  20. package/claude/knowledge/workflows/transient-lighting.md +52 -0
  21. package/claude/skills/critique/SKILL.md +131 -0
  22. package/claude/skills/editing/SKILL.md +281 -0
  23. package/claude/skills/learn-plugin/SKILL.md +210 -0
  24. package/claude/skills/mastering/SKILL.md +151 -0
  25. package/claude/skills/mix-memory/SKILL.md +140 -0
  26. package/claude/skills/mixer/SKILL.md +253 -0
  27. package/claude/skills/new-extension/SKILL.md +324 -0
  28. package/main.js +7843 -1940
  29. package/package.json +17 -15
  30. package/reaper/CLAUDE.md +22 -4
  31. package/reaper/mcp_actions_lib.lua +375 -0
  32. package/reaper/mcp_analyzer.jsfx +27 -12
  33. package/reaper/mcp_arrange_lib.lua +949 -0
  34. package/reaper/mcp_bridge.lua +2321 -758
  35. package/reaper/mcp_edit_views_lib.lua +1378 -0
  36. package/reaper/mcp_envelopes_lib.lua +748 -0
  37. package/reaper/mcp_extensions_lib.lua +55 -0
  38. package/reaper/mcp_fxstate_lib.lua +144 -0
  39. package/reaper/mcp_gain_trace.jsfx +126 -0
  40. package/reaper/mcp_items_lib.lua +877 -0
  41. package/reaper/mcp_lufs_meter.jsfx +16 -13
  42. package/reaper/mcp_midi_lib.lua +555 -0
  43. package/reaper/mcp_mixing_lib.lua +1021 -0
  44. package/reaper/mcp_plan_lib.lua +801 -0
  45. package/reaper/mcp_prefs_lib.lua +127 -0
  46. package/reaper/mcp_project_lib.lua +1088 -0
  47. package/reaper/mcp_recording_lib.lua +595 -0
  48. package/reaper/mcp_render_lib.lua +492 -0
  49. package/reaper/mcp_snapshot_lib.lua +547 -120
  50. package/reaper/mcp_snapshot_next.lua +10 -4
  51. package/reaper/mcp_snapshot_prev.lua +11 -4
  52. package/reaper/mcp_snapshot_quick_save.lua +7 -32
  53. package/reaper/mcp_snapshots_ui_lib.lua +258 -0
  54. package/reaper/mcp_tracks_lib.lua +409 -0
  55. package/sidecar/analysis.py +661 -0
  56. package/sidecar/chords.py +96 -0
  57. package/sidecar/mixcheck.py +295 -0
  58. package/sidecar/requirements-chords.txt +6 -0
  59. package/sidecar/requirements-separation.txt +3 -0
  60. package/sidecar/requirements.txt +17 -0
  61. package/sidecar/separation.py +142 -0
  62. package/sidecar/server.py +622 -0
  63. package/sidecar/tests/test_analysis.py +249 -0
  64. package/sidecar/tests/test_chords.py +117 -0
  65. package/sidecar/tests/test_mixcheck.py +163 -0
  66. package/sidecar/tests/test_separation.py +73 -0
  67. package/sidecar/tests/test_server.py +464 -0
  68. package/sidecar/tests/test_verify.py +243 -0
  69. package/sidecar/tests/test_voice_render.py +268 -0
  70. package/sidecar/tests/test_voice_sketch.py +140 -0
  71. package/sidecar/verify.py +224 -0
  72. package/sidecar/voice_render.py +295 -0
  73. package/sidecar/voice_sketch.py +280 -0
  74. package/claude-agents/critique.md +0 -147
  75. package/claude-agents/editor.md +0 -184
  76. package/claude-agents/levels.md +0 -107
  77. package/claude-agents/mastering.md +0 -129
  78. package/claude-agents/mixer.md +0 -248
  79. package/claude-agents/preflight.md +0 -149
  80. package/claude-agents/producer.md +0 -159
  81. package/claude-agents/setup.md +0 -150
  82. package/claude-agents/stems.md +0 -135
  83. package/claude-rules/architecture.md +0 -39
  84. package/claude-rules/development.md +0 -54
  85. package/claude-rules/lua-bridge.md +0 -50
  86. package/claude-rules/testing.md +0 -42
  87. package/claude-skills/learn-plugin.md +0 -123
  88. package/knowledge/CLAUDE.md +0 -71
  89. package/knowledge/plugins/_template.md +0 -82
  90. package/knowledge/plugins/fabfilter/pro-c-2.md +0 -117
  91. package/knowledge/plugins/fabfilter/pro-l-2.md +0 -95
  92. package/knowledge/plugins/fabfilter/pro-q-3.md +0 -112
  93. package/knowledge/plugins/neural-dsp/helix-native.md +0 -104
  94. package/knowledge/plugins/stock-reaper/js-1175-compressor.md +0 -94
  95. package/knowledge/plugins/stock-reaper/rea-comp.md +0 -100
  96. package/knowledge/plugins/stock-reaper/rea-delay.md +0 -95
  97. package/knowledge/plugins/stock-reaper/rea-eq.md +0 -103
  98. package/knowledge/plugins/stock-reaper/rea-gate.md +0 -99
  99. package/knowledge/plugins/stock-reaper/rea-limit.md +0 -75
  100. package/knowledge/plugins/stock-reaper/rea-verb.md +0 -76
  101. package/knowledge/reference/perceived-loudness.md +0 -122
  102. package/reaper/mcp_snapshot_manager.lua +0 -1001
  103. /package/{knowledge → claude/knowledge}/genres/_template.md +0 -0
  104. /package/{knowledge → claude/knowledge}/genres/electronic.md +0 -0
  105. /package/{knowledge → claude/knowledge}/genres/hip-hop.md +0 -0
  106. /package/{knowledge → claude/knowledge}/genres/metal.md +0 -0
  107. /package/{knowledge → claude/knowledge}/genres/orchestral.md +0 -0
  108. /package/{knowledge → claude/knowledge}/genres/pop.md +0 -0
  109. /package/{knowledge → claude/knowledge}/genres/rock.md +0 -0
  110. /package/{knowledge → claude/knowledge}/reference/compression.md +0 -0
  111. /package/{knowledge → claude/knowledge}/reference/frequencies.md +0 -0
  112. /package/{knowledge → claude/knowledge}/workflows/delivery.md +0 -0
  113. /package/{knowledge → claude/knowledge}/workflows/drum-bus.md +0 -0
  114. /package/{knowledge → claude/knowledge}/workflows/low-end.md +0 -0
  115. /package/{knowledge → claude/knowledge}/workflows/stem-prep.md +0 -0
  116. /package/{knowledge → claude/knowledge}/workflows/vocal-chain.md +0 -0
@@ -1,123 +0,0 @@
1
- ---
2
- name: learn-plugin
3
- description: Interview the user about a plugin and generate a knowledge file for the mix agent
4
- ---
5
-
6
- # /learn-plugin
7
-
8
- This skill interviews the user about a plugin they want the mix agent to know about,
9
- then generates a properly formatted knowledge file and writes it to `knowledge/plugins/`.
10
-
11
- ## Trigger
12
-
13
- When the user types `/learn-plugin` or asks Claude to "learn about a plugin" or "add plugin knowledge".
14
-
15
- ## Instructions
16
-
17
- ### Step 1: Ask for the plugin name
18
-
19
- Start the conversation:
20
-
21
- > "What plugin would you like me to learn about? Tell me its name and what it does."
22
-
23
- Wait for the user's response.
24
-
25
- ### Step 2: Gather required information
26
-
27
- Ask these questions **one group at a time** (not all at once). Wait for each answer before proceeding.
28
-
29
- **Group A — Identification:**
30
- 1. "What is the plugin's full name as it appears in REAPER's FX browser? Copy it exactly — for example: `VST3: Pro-Q 3 (FabFilter)` or `JS: ReaEQ (Cockos)`."
31
- 2. "Are there any other names or variations it shows up as? (e.g., different between VST2/VST3, or different on Windows vs Mac)"
32
-
33
- **Group B — Categorization:**
34
- 3. "What category best describes this plugin?"
35
- - Present options: `eq`, `compressor`, `limiter`, `saturator`, `reverb`, `delay`, `gate`, `de-esser`, `amp-sim`, `channel-strip`, `analyzer`, `stereo-imager`, `multiband`, `pitch-correction`
36
- 4. "What is its character or style?" (optional)
37
- - Present options: `transparent`, `character`, `vintage`, `modern`, `surgical`
38
- 5. "Who makes it? (vendor name)"
39
-
40
- **Group C — Usage:**
41
- 6. "On a scale of 1–100, how strongly do you prefer this plugin over alternatives for its category? (e.g., 85 = your go-to, 50 = use sometimes, 30 = only when nothing else available)"
42
- 7. "What are the most important parameters you adjust, and what do they do?"
43
- 8. "What are your typical settings for different use cases? For example: how do you set it up on vocals vs kick drum?"
44
- 9. "Are there any factory presets worth loading as starting points?"
45
- 10. "When do you reach for this plugin instead of its alternatives?"
46
-
47
- ### Step 3: Generate the knowledge file
48
-
49
- Once you have all the answers, generate a knowledge file in this format:
50
-
51
- ```markdown
52
- ---
53
- name: [full display name]
54
- fx_match: ["[exact REAPER FX list name 1]", "[alternate name 2 if any]"]
55
- category: [category]
56
- style: [style if provided]
57
- vendor: [vendor name]
58
- preference: [preference score]
59
- replaces: []
60
- ---
61
-
62
- # [Plugin Name]
63
-
64
- ## What it does
65
-
66
- [One paragraph describing the plugin based on user's description. Be specific about its sonic character and primary use cases.]
67
-
68
- ## Key parameters by name
69
-
70
- [Table of parameters the user mentioned, with the exact names as they appear in the plugin UI]
71
-
72
- | Parameter | Range | Description |
73
- |-----------|-------|-------------|
74
- [rows based on user input]
75
-
76
- ## Recommended settings
77
-
78
- [One section per use case the user described]
79
-
80
- ### [Use case 1]
81
-
82
- | Parameter | Value | Why |
83
- |-----------|-------|-----|
84
- [rows based on user input]
85
-
86
- ## Presets worth knowing
87
-
88
- [Based on user's answer, or "No notable factory presets. Build from the recommended settings."]
89
-
90
- ## When to prefer this
91
-
92
- [Based on user's answer about when they reach for it]
93
- ```
94
-
95
- ### Step 4: Determine the file path
96
-
97
- - Ask the user: "What vendor slug should I use for the directory? For example, FabFilter would be `fabfilter`, Line 6 would be `line-6`."
98
- - Suggest a slug if the vendor is obvious.
99
- - Plugin slug: lowercase plugin name, spaces to hyphens, remove special characters.
100
-
101
- Example: FabFilter Pro-Q 3 → `knowledge/plugins/fabfilter/pro-q-3.md`
102
-
103
- ### Step 5: Write the file
104
-
105
- Write the generated file to `knowledge/plugins/{vendor-slug}/{plugin-slug}.md`.
106
-
107
- ### Step 6: Confirm
108
-
109
- Tell the user:
110
-
111
- > "Done! I've created `knowledge/plugins/{vendor}/{plugin}.md`.
112
- >
113
- > The mix agent will now prefer **[Plugin Name]** for **[category]** tasks.
114
- >
115
- > You can edit the file directly to refine the settings. To teach me about another plugin, run `/learn-plugin` again."
116
-
117
- ## Notes
118
-
119
- - Always use the **exact** FX name from REAPER's FX browser — this is critical for pattern matching
120
- - If the user doesn't know the exact FX name, suggest they open REAPER, go to FX Browser, find the plugin, and copy the name
121
- - The `preference` score determines which plugin wins when multiple options are available for the same category
122
- - Do not add gray-matter or YAML library imports — the knowledge-loader parses frontmatter with a simple regex
123
- - VST3 versions are preferred over VST2 when both exist (add both to fx_match)
@@ -1,71 +0,0 @@
1
- # Knowledge Base
2
-
3
- Audio engineering knowledge consumed by `reaper-mix-agent` at runtime. Markdown files with YAML frontmatter.
4
-
5
- ## File Organization
6
-
7
- ```
8
- knowledge/
9
- plugins/{vendor-slug}/{plugin-slug}.md # Plugin knowledge (fx_match, parameters, presets)
10
- genres/{genre-id}.md # Genre mixing conventions (targets, EQ, compression)
11
- workflows/{workflow-id}.md # Step-by-step mixing workflows
12
- reference/{topic}.md # Reference material (frequencies, metering, etc.)
13
- ```
14
-
15
- ## How Files Are Loaded
16
-
17
- `knowledge-loader.ts` in `reaper-mix-agent`:
18
- - Recursively collects all `.md` files
19
- - Categorizes by first path segment (`plugins/` → plugin, `genres/` → genre, etc.)
20
- - Skips files with `_template` in the path
21
- - Parses frontmatter with a simple line-by-line parser (NOT full YAML)
22
-
23
- ## Frontmatter Constraints
24
-
25
- The parser is simple — respect these limitations:
26
- - Arrays must be single-line: `fx_match: ["Pro-Q 3", "VST3: FabFilter Pro-Q 3"]`
27
- - No multi-line values or nested objects
28
- - `#` in frontmatter is treated as a comment — don't use in values
29
- - Numbers parse automatically; booleans must be `true`/`false` (lowercase)
30
-
31
- ## Required Frontmatter by Type
32
-
33
- ### Plugins
34
- | Field | Required | Description |
35
- |-------|----------|-------------|
36
- | `name` | Yes | Display name |
37
- | `fx_match` | Yes | Array of strings for case-insensitive substring match against REAPER FX list |
38
- | `category` | Yes | `eq`, `compressor`, `limiter`, `reverb`, `delay`, `gate`, etc. |
39
- | `vendor` | Yes | Vendor name |
40
- | `preference` | Yes | 0-100 score (stock: 30-50, third-party: 70-85, industry-standard: 85-95) |
41
- | `style` | No | `transparent`, `character`, `vintage`, `modern`, `surgical` |
42
- | `replaces` | No | Array of stock plugin IDs this replaces |
43
-
44
- ### Genres
45
- | Field | Required | Description |
46
- |-------|----------|-------------|
47
- | `name` | Yes | Genre display name |
48
- | `id` | Yes | Must match filename (e.g., `rock.md` → `id: rock`) |
49
- | `lufs_target` | Yes | Array `[-13, -10]` for min/max LUFS |
50
- | `true_peak` | Yes | dBTP ceiling (e.g., `-1.0`) |
51
- | `parent` | No | Inherits from parent genre |
52
-
53
- ### Workflows
54
- | Field | Required | Description |
55
- |-------|----------|-------------|
56
- | `name` | Yes | Workflow display name |
57
- | `id` | Yes | Must match filename |
58
-
59
- ## fx_match Pattern Guide
60
-
61
- Patterns are matched as case-insensitive substrings against REAPER's installed FX names:
62
- - `"Pro-Q 3"` matches `"VST3: FabFilter Pro-Q 3 (FabFilter)"`, `"AU: Pro-Q 3"`, etc.
63
- - Include multiple patterns for VST/VST3/AU variants if needed
64
- - Check REAPER's FX Browser for exact names
65
-
66
- ## Coupled Code
67
-
68
- Changes here may require updates in `apps/reaper-mix-agent/`:
69
- - New knowledge type → update `typeFromPath()` in `knowledge-loader.ts`
70
- - New frontmatter fields → update consumers in `agent.ts` or `plugin-resolver.ts`
71
- - New workflow file → should have a matching mode in `modes/`
@@ -1,82 +0,0 @@
1
- ---
2
- name: Plugin Display Name
3
- fx_match: ["exact name in REAPER FX list", "alternate match string"]
4
- category: eq # eq | compressor | limiter | saturator | reverb | delay | gate | de-esser | amp-sim | channel-strip | analyzer | stereo-imager | multiband | pitch-correction
5
- style: transparent # transparent | character | vintage | modern | surgical (optional)
6
- vendor: Vendor Name
7
- preference: 70 # 0-100. Stock REAPER: 30-50. Popular third-party: 70-85. Industry standard: 85-95.
8
- replaces: [] # optional: list of stock plugin IDs this replaces, e.g. ["rea-eq"]
9
- ---
10
-
11
- # Plugin Display Name
12
-
13
- ## What it does
14
-
15
- One paragraph describing the plugin's purpose, character, and primary use cases. Be specific about its sonic character (clean/colored, aggressive/gentle, etc.) and what problems it solves best.
16
-
17
- ## Key parameters by name
18
-
19
- List parameters EXACTLY as they appear in the plugin UI (since these are what the agent sees via `get_fx_parameters`). Use the parameter's actual name, not a description.
20
-
21
- | Parameter | Range | Description |
22
- |-----------|-------|-------------|
23
- | Band 1 Frequency | 20–20000 Hz | Center/cutoff frequency for band 1 |
24
- | Band 1 Gain | -24 to +24 dB | Boost or cut amount |
25
- | Band 1 Q | 0.1–40 | Bandwidth — higher Q = narrower band |
26
- | Band 1 Type | Bell/Shelf/HPF/LPF | Filter shape |
27
-
28
- ## Recommended settings
29
-
30
- ### Use case 1: [e.g., Vocals]
31
-
32
- Specific parameter values for this use case. Be precise.
33
-
34
- | Parameter | Value | Why |
35
- |-----------|-------|-----|
36
- | Band 1 Type | HPF | Remove low-frequency rumble |
37
- | Band 1 Frequency | 80–100 Hz | Below fundamental vocal range |
38
- | Band 1 Slope | 24 dB/oct | Clean, steep cut |
39
-
40
- ### Use case 2: [e.g., Kick drum]
41
-
42
- ...
43
-
44
- ## Presets worth knowing
45
-
46
- If the plugin ships with notable factory presets that the agent can load via `set_fx_preset`:
47
-
48
- - **Preset Name** — What it does, when to use it as a starting point
49
- - **Another Preset** — ...
50
-
51
- If no useful presets exist, write: "No notable factory presets. Build from scratch using recommended settings."
52
-
53
- ## When to prefer this
54
-
55
- Bullet list of situations where this plugin is the best choice over alternatives:
56
-
57
- - When you need [specific characteristic]...
58
- - On [specific instrument type] because...
59
- - Avoid when you need [different characteristic] — use [alternative] instead
60
-
61
- ---
62
-
63
- <!-- CONTRIBUTING GUIDE
64
-
65
- To add a new plugin knowledge file:
66
-
67
- 1. Copy this template to knowledge/plugins/{vendor-slug}/{plugin-slug}.md
68
- 2. Fill in ALL frontmatter fields
69
- 3. Set fx_match to the exact string(s) REAPER shows in its FX list
70
- - Open REAPER > FX Browser > find your plugin > copy the name exactly
71
- - VST plugins: usually "VST: Plugin Name (Vendor)" or just "Plugin Name"
72
- - VST3 plugins: usually "VST3: Plugin Name"
73
- - JS plugins: usually "JS: plugin/name"
74
- 4. Set preference score:
75
- - 30-50: Stock/free plugins you use as fallback only
76
- - 55-70: Good third-party plugins you like but have alternatives
77
- - 70-85: Preferred plugins you reach for first
78
- - 85-95: Industry-standard tools, best in category
79
- 5. List recommended settings with EXACT parameter names (copy from REAPER's FX window)
80
- 6. Run /learn-plugin in Claude Code for a guided interview instead of writing manually
81
-
82
- -->
@@ -1,117 +0,0 @@
1
- ---
2
- name: FabFilter Pro-C 2
3
- fx_match: ["Pro-C2", "Pro-C 2", "VST3: Pro-C2 (FabFilter)", "VST: Pro-C2 (FabFilter)", "FabFilter Pro-C 2"]
4
- category: compressor
5
- style: transparent
6
- vendor: FabFilter
7
- preference: 85
8
- replaces: ["rea-comp"]
9
- ---
10
-
11
- # FabFilter Pro-C 2
12
-
13
- ## What it does
14
-
15
- FabFilter Pro-C 2 is a professional compressor with six compression styles that model different hardware character: Clean (transparent), Classic (vintage VCA), Opto (optical/program-dependent), FET (fast, aggressive, 1176-style), Variable-Mu (tube, warm, slow), and Bus (VCA bus glue). Each mode changes the character, knee behavior, and program dependency. It has excellent visualization (gain reduction over time, input/output spectrum), sidechain EQ, lookahead, and auto gain. The go-to compressor for mixing and mastering when available.
16
-
17
- ## Key parameters by name
18
-
19
- | Parameter | Range | Description |
20
- |-----------|-------|-------------|
21
- | Threshold | -60 to 0 dB | Level at which compression begins |
22
- | Ratio | 1:1 to Inf:1 | Compression strength |
23
- | Attack | 0.01–2000 ms | Time to reach full compression |
24
- | Release | 1–5000 ms / Auto | Recovery time — Auto = program-dependent |
25
- | Knee | 0.1–40 dB | Soft vs hard knee — higher = smoother onset |
26
- | Hold | 0–500 ms | Minimum gate-open time |
27
- | Makeup | -30 to +30 dB | Output makeup gain |
28
- | Mix | 0–100% | Parallel compression blend |
29
- | Style | Clean/Classic/Opto/FET/Variable-Mu/Bus | Character model |
30
- | Auto Gain | checkbox | Automatically compensate for threshold/ratio |
31
- | Lookahead | 0–20 ms | Future-looking to catch transients |
32
- | Stereo Link | 0–100% | L/R coupling |
33
- | Sidechain HPF | 10–1000 Hz | Filter on sidechain (prevent bass triggering compression) |
34
- | Sidechain EQ | on/off | Enable sidechain equalization |
35
-
36
- ## Recommended settings
37
-
38
- ### Vocals — FET style (punchy, present)
39
-
40
- The "1176 in a box" setting. Works for rock, pop, r&b vocals needing character and presence.
41
-
42
- | Parameter | Value | Why |
43
- |-----------|-------|-----|
44
- | Style | FET | Fast, aggressive FET character |
45
- | Threshold | Set for 4–6 dB GR | |
46
- | Ratio | 4:1 | Moderate — let dynamics through |
47
- | Attack | 10–15 ms | Let the consonant attack through first |
48
- | Release | 50–80 ms | Fast — snappy vocal compression |
49
- | Knee | 2–4 dB | Slightly soft for transparency at onset |
50
- | Makeup | Match perceived level | |
51
-
52
- ### Vocals — Opto style (smooth, transparent)
53
-
54
- Second vocal compressor in a serial chain after the FET hit. Or primary compressor for smoother genres.
55
-
56
- | Parameter | Value | Why |
57
- |-----------|-------|-----|
58
- | Style | Opto | Program-dependent, smooth |
59
- | Threshold | Set for 2–4 dB GR | Light touch as second stage |
60
- | Ratio | 3:1 to 4:1 | |
61
- | Attack | 20–40 ms | Slow — follow phrase dynamics |
62
- | Release | Auto | Program-dependent release (key feature of Opto) |
63
- | Knee | 6–10 dB | Soft knee, very transparent |
64
- | Mix | 100% | Full wet |
65
-
66
- ### Drum bus — Bus style (VCA glue)
67
-
68
- | Parameter | Value | Why |
69
- |-----------|-------|-----|
70
- | Style | Bus | VCA glue character |
71
- | Threshold | Set for 3–6 dB GR | Hit moderately |
72
- | Ratio | 4:1 | |
73
- | Attack | 10–30 ms | Preserve kick/snare transients |
74
- | Release | Auto or 80–150 ms | |
75
- | Knee | 4–6 dB | |
76
- | Sidechain HPF | 80 Hz | Prevent kick low-end from causing pumping |
77
-
78
- ### Master bus — Classic style (subtle glue)
79
-
80
- | Parameter | Value | Why |
81
- |-----------|-------|-----|
82
- | Style | Classic | Vintage VCA — subtly warm |
83
- | Threshold | Set for 1–3 dB GR | Very light |
84
- | Ratio | 2:1 | Gentle |
85
- | Attack | 10–30 ms | |
86
- | Release | Auto | Program-dependent |
87
- | Knee | 6–12 dB | Smooth |
88
- | Mix | 100% | |
89
-
90
- ### Parallel drums — FET style (crush and blend)
91
-
92
- | Parameter | Value | Why |
93
- |-----------|-------|-----|
94
- | Style | FET | Aggressive FET squash |
95
- | Threshold | Set for 15–20 dB GR | Crush the signal |
96
- | Ratio | 20:1 | Near limiting |
97
- | Attack | 0.01–1 ms | Kill all transients |
98
- | Release | 50–100 ms | Some pump |
99
- | Mix | 40–60% | Blend with dry |
100
-
101
- ## Presets worth knowing
102
-
103
- Pro-C 2 ships with a factory preset library. Notable ones:
104
- - **Vocal Medium** — FET style, 4:1, moderate — good starting point
105
- - **Bus Glue** — Bus style, 2:1 — master bus starting point
106
- - **Drum Bus** — Bus style, 4:1 — drum bus with HPF on sidechain
107
-
108
- ## When to prefer this
109
-
110
- - Always prefer over ReaComp or JS 1175 when installed
111
- - When you need program-dependent Opto behavior for smooth vocal leveling
112
- - When you need true VCA bus compression with sidechain HPF
113
- - When you need parallel compression with the Mix knob
114
- - FET mode for everything that needs character and aggression
115
- - Variable-Mu for the warmest, most vintage-sounding compression (pads, full mixes)
116
-
117
- This is the go-to compressor in all situations when available.
@@ -1,95 +0,0 @@
1
- ---
2
- name: FabFilter Pro-L 2
3
- fx_match: ["Pro-L2", "Pro-L 2", "VST3: Pro-L2 (FabFilter)", "VST: Pro-L2 (FabFilter)", "FabFilter Pro-L 2"]
4
- category: limiter
5
- style: transparent
6
- vendor: FabFilter
7
- preference: 92
8
- replaces: ["rea-limit"]
9
- ---
10
-
11
- # FabFilter Pro-L 2
12
-
13
- ## What it does
14
-
15
- FabFilter Pro-L 2 is the industry-standard mastering limiter and loudness maximizer. It provides true peak limiting (ISP — intersample peak detection), integrated LUFS metering, multiple limiting algorithms, automatic gain control for target loudness, and adjustable transient shaping. It is the last plugin in the mastering chain before export. Its combination of ISP-based true peak limiting and loudness display make it essential for modern streaming delivery. Unlike ReaLimit (simple brickwall), Pro-L 2 actively maximizes loudness while preserving dynamics.
16
-
17
- ## Key parameters by name
18
-
19
- | Parameter | Range | Description |
20
- |-----------|-------|-------------|
21
- | Input Gain | -6 to +6 dB | Pre-limiting gain stage |
22
- | Output Level | -inf to 0 dBFS | True peak ceiling — set to -1.0 or -0.3 |
23
- | Transients | 0–100% | Increase to preserve transient punch; reduce for maximized loudness |
24
- | Attack | 0.01–150 ms | How quickly limiting engages — affects transient character |
25
- | Release | 0.01–2000 ms | How quickly gain recovers — program-dependent when in Auto |
26
- | Attack Type | Aggressive / Smooth | Aggressive = more volume, Smooth = more natural dynamics |
27
- | Lookahead | 0–15 ms | Minimum 0.5 ms for ISP detection |
28
- | Style | Transparent/Dynamic/Aggressive/Bus/Allround/Pumping/Mastering | Limiting character |
29
- | LUFS Target | -6 to -24 LUFS | Sets Output Level to hit target integrated loudness |
30
- | Stereo Link | 0–100% | L/R gain reduction coupling |
31
- | ISP | checkbox | True peak detection via intersample peak processing |
32
-
33
- ## Recommended settings
34
-
35
- ### Streaming master — Spotify/YouTube (-14 LUFS)
36
-
37
- | Parameter | Value | Why |
38
- |-----------|-------|-----|
39
- | Style | Transparent or Allround | Clean, natural dynamics |
40
- | Output Level | -1.0 dBFS | -1 dBTP ceiling (streaming requirement) |
41
- | ISP | on | True peak detection |
42
- | LUFS Target | -14 LUFS | Spotify/YouTube integrated target |
43
- | Transients | 40–60% | Preserve some punch |
44
- | Lookahead | 1–4 ms | Adequate catch time |
45
- | GR target | 1–3 dB average | Subtle maximization |
46
-
47
- ### Streaming master — Apple Music (-16 LUFS)
48
-
49
- | Parameter | Value | Why |
50
- |-----------|-------|-----|
51
- | Style | Transparent | |
52
- | Output Level | -1.0 dBFS | |
53
- | ISP | on | |
54
- | LUFS Target | -16 LUFS | Apple Music target |
55
- | Transients | 50–70% | More transient preservation at lower targets |
56
-
57
- ### Club master / EDM (-8 to -6 LUFS, louder)
58
-
59
- | Parameter | Value | Why |
60
- |-----------|-------|-----|
61
- | Style | Dynamic or Aggressive | More loudness, still coherent |
62
- | Output Level | -0.3 dBFS | -0.3 dBTP for club playback |
63
- | ISP | on | |
64
- | LUFS Target | -8 to -6 LUFS | Competitive club loudness |
65
- | Transients | 20–35% | Sacrifice some transient for loudness |
66
- | Attack | 0.5–2 ms | Fast limiting |
67
- | Lookahead | 2–5 ms | |
68
-
69
- ### Mix bus protection (not mastering)
70
-
71
- Use as a safety net during mixing, not for loudness maximization:
72
-
73
- | Parameter | Value | Why |
74
- |-----------|-------|-----|
75
- | Style | Transparent | No character |
76
- | Output Level | -0.3 dBFS | |
77
- | ISP | on | |
78
- | Transients | 80–100% | Maximum transient preservation |
79
- | Input Gain | 0 dB | Don't drive extra gain in |
80
- | GR target | 0.5–1 dB max | True safety net only |
81
-
82
- ## Presets worth knowing
83
-
84
- - **Transparent** — Clean limiting, maximum transient preservation
85
- - **Streaming** — Pre-configured for -14 LUFS, -1 dBTP delivery
86
- - **Mastering Allround** — Balanced loudness and dynamics for general mastering
87
-
88
- ## When to prefer this
89
-
90
- - Always for final master delivery — this is the industry standard mastering limiter
91
- - When LUFS targeting is needed (streaming delivery, broadcast)
92
- - For true peak (-1 dBTP) compliance with ISP enabled
93
- - When the mix needs competitive loudness maximization, not just clipping prevention
94
-
95
- ReaLimit is only used when Pro-L 2 is not installed. Pro-L 2 is in a different category — it is a loudness maximization tool, not just a brickwall.
@@ -1,112 +0,0 @@
1
- ---
2
- name: FabFilter Pro-Q 3
3
- fx_match: ["Pro-Q3", "Pro-Q 3", "VST3: Pro-Q3 (FabFilter)", "VST: Pro-Q3 (FabFilter)", "FabFilter Pro-Q 3"]
4
- category: eq
5
- style: transparent
6
- vendor: FabFilter
7
- preference: 90
8
- replaces: ["rea-eq"]
9
- ---
10
-
11
- # FabFilter Pro-Q 3
12
-
13
- ## What it does
14
-
15
- Pro-Q 3 is the industry-standard parametric EQ for mixing and mastering. It offers up to 24 bands with natural-phase, linear-phase, and zero-latency modes. Each band can operate in mid/side or left/right mode independently. Dynamic EQ mode turns any band into a frequency-reactive compressor or expander — this is its killer feature for taming sibilance, resonances, and proximity effect without static cuts. Excellent spectrum analyzer with collision detection (match EQ against a reference). Clean, transparent character; adds no harmonic coloration. CPU-efficient given its capabilities.
16
-
17
- ## Key parameters by name
18
-
19
- Parameters are indexed per band. Band 1 parameters:
20
-
21
- | Parameter | Range | Description |
22
- |-----------|-------|-------------|
23
- | Band N Frequency | 10–48000 Hz | Center/cutoff frequency |
24
- | Band N Gain | -30 to +30 dB | Boost or cut — 0 for filter types |
25
- | Band N Q | 0.025–40 | Bandwidth — higher = narrower |
26
- | Band N Shape | Bell/LShelf/HShelf/LCut/HCut/Tilt/BandPass/Notch/Flat | Filter shape |
27
- | Band N Slope | 6/12/18/24/30/36/48/72/96 dB/oct | Only for cut filters |
28
- | Band N Stereo | Stereo/Left/Right/Mid/Side | Which part of stereo field to process |
29
- | Band N Dynamic | 0 or 1 | Enable dynamic EQ mode |
30
- | Band N Threshold | -80 to 0 dB | Dynamic mode threshold |
31
- | Band N Range | -30 to +30 dB | Max dynamic movement |
32
- | Band N Attack | 1–1000 ms | Dynamic mode attack |
33
- | Band N Release | 5–5000 ms | Dynamic mode release |
34
- | Output Gain | -36 to +36 dB | Master output trim |
35
- | Phase Mode | 0/1/2 | 0=Natural Phase, 1=Linear Phase, 2=Zero Latency |
36
-
37
- ## Recommended settings
38
-
39
- ### Surgical resonance removal (dynamic EQ mode)
40
-
41
- Use when a frequency is problematic only at certain loudness levels.
42
-
43
- | Parameter | Value | Why |
44
- |-----------|-------|-----|
45
- | Band N Shape | Bell | Targeted |
46
- | Band N Frequency | Problem frequency (e.g. 3200 Hz harsh peak) | Identify with spectrum analyzer |
47
- | Band N Gain | -3 to -6 dB | Maximum cut when triggered |
48
- | Band N Dynamic | on | Only cuts when signal is loud |
49
- | Band N Threshold | Set just above resonance level | |
50
- | Band N Attack | 5–10 ms | Fast enough to catch peaks |
51
- | Band N Release | 50–100 ms | Musical release |
52
-
53
- ### De-essing via dynamic EQ (alternative to dedicated de-esser)
54
-
55
- | Parameter | Value | Why |
56
- |-----------|-------|-----|
57
- | Band N Frequency | 6000–9000 Hz | Sibilance zone — find the worst peak |
58
- | Band N Shape | Bell or High Shelf | Bell for surgical, shelf for broad |
59
- | Band N Gain | -4 to -8 dB | Maximum cut |
60
- | Band N Dynamic | on | Only triggers on harsh S sounds |
61
- | Band N Threshold | Just above normal vocal level | |
62
- | Band N Attack | 1–5 ms | Very fast for sibilance |
63
- | Band N Release | 30–60 ms | Fast enough for individual sibilants |
64
-
65
- ### Mid/side mastering EQ
66
-
67
- | Parameter | Value | Why |
68
- |-----------|-------|-----|
69
- | Band 1 Stereo | Mid | HPF on Mid only |
70
- | Band 1 Shape | High Cut | |
71
- | Band 1 Frequency | 80–100 Hz | Mono bass, no rumble in M/S |
72
- | Band 2 Stereo | Side | Boost air in sides for width |
73
- | Band 2 Shape | High Shelf | |
74
- | Band 2 Frequency | 10000 Hz | Air boost |
75
- | Band 2 Gain | +1 to +2 dB | Subtle — side boost widens mix |
76
- | Band 3 Stereo | Side | Reduce low-mid width (tighten) |
77
- | Band 3 Shape | Bell | |
78
- | Band 3 Frequency | 200–400 Hz | Tighten low-mid stereo |
79
- | Band 3 Gain | -1 to -2 dB | |
80
-
81
- ### Vocal track standard processing
82
-
83
- | Parameter | Value | Why |
84
- |-----------|-------|-----|
85
- | Band 1 Shape | High Cut | HPF |
86
- | Band 1 Frequency | 80–100 Hz | Remove rumble |
87
- | Band 1 Slope | 24 dB/oct | Clean cut |
88
- | Band 2 Shape | Bell | Reduce proximity effect / boxiness |
89
- | Band 2 Frequency | 250–400 Hz | |
90
- | Band 2 Gain | -1 to -3 dB | |
91
- | Band 3 Shape | Bell (dynamic) | Sibilance control |
92
- | Band 3 Frequency | 7000–9000 Hz | |
93
- | Band 3 Gain | -3 to -5 dB | |
94
- | Band 3 Dynamic | on | |
95
- | Band 4 Shape | High Shelf | Air/presence |
96
- | Band 4 Frequency | 10000–12000 Hz | |
97
- | Band 4 Gain | +1 to +2.5 dB | |
98
-
99
- ## Presets worth knowing
100
-
101
- - **Default** — Flat, no processing. Good starting point.
102
- - Look for genre-specific vocal, mix bus, and mastering presets in the FabFilter preset library (if installed).
103
-
104
- ## When to prefer this
105
-
106
- - Always prefer over ReaEQ when installed — superior visualization, dynamic EQ, and mid/side capabilities
107
- - For de-essing without a separate de-esser plugin (dynamic EQ mode on 6–9 kHz)
108
- - For mastering with linear phase mode (avoids phase distortion at low frequencies)
109
- - For matching EQ to a reference track (use the spectrum analyzer's reference display)
110
- - For complex resonance removal where the problem only appears at certain levels
111
-
112
- This is the go-to EQ in all situations when available. Only fall back to ReaEQ if Pro-Q 3 is not installed.