pretty sure this code should do it:
(
SynthDef (\sine_tone) {
arg freq = 440, amp = 1, len = 1, bus = 0;
var sig, env;
env = Env.step ([ amp ], [ len ]);
env = EnvGen.kr (env, doneAction: 2);
sig = SinOsc.ar (freq, 0, env);
Out.ar (bus, sig);
}.add;
)
(
t = 2; // initial duration
f = 220; // initial frequency
~harmonic_bus_pattern = Pbind (
\instrument, \sine_tone,
\delta, t * (2 ** Pseq ((0..-7), inf)),
\len, Pkey (\delta),
\amp, (2 ** Pseq ((0..-7), inf)),
\freq, f * Pseq ((1..8), inf), // corrected
\bus, Pseq ((0..7), inf),
);
)
~harmonic_bus_pattern.play
have you had a look at Eli Fieldsteel’s excellent SuperCollider tutorials?
also, we have a new forum! here
edit 2: oop sorry I keep messing up the \freq argument. corrected in line.
also note inf as the second argument of Pseq to loop them indefinitely, where previously I had given a 1 to just make them play once and then stop.