Hi guys! I’m using the Volker Boehm fourses extension (GitHub - v7b1/vb_UGens: a modest collection of UGens for SuperCollider https://supercollider.github.io/) and ran into an issue attempting to independently modulate each frequency of the 4 frequency pairs. When I attempt to use args to modulate each frequency independently only the first four have any effect. Using ugens to modulate each frequency works fine but as soon as one of the frequencies of any pair is modulated as an argument the last four of the eight arguments are truncated. It then seems like only the first four args are sending the same value for both frequencies of each of the four oscillators? Perhaps there’s something I’m misunderstanding about how the fourses frequency array works?
//args to modulate each freq of each freq pair?
(
Ndef(\foursGui, { |f1a,f1b,f2a,f2b,f3a,f3b,f4a,f4b|
var a;
a = VBFourses.ar([f1a,f1b,f2a,f2b,f3a,f3b,f4a,f4b],smoother:0.5);
//add first and second horse on left, third and fourth on right
LeakDC.ar([a[0] + a[1],a[2] + a[3]], mul: 0.01);
}).play.scope;
Spec.add(\f1a, [0.1, 14000, 'exp', 0, 440, "Hz"].asSpec);
Spec.add(\f1b, [0.1, 14000, 'exp', 0, 440, "Hz"].asSpec);
Spec.add(\f2a, [0.1, 14000, 'exp', 0, 440, "Hz"].asSpec);
Spec.add(\f2b, [0.1, 14000, 'exp', 0, 440, "Hz"].asSpec);
Spec.add(\f3a, [0.1, 14000, 'exp', 0, 440, "Hz"].asSpec);
Spec.add(\f3b, [0.1, 14000, 'exp', 0, 440, "Hz"].asSpec);
Spec.add(\f4a, [0.1, 14000, 'exp', 0, 440, "Hz"].asSpec);
Spec.add(\f4b, [0.1, 14000, 'exp', 0, 440, "Hz"].asSpec);
)
Ndef(\foursGui).edit;
//last four slider arg modulations don't do squat
//modulate each freq of each freq pair works fine as ugen
(
{
var freqs = LFNoise0.ar([4, 3, 2, 1, 1, 2, 3, 4]).range(1,1200);
var a = VBFourses.ar(freqs, 0.3);
var b = LeakDC.ar(a) * 0.01;
Splay.ar(b);
}.play
)