Nodes/ComfyUI/Concatenate Audio
ComfyUI Node Runs on cloud

Concatenate Audio

Splicing audio the way you already splice images

By Comfy-Org·Created 4 years ago·Updated 26 minutes ago· 129,909
Concatenate Audio
  • audio1
  • audio2
  • AUDIO
directionafter

AudioConcat is the node for the boring, essential jobs nobody celebrates: joining your intro track to the main piece, stacking two spoken segments, stitching a loop's worth of generated audio into a longer piece. It appends one AUDIO tensor to another, in the direction you choose, and hands you back a single continuous track. It's the audio equivalent of torch.cat - which, underneath, is literally what it does.

Where AudioMerge overlays two tracks on top of each other, AudioConcat places them end to end. If you're building anything longer than a single generation - a podcast, a montage, a multi-section track - this is the glue. It also pairs with TrimAudioDuration beautifully: trim each source to its good part, then concatenate the parts into an assembly. That's a two-node "edit" that covers a surprising amount of real workflow.

How it works

Three things happen before the actual splice. First, if either input is mono, it's duplicated into stereo - the pipeline just doesn't like mixed channel counts. Then the two tracks are resampled to the higher sample rate if they differ, so a 44.1 kHz voiceover and a 48 kHz music bed join without a pitch jump. Finally, depending on direction, audio2 is appended after audio1 (default) or before it, and the samples are concatenated along the time axis.

That's it. No crossfade, no envelope smoothing - just a hard splice at the boundary. For spoken word that's usually fine. For music, a hard cut between sections is the difference between a demo and a mix, so plan your trims so the cut lands somewhere musical.

Inputs and output

  • audio1 (AUDIO) - the first track.
  • audio2 (AUDIO) - the second track.
  • direction (COMBO, default after) - append audio2 after or before audio1.
  • AUDIO (output) - the concatenated track, total length of both inputs.

One pattern that pays off: build a "blank canvas" with EmptyAudio and use it as audio1, then concatenate sections onto it in sequence. Because concatenation is lossless and always lands in order, you can chain several trims and concats into a full assembly - a track made of pieces, each piece trimmed to its good part upstream.

Getting it

Ships with ComfyUI core; part of the September 2025 audio editing batch. No install.

Common issues

The gotcha is the hard splice. Since there's no crossfade, you'll hear a click if you cut mid-syllable or mid-decay - trim your sources with TrimAudioDuration so boundaries fall in silence or at a natural rest. And remember the mono-to-stereo duplication: a mono voiceover appended to a stereo track won't come out mono, it'll be the same signal on both channels, which is exactly what you want. If the two inputs have wildly different levels, normalize with AudioAdjustVolume before splicing or one section will jump out of the mix.

Categoryaudio

Inputs (3)

NameTypeDefaultDescription
audio1AUDIO
audio2AUDIO
directionCOMBOafterWhether to append audio2 after or before audio1.

Outputs (1)

NameTypeDescription
AUDIOAUDIO