The other day I was playing around with Sine tones and arrays in Supercollider and came up with this little program that creates partials from a fundamental frequency. Nothing special really, but when the volume of the harmonics is controlled by a max statement and sine tone things get interesting. Here is what the code looks like
SynthDef(“sinetone”, {arg fund = 100, osc = 100;
var sound;
sound = Mix.ar(
Array.fill(12, {
arg count;
var harm;
harm = count +1*fund;
SinOsc.ar(harm, mul: max([0,0], SinOsc.kr(osc)))
})
)*0.7;
Out.ar(0, sound);
}).send(s)
a = Synth(“sinetone”)
The code gives you control of the fundamental frequency with the argument fund and the volume frequency with the argument osc. To make the sound more interesting SinOsc.ar can be replaced with any kind of generator. Sine tones give a more “harmonious” sound while Ugens like LFNoise0.ar give a more helicopter sound.