{
   "labels" : [
      "glitch",
      "step sequencer",
      "fun",
      "quick",
      "convoluted"
   ],
   "code" : "// this was going to be drum and bass but I got carried away\r\n\r\n(\r\nfork{\r\n\t// this is going to be a convoluted step seq\r\n\tvar i = 0;\r\n\t\r\n\tloop{ \r\n\t\tvar tempo, step;\r\n\t\ttempo = [\r\n\t\t\t(3,5..21).reciprocal.choose,\r\n\t\t\t1/11,\r\n\t\t\t1/7,\r\n\t\t\t1/5,\r\n\t\t\t1\r\n\t\t].wchoose([0.1,17,0.4,0.3,0.25].normalizeSum);\r\n\t\t\r\n\t\ti = i + 1;\r\n\t\tstep = i % 16;\r\n\t\t\t\t\r\n\t\tplay{\r\n\t\t\t// not sure I used all of these.\r\n\t\t\tvar scale, bdm, hh, sd, bd, bda, sda, hha, bdseq, sdseq, hhseq, reva, revb, rev,\r\n\t\t\t\tmix;\r\n\t\t\t\t\t\t\r\n\t\t\tscale = Scale.harmonicMinor.degrees+26;\r\n\t\t\t\r\n\t\t\t// bd sequence\r\n\t\t\tbdseq =[ {2.rand}.dup(16), \r\n\t\t\t\t[1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0]\r\n\t\t\t].choose;\r\n\t\t\t\r\n\t\t\t// bd amp env\r\n\t\t\tbda = EnvGen.kr(Env.perc(0.01,tempo*6.0.rand,bdseq[step]), doneAction: 2);\r\n\t\t\t\r\n\t\t\t// bass freq modulation\r\n\t\t\tbdm = {LFNoise2.kr(tempo.rand,0.25,1)}.dup;\r\n\t\t\t\r\n\t\t\t// bd\r\n\t\t\tbd = LPF.ar(Pulse.ar(scale.choose.midicps,0.5).distort*bdm,1e4.rand).sum * bda; \r\n\t\t\tbd = bd.tanh;\r\n\t\t\t5.do{bd = CombC.ar(bd, 0.5, 0.1.rand, 5.0.rand)+bd};\r\n\t\t\t5.do{bd = AllpassC.ar(bd, 0.5, 0.1.rand, 5.0.rand)+bd};\r\n\t\t\t\r\n\t\t\t// sd seq\r\n\t\t\tsdseq = [ [0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0], \r\n\t\t\t\t{2.rand}.dup(16) \r\n\t\t\t].choose;\r\n\t\t\t\r\n\t\t\t// sd amp env\r\n\t\t\tsda = EnvGen.kr(Env.perc(0.01,0.1,sdseq[step]));\r\n\r\n\t\t\t// sd\r\n\t\t\tsd = PinkNoise.ar(2).distort * sda.lag(0.1.rand);\r\n\t\t\t5.do{sd = AllpassC.ar(sd, 0.5, [0.25.rand,0.05.rand].choose, 1.5.rand)+sd};\r\n\t\t\t\t\t\r\n\t\t\t// hh seq\r\n\t\t\thhseq = [{2.rand}.dup(16),\r\n\t\t\t\t[0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1]\r\n\t\t\t].choose;\r\n\t\t\t\r\n\t\t\t// hh amp env\r\n\t\t\thha = EnvGen.kr(Env.perc(0.01,0.01,hhseq[step]));\r\n\r\n\t\t\t// hh\r\n\t\t\thh = HPF.ar(WhiteNoise.ar(0.7),8000) * hha;\r\n\t\r\n\t\t\t// drums together\r\n\t\t\tmix = bd + sd + hh;\r\n\t\t\t\t\t\t\r\n\t\t\t// rev\r\n\t\t\treva = GVerb.ar(mix,1.0.rand.max(0.1),1.0.rand).sum;\r\n\t\t\trevb = GVerb.ar(mix,1.0.rand.max(1),3.0.rand).sum;\r\n\t\t\trev = XFade2.ar(reva,revb,LFNoise0.kr(tempo));\r\n\t\t\t\r\n\t\t\t// pannnn\r\n\t\t\tmix = PanAz.ar(5,rev,LFNoise0.kr(tempo*2));\r\n\t\t\tmix = Limiter.ar(mix);\r\n\t\t\t\r\n\t\t\t// raussssss\r\n\t\t\tOut.ar(0,mix.clip);\r\n\t\t};\r\n\ttempo.wait;\r\n\t};\t\r\n}\r\n)",
   "id" : "1-4QP",
   "is_private" : null,
   "author" : "xffff",
   "name" : "more glitch",
   "ancestor_list" : [],
   "description" : "More afternoon fun.  Scale down to 2ch if you need stereo."
}
