Nodes/ComfyUI-SA-Nodes-QQ/Audio Merge ABC (QQ)
ComfyUI Node

Audio Merge ABC (QQ)

Match your three-clip video merge with audio that fades in sync

By siraxe·Created 11 months ago·Updated 2 days ago· 72
Audio Merge ABC (QQ)
  • audio_A
  • audio_B
  • audio_C
  • video_meta
  • audio
video_fps24.0
normalize_volumetrue

If you've ever stitched three generated clips together and just dumped three audio tracks on top, you know the result: a brick wall of noise at every cut. AudioMergeABC is the fix - it merges three audio sources using the exact same fade envelope as the video merge you already did, so the audio crossfades land precisely where the visual crossfades land. It's the audio half of the pack's A→B→C assembly story, and it exists because eyeballing audio fades never works.

It's part of siraxe/ComfyUI-WanVideoWrapper_QQ, the "(QQ)" Wan pack. Niche, yes - but if you're assembling multi-shot Wan videos with audio, this is the node that keeps the seams from being audible.

How it works

The clever bit is the video_meta input. When you run the companion VideoMergeABC node, it outputs a VIDEO_META blob carrying the exact overlap lengths and easing settings it used (A_overlap, B_overlap, easing_clamp, easing_type). AudioMergeABC reads that metadata instead of asking you to re-enter the numbers, then applies the same curve to audio. A fades out through the A→B zone, B sits at full volume through the middle, B fades out and C fades in across B→C. Same structure as the video, by construction.

Audio is processed on CPU to dodge device-mismatch crashes. Each track is resampled to a common rate (at least 44.1 kHz), channel counts are matched, and if normalize_volume is on (default), each source is peak-normalized before blending so one loud clip doesn't dominate. If you leave an audio input disconnected, it substitutes silence of the right length - the video still works, you just get a silent section.

Inputs and outputs that matter

  • audio_A, audio_B, audio_C - three AUDIO tensors, one per clip segment.
  • video_meta - the VIDEO_META output from VideoMergeABC. This is what keeps audio and video in lockstep.
  • video_fps - your project frame rate (default 24). Used to convert frame counts to audio samples.
  • normalize_volume - peak-normalize each track before blending (default on).

Output: a single merged audio in ComfyUI's AUDIO format, ready for a video-combine/save node that accepts audio.

Installation

cd ComfyUI/custom_nodes
git clone https://github.com/siraxe/ComfyUI-WanVideoWrapper_QQ.git

Restart ComfyUI (or ComfyUI Manager → search "WanVideoWrapper_QQ"). No extra Python packages needed - the pack's requirements.txt is empty and this runs on torch alone. As with the rest of the pack, if you're upgrading from before v1.3.4, delete the old wanwrapper_qq folder to avoid duplicate-import warnings after the rename to ComfyUI-SA-Nodes-QQ.

Common issues

The number-one failure is feeding it stale or missing video_meta - if you wired it from a different merge run, the fades will drift from the visuals. Run the video merge first, and wire its video_meta straight into this node. Also don't expect magic from normalization: it fixes loudness mismatch, not clipping, so a track that's already peaking will stay crunchy. And there's a subtle one - the node assumes your audio tracks are about the same length as their video segments. Wildly mismatched audio (a 10-second clip on a 2-second segment) gets truncated to fit, so trim before you merge.

CategoryWanVideoWrapper_QQ/audio

Inputs (6)

NameTypeDefaultDescription
audio_AAUDIO
audio_BAUDIO
audio_CAUDIO
video_metaVIDEO_META
video_fpsFLOAT24.01–120
normalize_volumeBOOLEANtrue

Outputs (1)

NameTypeDescription
audioAUDIO