Nodes/H3 Studio/H3 Seam Probe
ComfyUI Node

H3 Seam Probe

Did your H3 clip actually continue the audio, or just sound like it?

By shootthesound·Created about a month ago·Updated 25 days ago· 29
H3 Seam Probe
  • clip_audio
  • source_audio
  • audio
  • report
seam_frames22
window_seconds1.0

H3 Seam Probe answers a question you can't answer by ear on a single join: when a motion-continuation clip hands over, did the new clip actually continue the same waveform, or did the model write something that merely sounds like it? It measures a join and passes the audio through unchanged, so it lives in your graph permanently and you only read it when a chain matters.

Why it exists

The H3 Studio node can continue a clip by pinning the previous clip's tail frames and audio at the new head - the model continues the actual recording instead of imitating a sound-alike. The failure mode is subtle: a sound-alike can pass on one link by ear, and chain degradation is cumulative and small per link. Measuring one join beats watching six.

What it measures

Feed it three things and it prints a report:

continuation  : lag +0.4 ms, correlation 0.981  -- continuation, on time
level at cut  : +0.31 dB  -- inaudible
room tone     : +0.12 dB  -- inaudible
  • clip_audio - the new clip's audio, untrimmed, straight off the audio VAE decode, before the pinned head is removed.
  • source_audio - the audio of the clip it continues from (the same file motion_context_file names). Its end is the join.
  • seam_frames - how many frames you pinned; the same number as motion_context_frames. The cut sits exactly here.
  • window_seconds - how much audio either side of the cut to measure the level and room-tone steps over.

Correlation is the number to read. Above 0.9 the model continued your actual waveform. Around 0.5 it wrote a sound-alike - the exact failure continuation exists to prevent. Lag catches drift; the two dB figures catch a level or room-tone jump at the cut.

The outputs

audio is the input unchanged - the probe sits inline between the audio VAE decode and the trim, altering nothing. report is the STRING summary, printed to the log too, for when you want to route it to a text preview or a compare node.

Wiring it

In the H3 Studio continuation flow, place it before the pinned head is trimmed off: audio VAE decode → probe → the trim. That's the whole setup. If your source clip is 48kHz and the render comes out at H3's 32kHz, the node resamples the source to match before measuring - a mismatch would otherwise read as a huge lag.

Install

Same pack, same recipe: Manager (search "H3 Studio") or cd ComfyUI/custom_nodes && git clone https://github.com/shootthesound/ComfyUI-H3Studio, restart, hard-refresh (Ctrl+Shift+R) for the frontend extension. Needs a ComfyUI build with MiniMax H3 support (v0.30.0+); no extra Python dependencies. The measurement set and thresholds come from the ComfyUI-H3-Motion-Context project, which the pack credits for the motion-context technique itself.

Categoryaudio/analysis

Inputs (4)

NameTypeDefaultDescription
clip_audioAUDIOThe NEW clip's audio, UNTRIMMED -- straight off the audio VAE decode, before the pinned head is removed.
source_audioAUDIOAudio of the clip this one continues FROM (the same file motion_context_file names). Its END is the join.
seam_framesINT221–240How many frames were pinned -- the same number as motion_context_frames. The cut sits exactly here.
window_secondsFLOAT1.00.1–10How much audio either side of the cut to measure the level and room-tone steps over.

Outputs (2)

NameTypeDescription
audioAUDIO
reportSTRING