Nodes/MKRShift_Nodes/Audio Stereo Width
ComfyUI Node

Audio Stereo Width

Widen (or collapse) your stereo image with one mid/side knob

By criskb·Created 7 months ago·Updated 5 months ago· 0
Audio Stereo Width
  • audio
  • audio
  • output_path
  • duration_sec
  • summary
width1.00
normalize_peakfalse
output_formatauto
filename_prefixMKR_audio_stereo_width
subfolder
overwritefalse
filename_label

The difference between a song that sounds "big" and one that sounds "thin" is mostly stereo width - how much the left and right channels differ. MKRAudioStereoWidth is a single knob that scales exactly that: push it past 1.0 to make a stereo track feel wider and bigger, pull it toward 0 to collapse it toward mono. It's the fastest way to make an AI-generated soundtrack feel more produced, and it's also the tool to reach for when you're about to deliver a clip that needs to be mono-compatible.

It's an FX node in the MKRShift_Nodes audio set, and it pairs naturally with MKRAudioChannelRouter - that node's mid/side encode is effectively the manual version of what this one does automatically.

How it works

The magic is mid/side processing. Any stereo signal can be split into a mid channel (the part that's identical in both speakers - (L+R)/2) and a side channel (the part that differs - (L−R)/2). Stereo width is just how much you amplify the side channel relative to the mid.

At width = 1.0 the signal is unchanged. At width = 0, the side channel is silenced entirely and you get pure mono (the standard "mono-compatibility check"). Above 1.0, up to 2.5, the side gets boosted - wider, bigger, more dramatic - at the cost of potential phase issues and louder peaks. The node scales the side channel by width, recombines mid + side into L/R, and optionally normalizes the peak so the widened result doesn't clip.

One honest caveat: widening can't invent stereo where there is none. Feed it a mono file and it just warns you and passes through - there's no signal difference to amplify.

Inputs that matter

  • audio - MKR_AUDIO payload, waveform tensor, or file path.
  • width - 0.0 to 2.5, default 1.0. 1.0 = unchanged, 0 = mono, 1.5–2.0 = noticeably wide.
  • normalize_peak - off by default. Turn it on when widening past ~1.5, because boosting the side channel pushes peaks up.
  • Standard save block: output_format, filename_prefix, subfolder, overwrite, optional filename_label.

Outputs: audio (MKR_AUDIO), output_path, duration_sec, summary.

Install

ComfyUI Manager (search "MKRShift Nodes"), or:

cd ComfyUI/custom_nodes
git clone https://github.com/criskb/MKRShift_Nodes

Restart. Pure numpy; ffmpeg only for compressed output formats. No models.

Common issues

The trap is over-widening. Past about 1.8, most tracks start to sound hollow in the middle - the vocals lose their anchor - and on headphones vs speakers the balance shifts badly. If the mid drops out of your mix, that's the side-channel boost eating your center. Second, super-wide audio can become out of phase in parts, and the moment it's summed to mono (phone speakers, some podcasts), those parts vanish. If mono-compatibility matters, test at width = 0 - whatever survives is what mono listeners hear. And remember: mono input does nothing, so widen before the signal is summed to mono, not after.

CategoryMKRShift Nodes/Media/Audio/FX

Inputs (8)

NameTypeDefaultDescription
audio*
widthFLOAT1.000–2.5
normalize_peakBOOLEANfalse
output_formatCOMBOauto5 options: auto, wav, mp3, flac, ogg
filename_prefixSTRINGMKR_audio_stereo_width
subfolderSTRING
overwriteBOOLEANfalse
filename_labeloptSTRING

Outputs (4)

NameTypeDescription
audioMKR_AUDIO
output_pathSTRING
duration_secFLOAT
summarySTRING