«chillinoisy» by vividsnow
on 07 Jan'12 02:40 inbackground sound inspired by rukano tweet
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81
( var max_spawn = 40; // reduce if get high load var r_prob = 0.5; // prob of field rotation fork { loop { // original rukano tweet: http://goo.gl/ttj30 var len = 16.rrand(3.5); var h = [100,800,3000].choose; play { var sig = Splay.ar({ SinOsc.ar(exprand(60,h),0,0.1) } ! max_spawn.rrand(2), 1, LFGauss.ar(len,1/4.rrand(2.0),0,0,2) ); r_prob.coin.if({ Rotate2.ar(sig[0],sig[1],LFSaw.kr((len/8).rrand(len).reciprocal * [-1,1].choose)) },{ sig }); }; len.wait; }}; fork { loop { var len = 16.rrand(3.5); var top_freq = Array.rand(10, 100, 7000).choose; var ugens = [LFPulse,SinOsc,LFSaw,LFNoise2]; var kind = 0.5.coin.if({ugens},{[ugens.choose]}); // mixed or not play { var sig = Splay.ar({ kind.choose.ar( 0.5.coin.if({ Line.kr( top_freq.linlin(100, 7000, 40, 300).perform(0.5.coin.if({ \exprand },{ \rand }), top_freq), top_freq.linlin(100, 7000, 40, 300).perform(0.5.coin.if({ \exprand },{ \rand }), top_freq), len.rrand(len/4) )},{ top_freq.linlin(100, 7000, 40, 300).perform(0.5.coin.if({ \exprand },{ \rand }), top_freq) } ), mul: 0.5.coin.if({0.05.rrand(0.25)},{Line.kr(0.3.rrand(0), 0.3.rrand(0), (len/4).rrand(len))}) )} ! 5.exprand(max_spawn)) * LFGauss.kr( Line.kr( (1..20).choose.linexp(1, 20, 1/10, 20), (1..20).choose.linexp(1, 20, 1/10, 20), len.rrand(len/4) ), (3,3.2..6).choose.reciprocal, loop: 0.7.coin.binaryValue ) * EnvGen.kr(Env([0,1,0],[0.03.exprand(2), len.rrand(len/2)],[4.rrand(-4)]), doneAction: 2); r_prob.coin.if({ Rotate2.ar(sig[0],sig[1],LFSaw.kr((len/8).rrand(len).reciprocal * [-1,1].choose)) },{ sig }); }; len.postln.wait; }}; fork { loop { var len = 40.rrand(5.0); var ugens = [Klank, DynKlank]; var kind = 0.5.coin.if({ugens},{[ugens.choose]}); // mixed or not play { var sig = LPF.ar( Splay.ar({ kind.choose.ar( `[ Array.perform(0.5.coin.if({\rand},{\exprand}), 10, 60.exprand(300), 18000.rrand(4500)), Array.rand(10, 0.05, 0.25), Array.rand(10, 0, pi), ], Impulse.ar(TExpRand.kr(0.1, 10, Dust.kr((2,4..16).choose/len))), 0.5.coin.if({1},{Line.kr(1, 0.5.rrand(3), 0.5.rrand(len))}) ) } ! 1.exprand(max_spawn)), 2000.rrand(18000), EnvGen.kr( Env( Array.rand(8, 0.2, 0.01).add(0).normalize * 0.1.rrand(0.33), Array.rand(7, 0, 1.0).add(1).normalizeSum * len, Array.rand(8, -4, 4.0) ), doneAction: 2 ) ); r_prob.coin.if({ Rotate2.ar(sig[0],sig[1],LFSaw.kr((len/8).rrand(len).reciprocal * [-1,1].choose)) },{ sig }); }; len.postln.wait; }}; )
reception
Hey, I always get this error, then I hear the clusters anyway, but nothing else:
WARNING: FunctionDef contains variable declarations and so will not be inlined. in file 'selected text' line 5 char 50: var top_freq = Array.rand(10, 100, 7000).choose;•
var ugens = [LFPulse,SinOsc,LFSaw,LFNoise2];
a Routine ERROR: Message 'asInteger' not understood. RECEIVER: false ARGS: CALL STACK: DoesNotUnderstandError:reportError 143AAA50 arg this = <instance of DoesNotUnderstandError> Nil:handleError 143A9D90
Hi! I replaced "asInterger" (which works in sc3.5) with "binaryValue" - hope it will help
Works, nice! :)
excellent, complex and beautiful...!!
Some clicks each time it loops probably?