Nodes/ComfyTV/Audio Visualize
ComfyUI Node

Audio Visualize

Audio Visualize — turn your track into an image the video pipeline can use

By jtydhr88·Created 3 months ago·Updated about 15 hours ago· 725
Audio Visualize
  • audio
  • video
  • image
force_run_token0
project_id
parent_output_id0
modewaveform
width1200
height480
split_channelsfalse
colorintensity
legendtrue
pro_scalelog
pro_colormaproseus
range_db80
gain_db20
freq_gain0.0
show_rmstrue
show_clippingtrue
db_axisfalse

Audio Visualize is the bridge from sound to picture: it renders your track as an image. Four modes - waveform, spectrum, waveform_pro, and spectrum_pro - and each one produces a static image you can drop into the image/video pipeline, overlay on a clip, or use as a visual asset. If you've ever wanted a beat-matching waveform graphic for a music video, a spectrogram for a tutorial, or just a sanity check on what your mix actually contains, this is the node.

The two basic modes are FFmpeg filters (showwavespic, showspectrumpic) rendered straight to a PNG: waveform draws the amplitude over time; spectrum draws frequency content over time with a colormap. Both take width/height (up to 4096×2048) and split_channels for the waveform, or color (intensity, channel, rainbow, viridis, magma, and a dozen more) plus legend for the spectrum.

The two _pro modes are the pack's own higher-fidelity renderers, and they're where this node gets interesting. waveform_pro draws a proper stereo waveform with optional show_rms and show_clipping overlays and a db_axis - genuinely useful for checking loudness and whether anything's slamming the ceiling. spectrum_pro is a log/mel/linear spectrogram with the pack's own "roseus" colormap (pro_colormap), and the display controls you'd expect from an analyzer: range_db (the dB window, default 80), gain_db (sensitivity), and freq_gain (a dB/octave tilt to compensate for how high frequencies smear).

Input is audio or video (it visualizes the video's soundtrack). Output is a single image (COMFYTV_IMAGE) - which is the clever part, because it means the result plugs straight into the image side of ComfyTV, or through the Bridge nodes into any standard ComfyUI image node. It's an asset, not a dead-end screenshot.

Honest framing: the pro modes are the reason to install the node; the basic modes are nice but you could get the same from a standalone analyzer. The pro waveform with clipping flags is a legitimate loudness check before you export - run it, glance at whether show_clipping lights up, and you've caught the peak that would have ruined the render. For animated visualizers that dance to the beat, this is the wrong tool - that's the Audio Reactive stage plus a video FX chain - but as a still diagnostic and a graphic asset, this is the right one.

Install is the pack-wide story: ComfyUI Manager search "ComfyTV", or git clone https://github.com/jtydhr88/ComfyTV into custom_nodes/, then a full backend restart (Desktop/macOS: clone by absolute path into the running instance). Zero extra pip dependencies - rendering uses numpy/PIL and FFmpeg filters, CPU-only, no models.

CategoryComfyTV/AudioFX

Inputs (19)

NameTypeDefaultDescription
force_run_tokenINT00–2147483647Internal — bumped on Run to invalidate ComfyUI's input cache.
project_idSTRINGInternal — populated by the projectStore on the frontend.
parent_output_idINT00–2147483647Internal — lineage parent set by spawn handlers on the frontend.
modeCOMBOwaveform4 options: waveform, spectrum, waveform_pro, spectrum_pro
widthINT1200240–4096
heightINT480120–2048
split_channelsBOOLEANfalse
colorCOMBOintensity15 options: intensity, channel, rainbow, moreland, nebulae, fire, +9
legendBOOLEANtrue
pro_scaleCOMBOlog3 options: log, linear, mel
pro_colormapCOMBOroseus2 options: roseus, gray
range_dbFLOAT8020–120
gain_dbFLOAT200–60
freq_gainFLOAT0.0-10–10
show_rmsBOOLEANtrue
show_clippingBOOLEANtrue
db_axisBOOLEANfalse
audiooptCOMFYTV_AUDIO
videooptCOMFYTV_VIDEO

Outputs (1)

NameTypeDescription
imageCOMFYTV_IMAGE