{
   "labels" : [
      "bass",
      "loop",
      "glitch",
      "aphex twin",
      "squarepusher",
      "venetian snaeres",
      "talkbass",
      "convertrhythm"
   ],
   "code" : "~amen = Buffer.read(s, \"/home/bjorn/Downloads/amen.wav\");\r\n\r\nSynthDef(\\loop, {| out = 0, bufnum = 0, gate = 1, pos = 0, speed = 1, freq = 0, endfreq = 0.001, sustain, wobble = 3, boost = 1|\r\n\r\n\tvar player,env,amp;\r\n\tfreq = XLine.ar(freq,endfreq,sustain/4);\r\n\tfreq = freq.cpsmidi + (LFNoise2.ar(3).range(-1,1) * (1/12));\r\n\tfreq = freq.midicps;\r\n\tenv = Env.adsr(0.0001,0.01, 1, sustain/8, 1);\r\n\tamp = EnvGen.kr(env, gate, doneAction:2);\r\n\tplayer = PlayBuf.ar(2, bufnum, BufRateScale.kr(bufnum) * speed, Impulse.ar(freq), startPos: (pos*BufFrames.kr(bufnum)) + Rand(0,20), doneAction:2, loop: 1) * boost;\r\n\tplayer = RLPF.ar(player, SinOsc.ar(wobble/sustain).range(20000,80), XLine.ar(0.2,0.9,sustain)) * boost;\r\n\tOut.ar(out, player);\r\n\r\n}).store;\r\n\r\nTempoClock.default.tempo = 16/~amen.duration;\r\n\r\n~rhythm = Pseq([8,[2,[1,[1,1,[1,1!3],[1,1!4]]],[1,1!4]]].convertRhythm,1); // Evaluate one of these before playing the Pbind\r\n~rhythm = Pseq([8,[[2,[2,1,[1,1!12]]],[1,[1,1,[1,1!3],[1,1!4]]],[1,1!4]]].convertRhythm,1);\r\n~rhythm = Pseq([8,1!16].convertRhythm,1);\r\n\r\nPbind(\r\n\\instrument, \\loop,\r\n\\bufnum, ~amen.bufnum,\r\n\\out, 0,\r\n\\freq, Pstep([43.midicps,0,0,0],2,inf),\r\n\\endfreq, Pstep([40.midicps/2,0,0,0],2,inf),\r\n\\wobble, Pstep([Prand([1/2,2,1,1/3]),0,0,0],2,inf),\r\n\\pos, Pstep(Array.series(8, 0, 1),1,inf)/8,\r\n\\legato, 1,\r\n\\dur, Pn(Plazy({~rhythm}))\r\n).play;\r\n\r\nSynthDef(\\compressor, {\r\n\tvar in,compressed;\r\n\tin = In.ar(0,2);\r\n\tcompressed = Compander.ar(in, in, 0.1, 1, 1/8, 0.002, 0.01);\r\n\tReplaceOut.ar(0, compressed * 4);\r\n}).store;\r\n\r\n~comp = Synth(\\compressor, addAction: \\addToTail);\r\n\r\n~comp.free;",
   "is_private" : null,
   "id" : "1-1e",
   "name" : "Amen Break Glitches",
   "author" : "Bjorn Westergard",
   "description" : "http://soundcloud.com/phrontist/lazy-amen-break-glitches",
   "ancestor_list" : []
}
