Join Audio Channels
The other half of the stereo round-trip
- audio_left
- audio_right
- audio
JoinAudioChannels takes two mono tracks - one for the left channel, one for the right - and combines them into a single stereo AUDIO tensor. It's the mirror image of SplitAudioChannels, and together the pair gives you the audio version of masking: pull a stereo track apart, process each side independently, and sew them back together into one output.
The practical uses are specific but real. You split a stereo recording to work on the left and right halves separately - say, EQ or denoise one side, or replace one channel entirely - then join them back. You have two separately-generated mono tracks that you want as a proper stereo pair rather than two identical sides. Or you're assembling a stereo bed from mono stems. It landed in ComfyUI core in January 2026, making it one of the newer audio nodes.
How it works
Two things happen before the join, and both are automatic safety nets. First, if the two inputs have different sample rates, the lower one is resampled up to match the higher - no pitch shift, just a clean resample. Second, if the two tracks have different lengths, the longer one is trimmed down to the shorter's length. Then the two mono waveforms are stacked along the channel dimension into a stereo tensor.
The requirements are the same mirror of SplitAudioChannels: both inputs must be mono. Feed it a stereo track on either socket and it throws "Both input audios must be mono." Since SplitAudioChannels gives you exactly the mono halves you need, the natural workflow is split → process → join, with no resampling surprises because the split preserved the sample rate and lengths.
One nice touch: the node is lenient about missing inputs. If only one of audio_left or audio_right is connected, it just passes that one through rather than erroring. Handy for optional-side pipelines.
Inputs and output
audio_left(AUDIO) - the left channel (mono).audio_right(AUDIO) - the right channel (mono).audio(AUDIO) - the joined stereo track.
Getting it
Ships with ComfyUI core since January 2026. No install, no models.
Common issues
The mono-only constraint is the one to remember - the error message is clear, and the fix is to split your stereo sources first. The length trimming is worth knowing too: if your two mono tracks are different lengths, the join silently cuts the longer one, so trim both to the length you want first (TrimAudioDuration is your friend). The output is a standard stereo AUDIO, so it feeds save nodes, AudioMerge, and everything else in the family without fuss.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| audio_left | AUDIO | — | |
| audio_right | AUDIO | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| audio | AUDIO | — |