Nodes/Audio Batch/Audio Channel Converter
ComfyUI Node

Audio Channel Converter

Audio Channel Converter — mono to stereo and back, without losing your mind

By set-soft·Created about a year ago·Updated about a year ago· 8
Audio Channel Converter
  • audio
  • audio_out
channel_conversionkeep
downmix_methodstandard_gain
n_fft2048
hop_length512

Channel mismatch is the boring problem that eats audio workflows alive. Your video pipeline needs stereo, your voice clip is mono, and suddenly nothing lines up. Audio Channel Converter (SET_AudioChannelConverter) is the node that fixes the mismatch, with a level of control most audio nodes don't bother offering. It's the pack's flagship conversion node, and the extra options are worth understanding even if you'll only use two of them.

The one setting that matters: channel_conversion

Five choices, and they divide into "smart" and "force":

  • keep (default) - do nothing. Logs a warning if you feed it more than 2 channels.
  • stereo_to_mono - averages all channels down to mono. If it's already mono, no change.
  • mono_to_stereo - makes stereo out of mono by duplicating the mono channel. This is "fake stereo": two identical channels, not real width. If you feed it 5.1, it takes the first channel and duplicates that.
  • force_mono - always downmix to mono, no matter what comes in.
  • force_stereo - always end up stereo. Mono gets duplicated, >2 channels get first-channel-duplicated.

The mono↔stereo conversions are conditional (only act when needed); the "force" ones are unconditional. If your audio might be either mono or stereo and you just want it stereo, force_stereo is the one - idempotent in the best way.

The second setting: downmix_method

This only matters when collapsing to mono, but it's where this node shows its depth. Stereo-to-mono has a classic trap: if left and right contain the same signal and you simply average them, nothing bad happens - but if they're out of phase (common with noise-canceled or certain processed audio), averaging can cancel the sound out entirely.

  • average - plain (L+R)/2. Simplest, can reduce volume, vulnerable to phase cancellation.
  • standard_gain (default) - sums the channels with a −3 dB gain (0.707). Keeps perceived loudness better than the plain average.
  • spectral - the interesting one. It averages frequency magnitudes in the STFT domain instead of raw samples, which avoids phase cancellation almost entirely. It's slower and takes two optional inputs - n_fft (default 2048) and hop_length (default 512, typically n_fft/4) - the standard FFT-resolution vs. time-resolution tradeoff. Only touch those if you know what STFT means; the defaults are fine.

Output

audio_out is the converted audio with batch size and sample rate preserved - this node changes channels only, never the rate. Need both? The pack's Audio Channel Conv and Resampler bundles this exact node with a sample-rate target so you don't chain two nodes.

Install & gotchas

From ComfyUI Manager, search "Audio Batch", or:

cd ComfyUI/custom_nodes/
git clone https://github.com/set-soft/ComfyUI-AudioBatch
pip install seconohe

Restart ComfyUI. No model downloads.

Two gotchas worth internalizing. First, mono_to_stereo is fake stereo - duplicated channel, not width. If you actually need a stereo field from one mono source, that's a different problem this node won't solve. Second, when a node refuses to do what you expect with a >2-channel file, check what keep did - it doesn't downmix, it warns. And remember spectral downmix runs on the same device as your tensors but falls back to CPU on Apple silicon for STFT, so a force_mono on a long batch may be the slow step in your graph.

Categoryaudio/conversion

Inputs (5)

NameTypeDefaultDescription
audioAUDIO
channel_conversionCOMBOkeepkeep: maintain same channels, stereo_to_mono/force_mono: 1 channel, mono_to_stereo/force_stereo: 2 channels
downmix_methodCOMBOstandard_gainMethod for stereo/multi-channel to mono conversion: - average: Simple average ((L+R)/2). Can reduce volume. - standard_gain: Sums channels with -3 dB gain (0.707). Better preserves perceived loudness.- spectral: Averages frequency magnitudes to prevent phase cancellation.
n_fftoptINT2048256–8192FFT size for spectral downmixing. Higher values give better frequency resolution but worse time resolution.
hop_lengthoptINT51264–4096Hop length for STFT. Typically n_fft / 4. Controls time resolution.

Outputs (1)

NameTypeDescription
audio_outAUDIO