Supercollider

"A platform for audio synthesis and algorithmic composition, used by musicians, artists and researchers working with sound."

Supercollider is niet even een klein programmaatje dat je kunt downloaden en installeren. Het is een "platform", en je moet echt een tijdje studeren voordat je er geluid uit kunt krijgen.
Maar dan heb je ook wat!

De 'SynthDef' is het 'recept' voor het geluid:

SynthDef(\bell, {
  var freq = \freq.kr(440);
  var t60 = \t60.kr(1);
  var pitchy = \pitchy.kr(1);
  var amp = \amp.kr(1) / 32;
  var gate = \gate.kr(1);
  var exciter = WhiteNoise.ar() * Env.perc(0.001, 0.05).kr(0, gate) / 4;
  var sig = Klank.ar(
    `[
      [1, 2, 2.803, 3.871, 5.074, 7.81, 10.948, 14.421],   // freqs
      [1, 0.044, 0.891, 0.0891, 0.794, 0.1, 0.281, 0.079], // amplitudes
      [1, 0.205, 1, 0.196, 0.339, 0.047, 0.058, 0.047]*t60     // ring times
    ],
    exciter,
    freqscale:freq * pitchy);

  sig = FreeVerb.ar(sig) * amp;

  DetectSilence.ar(sig, 0.001, 0.5, doneAction:2);

  Out.ar(0, sig!2);
}).add;

Met bijvoorbeeld een Pbind kun je getimede noten spelen:

Pbind(
  \instrument, \bell,
  \octave, Pdup(20, Pseq([5, 4, 3, 4, 3], inf)),
  \degree, Pseq([0, 2, 5, 3.2, 6], inf),
  \dur, 1/4,
  \t60, Pdup(20, Pseq([9.177, 6, 9, 1, 0.5], inf)),
  \pitchy, Pdup(20, Pseq([8, 4, 1, 4, 1], inf)),
  \amp, Pdup(20, Pseq([ 1/8, 1/4, 1/4, 1/4, 1 ], inf)),
).play

Al snel ontdek ik ook de 'live coding' scene: mensen die met de laptop het podium op gaan en live software schrijven waarvan het resultaat meteen hoorbaar is.

Live coding lijkt me spannend om te doen: wat als je een foutje maakt waardoor al het geluid ineens wegvalt of waar een keiharde pieep! het gevolg van is?