Hello there,
Trying to use Multichannel Panning for Model Based Sonification, I want to try out VBAP.
In the helpfile the signal to be panned is a simple Ugen like PinkNoise oder SinOsc. I understand, that you cannot use a Synth for VBAP. What about busses?
I tried this
var source, vbapIn, panBus, speakerList, panWidth=60;
var a, b;
> stuff from the example file for circleRamp
panBus = Bus.control;
speakerList = [[-30, "L"], [30, "R"], [-110, "Ls"], [110, "Rs"]];
a = VBAPSpeakerArray.new(2, speakerList.collect(_.first));
b = Buffer.loadCollection(s, a.getSetsAndMatrices;);
> Audio Bus as Input Signal for VBAP?
vbapIn = Bus.audio(s, 4); // I have a 4 speaker setup
> for a Synth
SynthDef(\sine, {
var sig = SinOsc.ar(440);
Out.ar(\out.kr(0), sig)
}).add;
source = Synth(\sine, [\out, vbapIn]);
> for the VBAP
SynthDef('VBAP 4 chan', { |azi = 0, ele = 0, spr = 0, panWidth, vbapBuf|
var panned, sig;
sig = In.ar(vbapIn);
azi = azi.circleRamp;
panned = VBAP.ar(4, sig, vbapBuf, [azi - (0.5 * panWidth), azi + (0.5 * panWidth)], ele, spr);
}).play(s, [vbapBuf: b.bufnum, azi: panBus.asMap, width: widthBus.asMap]);
But there seems to be no source signal, unless it is hardcoded in in the VBAP SynthDef.
How could it work with different Synths being panned by VBAP?
thank you
b