VST Manual Parameters
Set VST knobs the boring, reliable way
- param_names
- param_values
- vst_settings
Here's the honest take: of the two parameter nodes in ComfyUI-VST, this is the one you'll actually want most of the time. VSTParameters generates fancy dynamic widgets, but it's experimental, needs two runs to configure, and falls over inside Subgraphs. VSTManualParameters does none of that. It's plain, it's predictable, and it works everywhere - you type a parameter name, you plug in a value, and the plugin gets exactly what you asked for.
The way this pack works: VSTLoader loads a plugin, VSTApplyEffect runs your audio through it, and a parameter node in the middle decides what the plugin's knobs are set to when it processes. This node is that middle. It builds a VST_SETTINGS object - a dictionary mapping parameter names to values - that VSTApplyEffect reads before processing.
How it works
It's built from two autogrowing lists, and that's the whole trick:
param_names- each slot is a string (name_0, name_1, ...). Type the plugin's parameter name here, exactly asVSTInspectorreports it.param_values- each slot accepts any type (name/value pairs line up: name_0 with value_0, name_1 with value_1, and so on).
Add a name slot, add a value slot, and they pair up by position. The pairing is positional, so keep the two lists in the same order - that's the one way to shoot yourself here.
Two details that matter:
- Empty name slots are skipped entirely.
- If a name has no matching value, it silently defaults to 0.5 - which is a sensible default for a normalized 0–1 slider but a real gotcha if you forget to wire a value to a boolean or choice parameter. Wire values to every slot.
Anything you don't list here isn't touched - VSTApplyEffect only sets the parameters you've explicitly defined, and the plugin's own defaults apply to the rest. That's a feature: set just the mix and the drive, leave the rest alone.
What to connect
Connect Float and Int nodes (or sliders, seed widgets, whatever produces a number) to the value slots. For a plugin's boolean or dropdown parameters, the values you set still pass through - the node itself is agnostic; it just hands the dictionary along.
To get names right the first time, run the plugin through VSTInspector and read its parameter_names output. The names are case-sensitive and must match exactly. Guessing gets you a silent no-op - VSTApplyEffect prints a warning when it can't set a parameter and keeps going.
Installing it
Same pack, all five nodes at once. ComfyUI Manager → search "ComfyUI-VST", or:
cd ComfyUI/custom_nodes
git clone https://github.com/MuziekMagie/ComfyUI-VST.git
cd ComfyUI-VST
pip install -r requirements.txt
Restart ComfyUI. Dependency is just pedalboard>=0.9.0, and the pack needs a ComfyUI with V3 API support - on an older build none of these nodes register.
Common issues
- Nothing changes in the audio: the parameter name is probably wrong. Inspect the plugin first and copy names verbatim.
- A value is 0.5 when you didn't set it: you left a name slot without a matching value slot. That's the silent default.
- Knobs aren't where you expect: check the pairing - value_3 goes with name_3, not name_0.
For a Subgraph-encased workflow, this is the only parameter node that works, full stop. Boring, but that's the point.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| param_names | COMFY_AUTOGROW_V3 | — | |
| param_values | COMFY_AUTOGROW_V3 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| vst_settings | VST_SETTINGS | — |