Nodes/IAMCCS-nodes/MiniMax H3 Audio Chunk Concat
ComfyUI Node

MiniMax H3 Audio Chunk Concat

Stitch per-chunk H3 audio back together without clicks at the seams

By IAMCCS·Created 11 months ago·Updated 5 days ago· 113
MiniMax H3 Audio Chunk Concat
  • audio_1
  • audio_2
  • audio_3
  • audio_4
  • audio_5
  • audio_6
  • audio_7
  • audio_8
  • audio_9
  • audio_10
  • audio_11
  • audio_12
  • audio_13
  • audio_14
  • audio_15
  • audio_16
  • audio
  • report
trim_head_frames1
crossfade_ms42
fps24

Multi-chunk H3 renders produce one audio tensor per chunk, and the last thing you want at the end of a long render is a master with a click or a double-frame every time a chunk boundary rolls around. IAMCCS_MiniMaxH3AudioConcat is the stitching node: it takes up to sixteen AUDIO inputs (one per chunk), resamples them to a common rate, normalizes to a common channel count, trims a few head frames, and crossfades the seams into one continuous audio output. It's the audio analog of the video concatenation you're already doing downstream - and it exists because a naive append sounds exactly as bad as it sounds.

The three settings are where the audio expertise hides:

  • trim_head_frames (default 1) - the number of frames to shave off the head of each incoming chunk. In this pipeline, chunks are generated with overlap for continuity, so the head of chunk N+1 repeats the tail of chunk N. Trimming one frame by default removes the duplicate without cutting into new material.
  • crossfade_ms (default 41.67) - the crossfade length in milliseconds. Notice the default: 41.67ms is exactly one frame at 24fps. The author set that for a reason - it's the "fade across the exact boundary" value for a 24fps pipeline. Raise it if you hear a seam, but you shouldn't need to at default.
  • fps (24) - needed so the node knows what a "frame" of audio means when interpreting trim_head_frames.

Internally it takes the first non-empty input's sample rate as the target (32000 is what this ecosystem tends to use), resamples everything else to match, forces stereo (mono gets duplicated, too many channels get truncated), applies the trim and crossfade, and concatenates. If it receives no usable audio at all it raises an error whose message is in Italian ("Nessun audio da concatenare") - a charming touch from the author and a reminder that this pack's docs lean on a single maintainer's phrasing. The report output tells you how many chunks went in and what the outcome was.

This node is the sibling of the timeline-mix and policy nodes, and the division of labor is worth getting straight: IAMCCS_MiniMaxH3AudioTimelineMixR21 mixes lanes onto the H3 chunk grid, and IAMCCS_MiniMaxH3AudioPolicy selects which soundtrack a chunk keeps - this node concatenates the per-chunk results into the master. If your graph already has a single contiguous audio stream from the mix node, you don't need this one. You reach for it when each chunk comes out of the backend with its own audio and you're assembling the master yourself.

Installation: search IAMCCS in ComfyUI Manager or clone https://github.com/IAMCCS/IAMCCS-nodes.git into custom_nodes, restart. It's pure torch tensor work - no models, no external dependencies.

The gotcha that will bite: feeding it a list of chunks that have already been trimmed upstream and leaving trim_head_frames at 1 - you'll silently lose one frame of audio per chunk. The default assumes chunks arrive with the overlap intact. If your backend already trims, set trim_head_frames to 0. And if the output runs long or short, check whether you're giving it one chunk per segment or per frame - feeding it per-frame tensors is a common wiring mistake when you're reusing a video-side pattern.

CategoryIAMCCS/MiniMax H3

Inputs (19)

NameTypeDefaultDescription
audio_1AUDIO
trim_head_framesINT10–24
crossfade_msFLOAT420–1000
fpsFLOAT241–240
audio_2optAUDIO
audio_3optAUDIO
audio_4optAUDIO
audio_5optAUDIO
audio_6optAUDIO
audio_7optAUDIO
audio_8optAUDIO
audio_9optAUDIO
audio_10optAUDIO
audio_11optAUDIO
audio_12optAUDIO
audio_13optAUDIO
audio_14optAUDIO
audio_15optAUDIO
audio_16optAUDIO

Outputs (2)

NameTypeDescription
audioAUDIO
reportSTRING