MD: Audio Spectrum Visualizer (Plot)
Actually see what your generated audio sounds like
- audio
- frequency_plot
- spectrogram_plot
- lufs_report
AI audio is hard to judge by ear in the middle of a workflow. Is that hiss real or am I imagining it? Did the master actually tame that 2kHz harshness, or did it just get louder? MD_Audio_Spectrum_Visualizer is the pack's answer: it takes an AUDIO stream and renders frequency analysis as images you can preview right on the canvas - a frequency plot and a spectrogram, plus a LUFS report string. If you're doing ACE-Step music generation and mastering, this is the "let me see what I'm hearing" node that turns debugging from guesswork into looking at pictures.
What you get
Three outputs from one audio input:
frequency_plot- an FFT magnitude plot of the spectrum.spectrogram_plot- a time×frequency spectrogram with a colormap, so you can see how the spectrum evolves across the track. This is the one that exposes washout, resonances, and clipped highs at a glance.lufs_report- a string with loudness info, which pairs well with a LUFS normalization node downstream.
The inputs that matter
fft_size(512–8192, default 4096) - FFT resolution. The tooltip is right: 4096 is the best balance for full mixes; go smaller for a faster, coarser view.scale_type- Logarithmic or Linear X-axis. Log is the standard for music; the tooltip suggests Linear specifically for spotting high-frequency noise, since it stretches that region out.linear_max_freq- when you're in Linear mode, the max frequency shown (auto-clamped to Nyquist). Drop it to 5000 to inspect the low-mids.colormap- inferno/viridis/plasma/magma/cividis. Cosmetic, but a good colormap makes dense spectrograms readable.debug_mode- silent/info/verbose console output.
Where it fits
It's a pure analysis node - it doesn't change the audio, it just reports on it. The natural placement is between stages: after generation, after Auto EQ, after mastering. Run it before and after a node and you can literally see what the processing did, which is worth more than a dozen A/B listens when you're tuning a master chain. It's also genuinely useful for verifying that a model didn't silently produce an empty or clipped signal - a spectrogram of silence is unmistakable.
The honest caveat: it's a debugging tool in a niche pack. If you already have a spectrogram utility, this adds nothing except being native to the graph and co-existing with the pack's audio nodes. But if you're inside the MD Nodes ecosystem, having this as an in-graph step is more convenient than tabbing out to a DAW.
Installing
It's part of MD Nodes:
cd path/to/ComfyUI/custom_nodes
git clone https://github.com/MDMAchine/ComfyUI_MD_Nodes.git
cd ComfyUI_MD_Nodes && pip install -r requirements.txt
Or via ComfyUI Manager (search MD Nodes), then restart. The pack's requirements include librosa, soundfile, and matplotlib - matplotlib is what renders these plots, so this node is one of the reasons the install is heavy.
One tip from the tooltips: linear scale at 5000Hz is the fastest way to find a specific high-frequency artifact. And if the spectrogram looks like static, your problem is upstream in the model, not in the plot.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| audio | AUDIO | AUDIO INPUT • Signal to visualize. | |
| fft_size | INT | 4096512–8192 | FFT SIZE • Purpose: Resolution of analysis. ⭐ 4096 is the best balance for full mixes. |
| scale_type | COMBO | Logarithmic | SCALE TYPE • Purpose: X-Axis frequency scaling. ⭐ Use Linear to spot specific high-frequency noise. |
| linear_max_freq | INT | 50001000–22050 | LINEAR ZOOM LIMIT • Purpose: Sets max frequency for Linear scale (Auto-clamped to Nyquist). ⭐ Set to 5000 to inspect low-mids. |
| colormap | COMBO | inferno | COLORMAP • Purpose: Color scheme for the Spectrogram. |
| debug_modeopt | COMBO | 0 - Silent | LOGGING VERBOSITY • Controls console output detail. |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| frequency_plot | IMAGE | — |
| spectrogram_plot | IMAGE | — |
| lufs_report | STRING | — |