Nodes/DJZ-Nodes/πŸ¦™ Winamp Viz V2
ComfyUI Node

πŸ¦™ Winamp Viz V2

Audio visualizations, now with a plugin system

By MushroomFleetΒ·Created 2 years agoΒ·Updated 5 months agoΒ· 78
πŸ¦™ Winamp Viz V2
  • audio
  • images
β—„width512β–Ί
β—„height512β–Ί
β—„fps30β–Ί
β—„max_frames0β–Ί
β—„visualizationβ–Ύβ–Ί
β—„color_schemeβ–Ύβ–Ί
β—„sensitivity1.0β–Ί
β—„smoothing0.50β–Ί

Winamp Viz V2 is the grown-up version of the pack's audio visualizer. Same idea - feed it AUDIO, get frames of reactive visuals back - but instead of eight hardcoded visualizations, V2 loads them from .viz plugin files at startup. That's the whole upgrade in one sentence: the visualization list is a directory scan, so it's extensible without touching the node's code. The dropdown in the brief shows thirteen options, and that list is whatever lives in the pack's VIZ/ folder on your machine.

If you want to write your own visualization someday, this is the node that lets you. If you never will, you still get more built-ins than V1, and they're the same nostalgic flavors.

How it works

The mechanism is the interesting part. On startup the node globs custom_nodes/DJZ-Nodes/VIZ/*.viz and loads each file as a Python module - .viz files here are really Python files with a specific interface, and there's a README.md in the VIZ folder explaining how to write one. Each plugin receives the FFT analysis and the frame buffer and is responsible for its own drawing. So the pipeline is: audio in β†’ FFT analysis β†’ per-visualization module draws each frame β†’ IMAGE batch out.

The built-in set covers the classics plus some new ones: butterfly, starfield_pulse, spiral_analyzer, tunnel_beat, fractal_pulse, spectrum, kaleidoscope_wave, plasma_wave, wave_rings, milkdrop_bars, vector_scope, frequency_dots, and at least one more that the dropdown truncates in the schema. Starfield pulse and spiral analyzer are the ones V1 didn't have, and they're worth a spin.

The inputs that matter

  • audio - the AUDIO driver.
  • visualization - the plugin picker (13 options).
  • width/height (64–4096), fps (1–60), max_frames (0 = auto to audio length).
  • color_scheme - classic, rainbow, fire, matrix.
  • sensitivity (0.1–5) - audio reactivity; low values make a quiet track barely twitch.
  • smoothing (0–0.99) - temporal easing; higher = smoother, lazier motion.

Output is images (IMAGE batch). Same downstream as V1: Video Combine + the audio, and you've got a music video.

Installing it

Part of DJZ-Nodes:

cd ComfyUI/custom_nodes
git clone https://github.com/MushroomFleet/DJZ-Nodes
cd DJZ-Nodes
pip install -r requirements.txt

Restart ComfyUI, or install via ComfyUI Manager by searching "DJZ-Nodes". Audio deps (librosa, soundfile, numpy, scipy for the FFT) come with the pack's requirements.

Troubleshooting

  • Fewer visualizations than expected. The dropdown is built from whatever .viz files are in the VIZ folder at startup. If you're seeing a short list, the folder didn't fully extract or you deleted files - and conversely, dropping a new .viz in and restarting adds it to the list.
  • A visualization crashes or renders black. Custom plugins can error mid-draw; the node tracks per-plugin state, and the fix is usually restarting ComfyUI with the bad file removed. Check the pack's VIZ README for the expected interface.
  • Same "dead visuals" trap as V1. If nothing moves, raise sensitivity and verify the audio has signal.
  • V1 vs V2? If you want the exact eight V1 looks, fine. If you want more options and future extensibility, V2 supersedes it - there's not much reason to run both.

It's still a fun node, but the real value is the plugin architecture: it turns a novelty into a small platform. For 99% of users that just means more built-in presets to flip through, which is exactly what you want from this category.

Categorysd

Inputs (9)

NameTypeDefaultDescription
audioAUDIOβ€”
widthINT51264–4096β€”
heightINT51264–4096β€”
fpsINT301–60β€”
max_framesINT00–9999β€”
visualizationCOMBO13 options: butterfly, starfield_pulse, spiral_analyzer, tunnel_beat, fractal_pulse, spectrum, +7
color_schemeCOMBO4 options: classic, rainbow, fire, matrix
sensitivityFLOAT1.00.1–5β€”
smoothingFLOAT0.500–0.99β€”

Outputs (1)

NameTypeDescription
imagesIMAGEβ€”