Nodes/MiniMax H3 Audio T8/MiniMax H3 Audio Integrity Audit / 音频完整性审计 (Advanced/T8)
ComfyUI Node

MiniMax H3 Audio Integrity Audit / 音频完整性审计 (Advanced/T8)

An audio QC pass that never touches the audio

By T8mars·Created 20 days ago·Updated a day ago· 807
MiniMax H3 Audio Integrity Audit / 音频完整性审计 (Advanced/T8)
  • audio
  • audio
  • pass_audit
  • decision
  • exact_samples
  • duration_seconds
  • av_delta_ms
  • report_json
video_frame_count0
fps24.000
opening_window_ms40
comparison_window_ms250
pop_jump_threshold0.150
dc_jump_threshold0.0200
wrap_correlation_threshold0.985
clipping_ratio_threshold0.0010
max_av_delta_ms21.0

Every H3 user knows the failure mode: the clip looks great, and somewhere in the audio there's a click, a DC bump, or the tail wraps into the head so a loop sounds like a vinyl skip. MiniMaxH3AudioIntegrityAuditT8Advanced is the QC pass that catches those before you render anything, and the whole point is in its name - audit. It runs entirely on CPU, changes nothing, and hands you a PASS or ABSTAIN verdict you can use to gate the rest of your workflow.

The pack positions this as a preflight for speech, dialogue and ADR work. It's a report-only node: output zero mutates the input audio (the first output is just the audio passed through untouched). Where the other audits in this family are about sound quality, this one is about signal integrity - the mechanical glitches that come from generation seams, trimming and re-encoding.

What it checks

  • Opening discontinuity - a pop or jump in the first opening_window_ms (40ms default), where glitches love to hide.
  • Tail/head similarity - if the end of the clip is nearly identical to the start (wrap_correlation_threshold 0.985), it flags loop-wrapping. That's a hint your clip is meant to loop but won't, not proof it's broken.
  • DC jumps - sudden offsets in the signal (dc_jump_threshold 0.02). These read as speaker thumps.
  • Clipping - samples pinned at full scale (clipping_ratio_threshold 0.001).
  • Exact sample count - it reports exact_samples, so you can verify a generated clip has the precise sample count a downstream step expects.
  • A/V boundary - feed it video_frame_count (0 = skip) and fps (24) and it reports av_delta_ms against max_av_delta_ms (21ms default) so you can confirm audio isn't drifting out of sync with the video.

When a risk is found it returns ABSTAIN rather than a confident "broken." The author's own line is that a loop of music will often trigger the tail/head-similarity flag - that's a warning to look, not a verdict to trust blindly.

Wiring

audio in, then read pass_audit (BOOLEAN) and decision (STRING). Wire pass_audit into a switch or a MiniMaxH3 gate so an ABSTAIN blocks the render instead of shipping a clicky clip. The report_json output holds the full evidence for a NOTE node. It's in T8/MiniMax H3/Audio/Advanced, alongside its sibling the Perceptual Drift Audit - use this one for mechanical integrity and that one for "the voice suddenly sounds far away."

Install

Same pack install as everything else from T8mars:

cd ComfyUI/custom_nodes
git clone https://github.com/T8mars/comfyui-minimax-h3-audio-T8

Restart ComfyUI. This node needs no extra pip packages and no model files - it's pure CPU signal analysis, which makes it the cheapest QC gate you can drop into a Long Video or dialogue chain. Just remember it diagnoses, it never repairs. There's no auto-fix mode, by design: the author would rather you hear the clip and decide than have software silently "fix" audio it was told not to touch.

CategoryT8/MiniMax H3/Audio/Advanced

Inputs (10)

NameTypeDefaultDescription
audioAUDIO
video_frame_countINT00–10000000 skips A/V boundary comparison; otherwise use the decoded frame count.
fpsFLOAT24.0000.001–1000
opening_window_msFLOAT401–1000
comparison_window_msFLOAT25025–5000
pop_jump_thresholdFLOAT0.1500.001–2
dc_jump_thresholdFLOAT0.02000.0001–1
wrap_correlation_thresholdFLOAT0.9850–1
clipping_ratio_thresholdFLOAT0.00100–1
max_av_delta_msFLOAT21.00–10000

Outputs (7)

NameTypeDescription
audioAUDIO
pass_auditBOOLEAN
decisionSTRING
exact_samplesINT
duration_secondsFLOAT
av_delta_msFLOAT
report_jsonSTRING