Hi there -
I’d like to pick stored frequency values from an array and use them in a SynthDef.
My understanding is that arguments to a SynthDef need to be signals, so I can’t do something like this:
a = { { 200.0.rand }.dup(100) }.dup(100);
b = Array2D.fromArray(100,100, a.flat);
SynthDef(\test,
{|x, y|
var sig = SinOsc.ar(b[x, y])*Line.ar(1, 0, 1, doneAction:2);
Out.ar(0, sig);
}).add;
What I thought, though, was that something like what follows would work…but I’m having no luck there. Can someone here correct me? Thank you.
a = { { 200.0.rand }.dup(100) }.dup(100);
b = Array2D.fromArray(100,100, a.flat);
SynthDef(\test,
{
var x, y, sig;
x = \x.kr(1);
y = \y.kr(1);
sig = SinOsc.ar(b[x, y])*Line.ar(1, 0, 1, doneAction:2);
Out.ar(0, sig);
}).add;