home/ atoms/ sc-mix-splay-multichannel

Mix collapses an array of signals to mono; Splay spreads them across stereo

When you have an arbitrarily large array of audio channels (e.g., from iteration over 8 UGens), two UGens help manage them: Mix.ar(array) sums all channels into a single mono signal — you typically scale down afterward to avoid clipping. Splay.ar(array) spreads the channels equally across a stereo field, creating spatial width without any downmix. Mix is appropriate when you want a dense, blended single-channel output; Splay when you want perceived spatial separation on stereo speakers.

Examples

sig = SinOsc.ar([300,500,700,900]); sig = Mix(sig) * 0.25; — four sines summed to mono. sig = Splay.ar(sig) * 0.25; — four sines spread across stereo.

Assessment

You have 12 oscillators summed with Mix but the sound is clipping. Suggest two fixes. Then describe what Splay would give you instead, and when you’d prefer it.

“Splay is a UGen somewhat similar to Mix, but instead of mixing down to a single channel, Splay will spread an arbitrarily large array of channels across a stereo field”
corpus · supercollider-tutorials-full-transcripts-and-code-eli-fields · chunk 11