Nodes/ComfyUI-Audio-Waveform-Visualizer/Audio Waveform Visualizer
ComfyUI Node

Audio Waveform Visualizer

See your audio on the canvas — no image file required

By kaushiknishchay·Created 7 months ago·Updated 5 months ago· 8
Audio Waveform Visualizer
  • audio
  • AUDIO

The first thing to know about Audio Waveform Visualizer is that it never gives you an image you can save. You wire in an AUDIO, run the graph, and a blue waveform draws itself onto the node's own face - dark background, center line, the works. That's the whole job. It's a preview for the browser, and that's exactly what makes it the right tool for a specific moment: when you're fiddling with an audio-to-video workflow and want to look at the track you're about to feed the model before you commit to a render.

This is a real use case, not a hypothetical. Audio-conditioned video is a thing in this ecosystem now - LTX-Video ships native audio, Wan needs an MMAudio stage bolted on - and both pipelines start with a track loaded by ComfyUI's core Load Audio or VideoHelperSuite. That track is invisible; you can't glance at it the way you can an image. This node puts it on screen.

How it works. The Python side does the heavy lifting but deliberately not much of it: it merges stereo to mono, clips everything to [-1, 1], scrubs out any NaNs, and decimates the audio down to roughly 4,000 points so the browser doesn't choke on a long track. Then it ships those points to the frontend, where the node's JavaScript draws them onto an offscreen canvas and paints that onto the node's foreground. Resize the node and it just re-blits the buffer. No matplotlib, no temp files, no heavy compute - this is the fastest of the three nodes in its pack.

The gotcha. The node passes audio through unchanged - its only output is AUDIO, the same thing that went in. That means you can drop it in the middle of a chain like a spy and it won't alter a sample. But it also means the visualization lives and dies in your browser session. Refresh the UI and it's gone. Collapse the node and it doesn't draw. If you need something you can save, overlay, or ship to a video editor, this isn't it - use its siblings in the same pack instead.

Inputs & outputs. There's exactly one input, audio (AUDIO), which any ComfyUI audio node produces. Nothing to configure, no parameters to fiddle with. One output: AUDIO, the passthrough. That's the whole surface area, and the simplicity is kind of the point.

Install. Same routine as every node in this pack - it's in ComfyUI Manager (search "Audio Waveform Visualizer"), or:

cd ComfyUI/custom_nodes/
git clone https://github.com/kaushiknishchay/ComfyUI-Audio-Waveform-Visualizer audio-visualizer

then restart ComfyUI. Python deps are matplotlib and soundfile plus the usual torch/numpy/Pillow that come with ComfyUI anyway. No model files, nothing heavy. The pack is from Nishchay Kaushik, the same dev behind the Qwen3-ASR transcription node - small, focused audio tooling.

Troubleshooting. The most common "it doesn't work" is actually "I didn't run it." The waveform draws in the onExecuted callback, so if you haven't queued the graph since wiring it in, there's nothing to show. Check the node isn't collapsed, and remember a very long track gets decimated hard - you'll see a faithful shape, not every transient. If the squiggle looks tiny, drag the node bigger; the buffer re-renders on resize.

It's a niche node with a niche job: quick visual confirmation that the audio you loaded is the audio you meant. For that, it's genuinely the fastest path.

CategoryAudioTools

Inputs (1)

NameTypeDefaultDescription
audioAUDIO

Outputs (1)

NameTypeDescription
AUDIOAUDIO