Nodes/Nova Audio Player/Nova Track Inspector Report ๐Ÿ“ˆ
ComfyUI Node

Nova Track Inspector Report ๐Ÿ“ˆ

Read the inspection without leaving the graph

By NovaFemmeยทCreated 20 days agoยทUpdated 2 days agoยท 0
Nova Track Inspector Report ๐Ÿ“ˆ
    • inspection_json
    โ—„inspection_jsonโ€”โ–บ
    โ—„view_modeInspectorโ–บ
    โ—„themeNova Darkโ–บ
    โ—„font_scale1.00โ–บ

    A report node that reads like a dashboard

    Nova Track Inspector ๐Ÿ”ฌ hands you a JSON blob. You can read it - but a wall of key-value pairs is not how you want to find out which eight seconds of your take are the problem.

    This node renders that JSON inside the canvas. One input, four views, three themes, and a right-click menu that exports the whole thing as a PNG. It's the read side of the measurement node, and it's deliberately output-only: it renders, it passes the string back, and it does nothing else.

    Reach for it when you're iterating on generation settings and the report needs to be two inches from the graph rather than in a text editor.

    How it works

    The node takes inspection_json as a forced string input, parses it, and sends it plus your display settings to the frontend as a ui payload. Rendering happens in JavaScript on a DOM widget - no second analysis pass, no image round-trip. What you see is the JSON you fed in.

    One behaviour worth understanding: it's an output node, so it runs when you queue, but the view, theme and font scale are pure presentation. Change view_mode after a run and it re-renders locally from the cached report - no re-queue, no re-inspecting the audio - and there's an Apply View button for an explicit refresh. The frontend keeps your local widget values authoritative after the first render so a stale backend value can't fight you. If the string doesn't parse you get an error block naming the problem instead of a dead node; the input passes through untouched either way.

    The four views

    Inspector is the one you'll live in: hero block with verdict and grade, metric cards - noise risk, marker count, critical count, section count, track RMS, crest, L/R correlation, global coherence - then the waveform with issue markers pinned to it, the eight subscores as bars, and the full marker list. Click a marker and the waveform scrolls to it. Verdict tells you whether; the waveform tells you where.

    Timeline is the forensic view: the same waveform plus sparklines for window RMS, crest factor, stereo correlation, the four band percentages, noise likelihood and coherence score. This is where you catch a level that sags for forty seconds without any single window tripping a threshold.

    Markers is the full event list, with scores and severities - good for working through a long list one at a time.

    Technical is a raw, pretty-printed JSON dump - unglamorous, and the fastest way to grab a field name when you're wiring inspection_json into a database node.

    Inputs

    Only one is required, and it's the one you wire:

    • inspection_json - forced string input. Wire it from the inspector's inspection_json output; nothing else in the pack produces a payload this viewer understands.
    • view_mode - Inspector, Timeline, Markers, Technical.
    • theme - Nova Dark, High Contrast, Studio Slate. A CSS swap, nothing more.
    • font_scale - 0.75 to 1.5, default 1.0.

    Its output is the same inspection_json string you put in, so you can chain it: inspector โ†’ viewer โ†’ console.

    Install

    The viewer ships in the same pack, so one install gets you both:

    cd ComfyUI/custom_nodes
    git clone https://github.com/NovaFemme/ComfyUI-NovaAudioPlayer.git
    

    or via the registry, which is the supported route:

    comfy node install comfyui-novaaudioplayer
    

    Restart ComfyUI; the node is under โ–ถ๏ธ Nova Audio โ†’ ๐Ÿ—‚๏ธ Data Viewers. mutagen and pymysql are the pack's only declared dependencies and neither is needed here. No models, no downloads.

    Exporting a report as an image

    Right-click the node โ†’ Export views โ†’ images. It rasterises the exportable views at a fixed 1200 px CSS width and 1.5ร— device pixels, writing PNGs into NovaAudioMasters/ReportImages. The picture comes from the viewer's own live DOM, so it's the thing on your screen, not a redraw that happens to differ.

    Two notes: Technical is deliberately skipped (a screenshot of a JSON dump isn't worth the bytes), and the fixed width means an export doesn't depend on how big you dragged the node - two exports of the same report match.

    Where people get burned

    Nothing renders until the viewer has run at least once. Before that the node says so. Changing view_mode won't magic a report into existence; you need a queue that actually executed the node with a valid inspection_json attached.

    It will happily render a stale payload. The report is just a string, so if you're feeding it output cached from an earlier render, the viewer can't know. The inspector writes a source_pcm_sha256 into every report - if a marker looks wrong for the take you're listening to, check that hash before you trust the picture.

    Font scale is a display preference, not part of the theme, so it survives a theme switch. On a 1440p or 4K display turn it up; the defaults were picked against 1080p, and the report is text-dense.

    Categoryโ–ถ๏ธ Nova Audio/๐Ÿ—‚๏ธ Data Viewers

    Inputs (4)

    NameTypeDefaultDescription
    inspection_jsonSTRINGโ€”
    view_modeCOMBOInspector4 options: Inspector, Timeline, Markers, Technical
    themeCOMBONova Dark3 options: Nova Dark, High Contrast, Studio Slate
    font_scaleFLOAT1.000.75โ€“1.5โ€”

    Outputs (1)

    NameTypeDescription
    inspection_jsonSTRINGโ€”