MD: Audio Analyzer (Report + LUFS)
See your audio before you master it
- audio
- spectrum_plot
- spectrogram_plot
- lufs_report
Mastering blind is how you end up with audio that sounds great on headphones and muddy on a phone. MD_Audio_Spectrum_Analyzer_Enhanced is the second opinion: it turns your audio into two visual plots - a frequency spectrum and a full spectrogram - plus a text report with the loudness numbers that actually matter for broadcast, measured the way the broadcasters measure.
It's the analyzer half of this pack's broadcast tooling, and it shares the ITU-R BS.1770-4 approach with the pack's LUFS normalizer. That's the real standard, not an RMS guess: it computes loudness (LUFS), true peak (dBTP), and dynamic range from the actual waveform, then hands it to you as a human-readable report.
The inputs
audio- the AUDIO to analyze.fft_size- frequency vs. time resolution trade-off, default 4096. Higher gives better bass detail but smears transients; lower captures crisp onsets at the cost of low-frequency precision. The tooltip's recommendation (4096 for standard mastering analysis) is a sound default.frequency_scale- Logarithmic (musical view, bass/mids get room) or Linear (uniform Hz spacing, the technical view). Logarithmic for music, per the tooltip, and it's right - our ears and most mixes live there.debug_mode- verbosity.
Outputs
Three wires, each doing a different job:
spectrum_plot- the frequency spectrum (the "where is my energy sitting" view). Instant read on whether a mix is muddy or harsh.spectrogram_plot- frequency over time. The full picture: where the bass hits, whether the top end is consistent, whether that artifact lives at 3 seconds or 20.lufs_report- the STRING report: LUFS, true peak in dBTP, and dynamics, formatted for pasting into a text display node. This is the number you match to a platform target before you normalize.
How to use it
The workflow pattern is: generate → analyze → read the report → master. If the report says you're at -23 LUFS with a -1.2 dBTP, you've got headroom and you can push; if true peak is already at -0.5 while LUFS is low, you've got a peaky problem that a limiter needs to solve, not more gain. Pair it with this pack's Mastering Chain and the numbers become actionable - the analyzer tells you what's wrong, the chain fixes it, and you re-run the analyzer to confirm.
Installing it
Part of MD Nodes (MDMAchine/ComfyUI_MD_Nodes). ComfyUI Manager → search MD_Nodes → Install, restart, or:
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
The plots need matplotlib; accurate LUFS measurement leans on pyloudnorm - both in the pack's requirements. Python 3.10+, current ComfyUI.
Common issues
Don't expect the plots to tell you what to do - they describe, they don't prescribe, and reading them well takes a little practice. If the plots look empty or the report is missing, the usual culprit is a missing plotting/loudness dependency (matplotlib / pyloudnorm) rather than a bad input. And if you analyze a mono track, expect the report's channel comparison to be minimal - the stereo-phase info is only meaningful on actual stereo content.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| audio | AUDIO | AUDIO INPUT • Purpose: The audio signal to analyze. | |
| fft_sizeopt | INT | 4096512–8192 | FFT SIZE • Purpose: Determines frequency vs time resolution. • Trade-offs: Higher values give better bass detail but smear transients. ⭐ Recommended: 4096 for standard mastering analysis. |
| frequency_scaleopt | COMBO | Logarithmic | FREQUENCY SCALE • Purpose: Defines the X-Axis plotting mode. • Logarithmic: Musical view (focus on bass/mids). • Linear: Technical view (Uniform Hz spacing). ⭐ Recommended: Logarithmic for musical content. |
| debug_modeopt | COMBO | 0 - Silent | LOGGING VERBOSITY • Controls console output and profiling. |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| spectrum_plot | IMAGE | — |
| spectrogram_plot | IMAGE | — |
| lufs_report | STRING | — |