Stereo to multichannel

Hi guys,

I’m working with stereo soruces to be placed inside a multi-speaker setup.
I know thata PanAz UGen doesn’t work with stereo input so I came out with this:

(
~nspeakers = 8;
~spotoffset = 1.0/~nspeakers;
s.options.numOutputBusChannels = ~nspeakers;


SynthDef(\source, {
    |out=0|
    var sig;
    var pos = SinOsc.kr(0.5); // autopan
    sig = SinOsc.ar(440, mul:0.25);
    Out.ar(out, Pan2.ar(sig, pos));
}).add;

SynthDef(\outputstage, {
    |in=0, pos=0, orientation=0.0, w=2|
    var sig = In.ar(in, 2);
    Out.ar(0, PanAz.ar(~nspeakers, sig[0], (pos - ~spotoffset), width:w, orientation:orientation ));
    Out.ar(0, PanAz.ar(~nspeakers, sig[1], (pos + ~spotoffset), width:w, orientation:orientation ));
}).add;
)

(
c = Bus.audio(s, 2);
a = Synth(\outputstage, [\in, c]);
b = Synth(\source, [\out, c], a, \addBefore);
)

// make some modification
a.set(\pos, 0.375);
a.set(\orientation, 0.0);

Is there a better way to place a stereo source inside a 360/multi-speaker arrangement?
Thank you very much fro your support!

See SplayAz

http://doc.sccode.org/Classes/SplayAz.html

Besides, going from stereo to multichannel is an interesting demand which opens a field for experimenting with alternative methods. In my last pieces I splitted stereo signals into frequency bands, did MS-encoding and defined slightly differentiated movements for the results, which, I think, worked quite well. I might document that on occasion.

Thank you @dkmayer.
Really interesting approach of yours, did you have a repo for your pieces?
thanks

Sorry, no. I might polish the spatial distribution part when I have the time.

1 Like

Also, consider VBAP

http://doc.sccode.org/Classes/VBAP.html

This is useful for 2- and 3-dimensional arrays and has a ‘spread’ function for panning the sources across multiple speakers.

3 Likes

Thank you too @Richard!
I will try it :slight_smile:

Is there any progress for this type of idea, I’m looking for something simpler and educative that can be little bit a less advanced to make static measurements by microphone input before playing?