π΅π Audio Visualizer
Audio Visualizer β ComfyUI Node Guide
- audio
- image
- image_batch
- video
Feed it an audio file, pick a visual style, and this node turns the waveform into an actual animated image or video - waveform lines, circular waveforms, bouncing bars, particle fields, or an "umbrella" style, with the option to write your own visualizer script if none of the built-ins fit. It's one of the more purely fun nodes in this pack, and the click-through numbers back that up: a small number of people search for it, but almost everyone who finds it clicks - which tracks with it being exactly the kind of thing people go looking for by name once they know it exists.
The mode that matters most is output_type, and picking the right one changes how you should wire everything else. image gives you a single frame - pair it with seed set to 0 and ComfyUI's Control After Generate set to Increment, and each queue run advances one frame further, letting you build an animation across many runs rather than one giant render. image_batch renders every frame at once as a stack of separate images - meant to feed into the VHS (Video Helper Suite) Video Combine node alongside the original audio, not into a Preview Image node; the tooltip is direct about this, warning that previewing a large frame count can freeze or stutter ComfyUI outright. video renders a single animated video file directly, meant for ComfyUI's native Save Video node.
Other inputs worth understanding: visualizer_script picks the style - and the tooltip flags that this is a real extension point, not just a dropdown of fixed presets: drop your own Python script into /nodes/audio_visualizers/ and it shows up as an option here, which is an unusually open door for a node aimed at beginners. scale controls how responsive the visualization is to the audio's amplitude - turn it up if your source audio is quiet and the visualization looks flat. stereo_to_mono decides how a stereo track collapses to the single channel the visualizer actually processes - mean (average both channels) is the sane default, left/right if you specifically want one channel's content. framerate matters most for the video and image_batch outputs, and needs to match whatever framerate you set on a downstream VHS Video Combine node or your audio will drift out of sync with the visuals. width/height set output resolution the normal way.
seed does double duty here beyond the frame-cursor trick above: setting it to 0 also resets the visualizer's internal animation state, which matters for particle-style visualizers that carry momentum between frames. That's a deliberate design choice, not a side effect - the tooltip states it directly - but it means if you're doing the frame-by-frame single-image workflow described above, only your very first run should actually be seed 0; hitting it again mid-sequence will restart your animation from scratch rather than continuing it.
Installing it: ComfyUI Manager, search "ComfyUI-mnemic-nodes," or git clone https://github.com/MNeMoNiCuZ/ComfyUI-mnemic-nodes into custom_nodes, then restart.
Where it goes wrong: a framerate mismatch between this node and VHS Video Combine is the most common one, and it's entirely on you to keep the two numbers in sync since neither node checks the other's setting. Piping image_batch straight into a Preview Image node without thinking about frame count is the other classic - for anything more than a few seconds of audio at a reasonable framerate, that's a lot of images to render into a preview widget at once.
Inputs (9)
| Name | Type | Default | Description |
|---|---|---|---|
| output_type | COMBO | image | Choose the output type: 'image' for a single frame. Use this option with the INCREMENT seed type and set the Batch Count to the number of frames you want to generate. Use this option to process each frame one at a time. 'image_batch' for all frames as separate images. Use this option together with the VHS Video Combine node, or for whenever you want each frame output at the same time. The audio can be added to this output node. WARNING: If this is output to a Preview Image node, keep in mind the total number of frames you will be generating! It can make ComfyUI freeze or stutter. 'video' for an animated video file. Use this with the 'Save Video' native ComfyUI node to save as video. |
| visualizer_script | COMBO | Select the visualizer script to use for creating the audio visualization. Each script creates different visual patterns based on the audio waveform. You can also create your own visualizers and place them in /nodes/audio_visualizers/ | |
| scale | FLOAT | 1.0 | Scale factor that adjusts the visualizer's sensitivity to the audio amplitude. Higher values make the visualization more responsive to quieter sounds. |
| stereo_to_mono | COMBO | Convert stereo audio to mono by taking the mean of both channels, using only the left channel, or using only the right channel. | |
| framerate | INT | 301β240 | The framerate (frames per second) for video output. Higher values create smoother motion but increase processing time. |
| audio | AUDIO | The audio file to visualize. This contains the waveform and sample rate data. | |
| width | INT | 102464β8192 | The width of the output in pixels. Larger values provide higher resolution but use more memory. |
| height | INT | 102464β8192 | The height of the output in pixels. Larger values provide higher resolution but use more memory. |
| seed | INT | 00β18446744073709550000 | Set to 0 and use 'Control After Generate: Increment' to cycle through frames for the image output. This is not really used as a seed, but as a hack to get the incrementing node behavior and a starting frame. β οΈ IMPORTANT: Setting seed to 0 will automatically reset the visualizer's global state for a clean animation start. |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | Single frame image output. Set Seed to 0 and Control After Generate to Increment to cycle through frames. Connect to image processing nodes. |
| image_batch | IMAGE | Batch of all frames as separate images. Can be connected to the VHS Video Combine node for saving with audio. Make sure framerates match |
| video | VIDEO | Animated video output. Can be connected to Save Video node for saving as video file. |