Apply VST Effect
The node that actually makes your audio sound different
- audio
- plugin
- vst_settings
- AUDIO
Everything else in ComfyUI-VST is setup. VSTLoader finds the plugin, VSTInspector tells you what's inside it, a parameter node sets the knobs. VSTApplyEffect is the payoff - the node that takes your audio, pushes it through a real VST effect plugin, and hands back audio that actually sounds different. This is the one you build the whole chain around.
The mental model is exactly what it looks like: audio goes in, the loaded plugin is applied, processed audio comes out. If you've ever chained an EQ into a compressor into a limiter in a DAW, you can reproduce that chain in a graph - each plugin gets its own VSTLoader → VSTApplyEffect pair, and the output of one feeds the input of the next.
How it works
ComfyUI represents audio as a dict (waveform tensor plus a sample_rate), and Pedalboard wants plain numpy arrays - so the node converts one to the other, runs the plugin, and converts back. Two details are worth knowing:
buffer_size- how many samples the plugin processes per chunk, 512 to 65536 with an 8192 default. Lower is lower latency but glitchier; higher is safer at the cost of latency. If you hear crackles or dropouts, raise it.reset- clears the plugin's internal state before processing. Leave it ontrue(the default) or you can get carry-over state between runs that makes your audio sound wrong in ways that are hard to explain.
Parameter handling is pleasantly forgiving. Settings come from the optional vst_settings input (the dictionary produced by VSTManualParameters or VSTParameters), and the node sorts them by type - booleans to toggles, strings to dropdowns, numbers to sliders - with bypass special-cased. If it can't set a parameter it logs a warning and keeps going rather than killing your run.
The inputs and output
audio- ComfyUIAUDIO, from any audio source or a previousVSTApplyEffect.plugin- fromVSTLoader. Required.vst_settings- optional. Omit it and the plugin runs with its defaults; connect it to actually control the knobs.buffer_size,reset- above.- Output: processed
AUDIO. Same sample rate, same batch shape, ready to feed the next node or save.
One honest gotcha: the conversion processes only the first item of a batch and then broadcasts that result back across the batch. The code itself says "if batch size > 1, we only process the first one for now." So if you feed a batch of different audios, don't expect each to get its own treatment - they'll all come out identical to the first one processed. For single audio files, which is most use cases, it's a non-issue.
Effect-only, and it means it
The README is explicit: only Effect plugins work here. Instruments and synthesizers (VSTi) aren't supported because they need MIDI input, which the pack doesn't implement. Loading one won't magically produce sound - check the is_effect output on VSTLoader if you're unsure what you're dealing with.
Installing it
Same pack, all five nodes. 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. Only dependency is pedalboard>=0.9.0 (no model files to download), and the pack requires a ComfyUI build with V3 API support.
Common issues
- "Failed to process audio through VST" - you're almost certainly running an instrument plugin. Switch to an effect, or check
is_effect. - Crackles and glitches - raise
buffer_size; the default 8192 is fine for most things but big CPU-hungry plugins want more. - Audio sounds wrong - set
resettotrueto clear plugin state between runs. - Settings do nothing - parameter names must match the plugin exactly; check
VSTInspectorand yourVSTManualParameterswiring.
For its niche, it's genuinely good: real plugins, real DSP, no API keys, all local. Wire it up, run your soundtrack through a mastering chain, and stay in the graph.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| audio | AUDIO | — | |
| plugin | VST_PLUGIN | — | |
| buffer_size | INT | 8192512–65536 | — |
| reset | BOOLEAN | true | — |
| vst_settingsopt | VST_SETTINGS | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| AUDIO | AUDIO | — |