Nodes/TKNodes/Audio Merge/Fuse
ComfyUI Node

Audio Merge/Fuse

Mix your audio tracks without leaving ComfyUI — the Audio Merge/Fuse node

By trashkollector·Created about a year ago·Updated a day ago· 1
Audio Merge/Fuse
  • audio1
  • audio2
  • audio3
  • AUDIO
audio1_volume0
audio2_volume0
audio3_volume0

The name tells you most of it: Audio Merge/Fuse takes up to three AUDIO streams and smashes them into one. If you've ever sat there with dialogue from one generation, a music bed from another, and no idea how to get them both into the same video file without editing software, this is the node that saves you the trip to Audacity.

It exists because video models with native audio - LTX 2.3 being the big one - make "bolt a soundtrack onto a clip" a ComfyUI problem instead of an NLE problem. The audio layer in ComfyUI is still a bolt-on (the community spent years with silent videos and only recently started wanting sound), so a node like this quietly does the job a mixer board does on a real set: several sources in, one master out.

How it works

This is a mix, not a concat. The source code resamples everything to the lowest sample rate in the group, downmixes to mono, pads the shorter clips with silence, and then averages the tensors sample-by-sample. Three things follow from that, and you should know all three:

  • Output is mono. If you feed stereo sources you get a downmixed mono signal back. Fine for most spoken-dialogue workflows, surprising if you were expecting to preserve a stereo image.
  • The shorter clip gets zero-padded, not looped. It plays once and then silence carries. Feed a 5s music loop into a 20s dialogue track and the music stops at 5s unless you already trimmed it to fit.
  • Volume is a coarse dial, not a fader. Each INT step is 3dB - audio1_volume from -10 to +10, with 0 meaning "as-is". The tooltip spells it out: -10 is quietest, 0 is normal, 10 is loudest.

The inputs that matter

audio1 and audio2 are required AUDIO sockets; audio3 is optional. Each has its own *_volume integer. That's the whole interface - the only real decisions you make are which two or three streams to wire in and whether to duck the music a couple of steps below the voice.

Output

One AUDIO socket with the fused mix, ready to feed a SaveAudio-style node, a video combiner, or - if you're building one of those LTX talking-head pipelines - straight into the audio conditioning side of a video model that accepts audio. It's also the audio half of this pack's TKVideoAudioFuse, which does the same merging but alongside a video IMAGE stream in one pass.

Installing it

This ships in the trashkollector/TKNodes pack ("ComfyUI Handy Nodes"). Grab it from ComfyUI Manager by searching "Handy Nodes", or:

cd ComfyUI/custom_nodes
git clone https://github.com/trashkollector/TKNodes

Restart after cloning. The pack depends on pydub, which needs FFmpeg on your system PATH - if you get audio errors on first run, that's almost always why. No API keys, no model downloads for this node.

Common issues

The two that actually bite: feeding tracks with very different sample rates (the node silently picks the lowest, so a 44.1kHz vocal plus a 16kHz generated clip comes out 16kHz - resample your sources first if fidelity matters), and expecting stereo out of a mono mixer. Neither is a bug; both are the mechanism doing exactly what it says. If your fused audio is quieter than you expect, that's the averaging too - two tracks at full volume sum to half each, which is how real buses behave.

CategoryTKNodes

Inputs (6)

NameTypeDefaultDescription
audio1AUDIOFuse or merge two to 3 audio streams together producing 1 final audio
audio1_volumeINT0-10–10Enter volume -10 lowest, 0 = normal, 10 = loudest
audio2AUDIOFuse or merge two to 3 audio streams together producing 1 final audio
audio2_volumeINT0-10–10Enter volume -10 lowest, 0 = normal, 10 = loudest
audio3optAUDIO
audio3_volumeoptINT0-10–10Enter volume -10 lowest, 0 = normal, 10 = loudest

Outputs (1)

NameTypeDescription
AUDIOAUDIO