{
   "id" : "1-4Qb",
   "is_private" : null,
   "code" : "(\r\nNdef(\\oenci, { \r\n\tvar seed = thisThread.randSeed = 100000000.rand.debug('seed');\r\n\tvar tempo = 156/60;\r\n\tvar freq = [20, 7200];\r\n\tvar atk = 0.1;\r\n\tvar decay = (tempo.reciprocal / 1.5); // 0.3\r\n\tvar bands = [32, 32];\r\n\tvar sorted = 0.5.coin.debug('sorted');\r\n\tvar sig = Klank.ar(\r\n\t\t{ `[Array.exprand(bands[1], freq[0], freq[1]), Array.exprand(bands[1], 0.1, 1), Array.exprand(bands[1], 0.1, 1)] } ! 2,\r\n\t\t{ BPF.ar(\r\n\t\t\tSelectX.ar(\r\n\t\t\t\tSinOsc.kr(\r\n\t\t\t\t\ttempo / Lag.kr(Duty.kr(\r\n\t\t\t\t\t\ttempo.reciprocal * Drand((16,20..48), inf), \r\n\t\t\t\t\t\t0, Drand((10,12..24), inf)\r\n\t\t\t\t\t)) * LFNoise2.kr(tempo/16, 0.2.rrand(0.4).debug('es'), 1),\r\n\t\t\t\t\tLag.kr(Duty.kr(\r\n\t\t\t\t\t\ttempo.reciprocal * Drand((1,4..48), inf),\r\n\t\t\t\t\t\t0, Drand((0..10).linlin(0,10,0,2*pi),inf)\r\n\t\t\t\t\t)) // not sure\r\n\t\t\t\t).range(-0.5,5.5), \r\n\t\t\t\t[ // perc\r\n\t\t\t\t\tBrownNoise.ar(LFNoise2.kr(0.1.exprand(1)).range(0.3,0.75)),\r\n\t\t\t\t\tWhiteNoise.ar(LFNoise2.kr(0.1.exprand(1)).range(0.3,0.75)),\r\n\t\t\t\t\tPinkNoise.ar(LFNoise2.kr(0.1.exprand(1)).range(0.3,0.75)),\r\n\t\t\t\t].addAll({ // noises\r\n\t\t\t\t\tvar i = 1;\r\n\t\t\t\t\t[LFSaw,LFPulse,Saw,Pulse].choose.ar(\r\n\t\t\t\t\t\t{ [LFNoise2,LFNoise0].choose.kr( 0.1.exprand(10) ! i).exprange(freq[0], freq[1]) } ! i,\r\n\t\t\t\t\t\tmul: { [LFNoise2,LFNoise0].choose.kr(0.1.exprand(10)).range(0.5,0.9) } ! i\r\n\t\t\t\t\t).mean\r\n\t\t\t\t} ! 3).perform(sorted.if({\\value},{\\scramble}))\r\n\t\t\t),\r\n\t\t\tArray.exprand(bands[0], freq[0], freq[1]).perform(sorted.if({\\sort},{\\scramble}))\r\n\t\t\t* LFNoise2.kr(tempo, 0.03, 1)\r\n\t\t\t* Duty.kr(tempo.reciprocal * 4, 0, Drand([-1,0,1,2], inf).midiratio),\r\n\t\t\tLFNoise2.kr(tempo/4, 0.5, 1),\r\n\t\t\tLag.kr(\r\n\t\t\t\tDecay.kr(\r\n\t\t\t\t\tImpulse.kr(\r\n\t\t\t\t\t\t({ tempo / Array.geom(8, 0.25, 2).choose } ! bands[0]).perform(sorted.if({\\sort},{\\scramble})),\r\n\t\t\t\t\t\t0, { LFNoise2.kr(0.1.exprand(1)).range(0.3,0.1) } ! bands[0]\r\n\t\t\t\t\t), // Duty??\r\n\t\t\t\t\tArray.rand(bands[0], 0.01, decay).perform(sorted.if({\\sort},{\\scramble})).reverse\r\n\t\t\t\t),\r\n\t\t\t\tArray.rand(bands[0], 0.01, atk).perform(sorted.if({\\sort},{\\scramble})).reverse\r\n\t\t\t)\r\n\t\t).mean } ! 2,\r\n\t\t{ LFNoise2.kr(0.1.exprand(1), 0.1, 1) } ! 2,\r\n\t\t{ LFNoise2.kr(0.1.exprand(1)).exprange(0.1,40) } ! 2,\r\n\t\t{ LFNoise2.kr(0.1.exprand(1)).range(0.5,1.5) } ! 2\r\n\t);\r\n\tsig = Rotate2.ar(\r\n\t\tsig[0], sig[1],\r\n\t\tLFSaw.kr(\r\n\t\t\tLag.kr(\r\n\t\t\t\tDuty.kr(Drand([2,4,8],inf), 0, Drand([-1,1,0],inf))\r\n\t\t\t\t* LFNoise2.kr(tempo/12).exprange(pi/8, 2*pi),\r\n\t\t\t\tLFNoise2.kr(tempo/24).range(1,8)\r\n\t\t\t)\r\n\t\t)\r\n\t);\r\n\tLimiter.ar(BhobHiShelf.ar(BhobLoShelf.ar(sig, 10, -20.dbamp), LFNoise2.kr(0.1.exprand(1)).exprange(15000,19000), -10.dbamp) * 0.8);\r\n}).play\r\n)",
   "labels" : [
      "rhythmic",
      "experimental",
      "random",
      "endless"
   ],
   "description" : "example outputs at [soundcloud](http://soundcloud.com/vividsnow/oenci)",
   "ancestor_list" : [],
   "author" : "vividsnow",
   "name" : "oenci"
}
