{
   "name" : "IDMish",
   "author" : "xffff",
   "ancestor_list" : [],
   "description" : "thanks to whoever it was who wrote the kick and snare, I stole them from the dubstep whatsit from the list ages ago.  Bit of time wasting turned relatively interesting.",
   "labels" : [
      "bass",
      "drums",
      "distorted",
      "clipping",
      "idm"
   ],
   "code" : "// bit of an afternoon playing random noises turned out to sound relatively IDM-ish\r\n\r\n// I stole the kick & snare from the dubstep thing off the list a while ago... thanks\r\n\r\n(\r\nfork{\r\n\tloop{ | i | \r\n\t\tvar time, trigtime;\r\n\t\ttime = [1/8,1/4,1].wchoose([2,1,0.2].normalizeSum);\r\n\t\ttrigtime = [1,2,4,8,16].choose;\r\n\t\tplay{\t\t\r\n\t\t\tvar sound, freq, ampenv, filterenv, mod, snare, snaretrig, kick, kickenv, lin;\r\n\t\t\t\t\t\t\r\n\t\t\tmod = LFNoise2.kr({0.01.rand}.dup(2), [0.01.rand,0.001.rand,0.5.rand].choose, 1.0);\r\n\t\t\t\r\n\t\t\tfreq = [\r\n\t\t\t\t\tScale.minorPentatonic.degrees,\r\n\t\t\t\t\tScale.minorPentatonic.degrees.choose\r\n\t\t\t\t].choose + (12 * (2..6).choose);\r\n\t\t\tfreq = freq.midicps;\r\n\t\t\t\r\n\t\t\tfilterenv = EnvGen.kr(Env.linen(time/3.0.rand.max(0.01), \r\n\t\t\t\ttime/3.0.rand.max(0.01),\r\n\t\t\t\ttime/3.0.rand.max(0.01)).range(freq*1.5,freq*10.0.rand.max(1.5))\r\n\t\t\t);\r\n\t\t\t\r\n\t\t\tampenv = EnvGen.kr(Env.perc(0.01,time/2.0.rand.max(1/8),1.0.rand),doneAction:2);\r\n\t\t\t\r\n\t\t\tsound = Select.ar(5.rand, [\r\n\t\t\t\tPulse.ar(freq*mod,0.5).tanh,\r\n\t\t\t\tLFTri.ar(freq*mod,0).tanh,\r\n\t\t\t\tPulse.ar(freq*mod,0.5).tanh,\r\n\t\t\t\tLFSaw.ar(freq*mod,0.5).tanh,\t\t\r\n\t\t\t\tSinOscFB.ar(freq*mod,100.0.rand).tanh\r\n\t\t\t]); \r\n\t\t\t\r\n\t\t\tsound = RLPF.ar(sound, filterenv, LFNoise2.kr(0.01.rand, 0.3, 0.5) );\r\n\t\t\tsound = sound * ampenv;\r\n\t\t\t\r\n\t\t\tsound = sound + (DelayC.ar(sound, 1/4, {[1/4,1/8].choose}.dup(2)) * [1.0.rand,0]);\r\n\t\t\t\r\n\t\t\t5.do{sound = (sound.clip + sound)*0.75};\r\n\r\n\t\t\tsound = LPF.ar(sound, LFNoise2.kr(trigtime, 250, 500) );\r\n\t\r\n\t\t\tsnaretrig = Impulse.kr(trigtime);\r\n\t\t\tsnare = 3*PinkNoise.ar(1!2) * \r\n\t\t\t\tEnvGen.kr(Env.perc(0.01,0.01,[0,0.3.rand].choose),snaretrig);\r\n\t\t\t5.do{snare = AllpassC.ar(snare, 0.5, {0.05.rand}.dup(2), 1.0.rand)+snare};\r\n\t\t\t5.do{snare = (snare.distort + snare)*0.85};\r\n\t\t\t\r\n\t\t\tkickenv = EnvGen.kr(Env.perc(0.01,time,[0,1.0.rand].choose));\r\n\t\t\tkick = SinOsc.ar(40!2+(kickenv**3*200),0,7*kickenv) * kickenv; \r\n\t\t\t5.do{kick = (kick.distort + kick)*0.75};\r\n\t\t\t\r\n\t\t\tsound = Limiter.ar(sound + snare + kick, 1.0, 0.00001);\r\n\t\t\t\t\t\t\r\n\t\t\tOut.ar(0,sound.tanh);\r\n\t\t};\r\n\t\t\r\n\t\ttime.wait;\r\n\t};\r\n}\r\n)",
   "is_private" : null,
   "id" : "1-4QE"
}
