Nodes/Comfyui_URN_AudioTools/URN Audio Channel
ComfyUI Node

URN Audio Channel

Your audio is glued to the centre — URN Audio Channel unsticks it

By Clivey1234·Created 2 days ago·Updated a day ago· 4
URN Audio Channel
  • audio_input
  • audio
◄left_volume100►
◄right_volume100►
◄swap_lrfalse►
◄pan0►
◄auto_panOff►
◄pan_curveCosine►
◄prevent_clippingtrue►

Almost everything you generate in ComfyUI lands dead centre in the stereo field: a YuE2 or ACE-Step vocal, a TTS line, a clip you chopped out of a song. That's fine until you want the aeroplane to fly past, the backing vocalist to sit off to one side, or a mono voice-over to at least pretend it has width. URN Audio Channel is the small gain-stage node that does exactly that, and nothing else.

It's a two-output-channel balance tool, not a DAW plugin. If you want reverb, EQ or a compressor, you're in the wrong node.

How it works

It takes a ComfyUI AUDIO dict, normalises it to [batch, channels, samples] float32, and forces it to stereo. One channel gets duplicated to two (real dual-mono, which is enough for panning), and anything with more than two channels is cut down to the first L/R pair. Then it's pure gain maths - no resampling, no sample-rate change, so it's effectively free.

The pan law is a cosine balance, which matters more than it sounds: pushing the pan handle fully right doesn't just mute the left channel, it smoothly attenuates it to zero, so mid positions sound natural instead of abruptly thin. Auto Pan moves that position across the whole clip from end to end, which is the fly-by effect the pack's own readme uses as its example.

Inputs and outputs that matter

Everything is on the node - there are no hidden widgets here.

  • audio_input - the required AUDIO connection. ComfyUI's Load Audio, or anything upstream that emits audio.
  • left_volume / right_volume - 0–200%, 100% is unchanged. Below 100 attenuates, above boosts. These are your channel trim, and they're applied before pan.
  • swap_lr - flips left and right. Boring, occasionally exactly what you need when a stereo source was captured backwards.
  • pan - −100 (hard left) to +100 (hard right), used when auto-pan is off.
  • auto_pan - Off / Left -> Right / Right -> Left, applied across the whole input duration.
  • pan_curve - Cosine for natural-sounding movement, Linear for a constant rate. Cosine is the one you want unless you're deliberately going for a mechanical sweep.
  • prevent_clipping - on by default. If the processed result would exceed the safe peak range, the whole result is reduced just enough to avoid clipping.

Output is a single audio socket. Wire it wherever the original audio was going: a mixer, URN Save Audio with Lyrics, or straight into a video model that wants a driving track.

Install

It ships inside the URN Audio Nodes pack, so one install gets you all twelve nodes:

cd ComfyUI/custom_nodes
git clone https://github.com/Clivey1234/Comfyui_URN_AudioTools

Restart ComfyUI and you're done - this node itself needs nothing beyond core ComfyUI (the heavy dependencies in requirements.txt are for the splitter, the extender and the lyrics nodes). ComfyUI Manager can also install it: search the pack title Comfyui_URN_AudioTools under URN Audio Nodes. After the pack updates, a hard refresh (Ctrl+F5) is worth doing so the frontend widgets match the backend.

Nodes appear in the URN Audio Tools category; the node list shows it as URN Audio Channel.

Common issues

Mono in, "stereo" out, and it still sounds central. That's expected. Duplicating a mono signal gives you two identical channels; panning then just makes one of them quieter. There's no width to extract from a mono source - you'd need a proper widener, and this node deliberately isn't one.

Auto-pan resets on every chunk. Auto Pan sweeps across the duration of whatever clip it receives. Feed it five ten-second chunks and you get five full left-to-right sweeps, one per chunk, not a single sweep across the whole track. Pan the assembled mix, or use a static pan on the chunks instead.

The levels moved more than you asked for. With prevent_clipping on and both volumes boosted to 150%, the node scales the entire result back down to fit - so a quiet passage gets quieter than you wanted. Turn it off if you want the gains exactly as typed, and accept that you own the clipping.

CategoryURN Audio Tools

Inputs (8)

NameTypeDefaultDescription
audio_inputAUDIO—
left_volumeFLOAT1000–200—
right_volumeFLOAT1000–200—
swap_lrBOOLEANfalse—
panFLOAT0-100–100—
auto_panCOMBOOff3 options: Off, Left → Right, Right → Left
pan_curveCOMBOCosine2 options: Cosine, Linear
prevent_clippingBOOLEANtrue—

Outputs (1)

NameTypeDescription
audioAUDIO—