Null Audio Checker
Did that generated video actually get an audio track?
- audio
- is_empty
Nothing kills a batch render like finding out half your videos came out silent. When a model generates video without an audio track - which is most text-to-video models, and a real failure mode even on the audio-capable ones - ComfyUI-VideoHelperSuite hands you an AUDIO object that's quietly empty. Null Audio Checker from comfyui-daz-tools exists to catch that: it takes the audio, and tells you plainly whether there are any samples in it.
How it works
The node's one input is audio (type AUDIO), which is the format VideoHelperSuite produces. Its one output is is_empty (BOOLEAN). Under the hood it looks at the waveform tensor inside the audio object and returns True when the last dimension - the sample count - is zero. That means the "video had no audio track" case, exactly as the node's description says.
There's a defensive detail worth knowing: if reading the waveform fails for any reason (malformed audio, wrong structure, a non-VHS audio format), it also returns True. So it errs toward "treat as empty," which is the safe direction for routing - you'd rather replace the audio than overwrite a real track with silence.
What you do with it
Wire is_empty into a boolean switch and you've got automatic audio fallback:
- Silent videos get music. If the generated clip has no track, route to a music/sound design step; if it does, keep the model's audio.
- Skip unnecessary audio work. Only run audio post-processing (mixing, trimming, the pack's own Sound Mixer) when there's actually a track to process.
- Batching with awareness. Log it, or accumulate a count of silent clips so you know how many of your renders need a manual pass.
This matters more than it sounds like. LTX-2 generation is audio-and-video together - when that pipeline drops audio, it tends to drop it silently - and Wan workflows that "should" have sound frequently come out mute. A single boolean check lets your graph decide instead of making you eyeball every clip.
Installing it
Same pack install as everything here:
cd ComfyUI/custom_nodes
git clone https://github.com/denyazzolin/comfyui-daz-tools
Restart ComfyUI, or use ComfyUI Manager and search comfyui-daz-tools. No extra dependencies.
Gotchas
The main one is a type requirement: the input is AUDIO, the VideoHelperSuite audio type. If your node produces audio in some other shape (raw waveform tensors from a custom node), CheckNull's * input will take it but Null Audio Checker expects the AUDIO structure with a waveform key. And remember the fail-closed behavior above - a True result means "no samples or unreadable audio," which is fine for most routing but worth knowing if you're debugging a mystery. It's a small node, but it's the kind of guard that keeps a 50-clip batch from being a 40-silent-clip batch.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| audio | AUDIO | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| is_empty | BOOLEAN | — |