not Quite Studie II

I did this a while ago and just remembered this morning. I was doing a little presentation on using Patterns in SuperCollider and thought I might be able to make a little mock Studie II with one pattern. It’s definitely nothing as wonderful as Stockhausen’s piece, but I think it’s humorously close.

Here’s the real deal: Stockhausen’s Studie II

Here’s my code:


(
SynthDef(\notQuiteStudieII,
{
arg freq = 440, amp = 0.5, mults = #[1, 1, 1, 1, 1], sustain = 1;
var sound, filt, mix, env, attack, decay;
sound = Formlet.ar(WhiteNoise.ar(0.1), freq*mults, 0.01, 0.05);
mix = Mix(sound);
attack = Rand(0.01, 0.99) * sustain; //attack.poll;
decay = sustain - attack;
env = EnvGen.ar(Env([0, amp, 0], [attack, decay], \lin), levelScale: 0.5, doneAction: 2);
Out.ar(0, FreeVerb.ar(mix, 0.9, 0.9, 0.1) * env ! 2 )
}
).memStore;
)


(
Pbind(
\instrument, \notQuiteStudieII,
\freq, Pwrand([Pwhite(100.0, 1000.0, 1), \rest], [4, 1].normalizeSum, inf),
\mults, Pif( Pkey(\freq) < 500.0,
Pfunc( { [ {rrand(0.5, 0.6) } ! 5 ] } ),
Pfunc( { [ {rrand(0.5, 7.6) } ! 4 ++ 1 ] } ),
Pfunc( { [ {rrand(0.5, 8.0) } ! 4 ++ 1 ] } )
),
\dur, Pif( Pkey(\freq) < 650.0, Pwhite(0.1, 0.8), Pwhite(0.5, 1.9), 1),
\legato, Pif( Pkey(\freq) < 375.0, Pwhite(0.5, 1.2), Pwhite(0.9, 1.9), 1),
\amp, Pwhite(0.1, 0.5)
).play;
)

Leave a Reply