Nodes/ComfyUI-VST/Apply VST Effect
ComfyUI Node

Apply VST Effect

The node that actually makes your audio sound different

By MuziekMagie·Created 6 months ago·Updated 6 months ago· 2
Apply VST Effect
  • audio
  • plugin
  • vst_settings
  • AUDIO
buffer_size8192
resettrue

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 VSTLoaderVSTApplyEffect 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 on true (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 - ComfyUI AUDIO, from any audio source or a previous VSTApplyEffect.
  • plugin - from VSTLoader. 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 reset to true to clear plugin state between runs.
  • Settings do nothing - parameter names must match the plugin exactly; check VSTInspector and your VSTManualParameters wiring.

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.

Categoryaudio/vst

Inputs (5)

NameTypeDefaultDescription
audioAUDIO
pluginVST_PLUGIN
buffer_sizeINT8192512–65536
resetBOOLEANtrue
vst_settingsoptVST_SETTINGS

Outputs (1)

NameTypeDescription
AUDIOAUDIO