I have a code where everything is going in to a ~masterBus.
SynthDef(\master, {|in|
var sig;
sig = In.ar(in, 4);
Out.ar(0, Limiter.ar(HPF.ar(sig, 20)));
}).add;
The project is a quad-channel project. So all of my SynthDefs have a Pan4.
My problem is that I need to do a lot of coding with headphones. At the same time I need to prepare my code so that it is all setup for a 4 channel distribution. Is there a way to convert my 4 channels to 2 channels in my “mastersynth”?
I tried to use Splay and Pan2 but that did not work.
Basically I want to be able to keep setting the pan-parameters on my Patterns but here it in stereo until I have the possibility to use my 4 speakers.
I find the Monitor class convenient for this kind of thing - if you want your synth to rebuild after command-. remember to add it to ServerTree. In my system I have a function which checks which output device is active in s.options and adds appropriate fold-down synths to ServerTree during boot
I am not sure that I understand what you mean.
My mastersynth is picking up from a ~masterBus and sends to bus 0. Should I pick up from 0 and send to 0 in my new synth?
If you are working in quad starting at bus 0 and your channel mapping is 0-L 1-R 2-L-rear 3-R-rear then what you want to do is mix bus 2 into bus 0 and bus 3 into bus 1
So a basic fold down synthDef would look like
SynthDef(\foldDown, {
var sig = In.ar(2, 2);
Out.ar(0, sig)
})
I was assuming that you’re keeping the signal-flow graph in your mind, e.g. “all my stuff, mixed down to quad” and the quad signal lives on bus in → “limiter/DC blocker” result on bus 0. So if you want to take the limiter/DC block result and collapse it to stereo, then you would pick up the limiter/DC block result from bus 0. (It’s up to you to know your signal/bus architecture.)
This is also assuming that you’re always booting the server with at least 4 output channels. (In SC, the number of hardware output channels is independent of hardware – extra output bus channels will simply not be heard.)
I haven’t written a SynthDef for you because I don’t know your quad layout.
To clarify – these are two different solutions. You wouldn’t use both at the same time.