{
   "labels" : [
      "bass",
      "wobble",
      "dubstep",
      "jitlib"
   ],
   "id" : "1-4Vl",
   "is_private" : null,
   "code" : "(\r\n\r\nSynthDef(\\wobble, { arg out=0, amp=0.1, gate=1, pan=0, spread=0.8, freq=200, doneAction=2;\r\n\tvar sig, sig1, sig2, sig3;\r\n\tsig1 = LFSaw.ar(freq * 1 + (0.04 * [1,-1]));\r\n\tsig2 = LFSaw.ar(freq * 0.99 );\r\n\tsig3 = LFSaw.ar(freq * 1 );\r\n\tsig = sig1 + sig2 + sig3;\r\n\tsig = (sig*50).tanh;\r\n\tsig = sig * EnvGen.ar(\\adsr.kr(Env.adsr(0.01,0.1,0.8,0.1)),gate,doneAction:doneAction);\r\n\tsig = Splay.ar(sig, spread, amp, pan);\r\n\tOut.ar(out, sig);\r\n}).add;\r\n\r\n~bus = Bus.audio(s,2);\r\nPdef(\\wobble).quant=4;\r\nNdef(\\lfo1).quant=4;\r\nNdef(\\fx).quant=4;\r\n);\r\n\r\n(\r\nPdef(\\wobble).play;\r\nNdef(\\fx).play;\r\nPdef(\\wobble, Pbind(\r\n\t\\instrument, \\wobble,\r\n\t\\out, ~bus,\r\n\t\\freq, Pseq([50,60,40],inf) + [0,1],\r\n\t\\legato, 1,\r\n\t\\dur, Pseq([1/4,1/8,1/8]*8,inf);\r\n));\r\n\r\nNdef(\\fx, { arg ffreq=300, rq=0.3, choose=0, freqshift=40, time=2, minrate=0.7, curve=(-1);\r\n\tvar in = In.ar(~bus, 2);\r\n\tvar sig;\r\n\tvar sig1,sig2,sig3,sig4,sig5;\r\n\tvar buf = LocalBuf(2*s.sampleRate, 2);\r\n\tvar rate;\r\n\tvar choosetrig;\r\n\tsig = in;\r\n\r\n\tsig1 = RLPF.ar(sig, ffreq, rq);\r\n\r\n\tchoosetrig = choose > 0;\r\n\tRecordBuf.ar(sig1, buf, loop:1, trigger:choosetrig);\r\n\trate = EnvGen.kr(Env([1,1,minrate],[0,time], curve), choosetrig);\r\n\tsig2 = PlayBuf.ar(2, buf, rate, choosetrig, loop:1);\r\n\r\n\tsig = Select.ar(choose, [sig1, sig2]);\r\n\tsig;\r\n});\r\n\r\nNdef(\\fx).put(1, \\set -> Pbind(\r\n\t\\choose, Pseq([\r\n\t\t0,0,0,0,\r\n\t\t0,0,0,1,\r\n\t],inf).stutter(4),\r\n\t\\time, 2,\r\n\t\\dur, 1/2,\r\n));\r\n\r\nNdef(\\fx).map(\\ffreq, Ndef(\\lfo1));\r\n\r\nNdef(\\lfo1, { arg freq=4, base=2100, choose=0, loval=5, hival=1000, time=1; \r\n\tSelect.kr(choose, [\r\n\t\tSinOsc.kr(freq).range(5,base), \r\n\t\tSweep.kr(Impulse.kr(1/time), 1/time) * base + 50,\r\n\t])\r\n});\r\n\r\n\r\nNdef(\\lfo1).put(1, \\set -> Pbind(\r\n\t\\freq, Pseq([\r\n\t\t4,4,4,8,\r\n\t\t0,0,0,0,\r\n\t\t8,8,4,4,\r\n\t\t0,0,0,0,\r\n\r\n\t\t4,6,4,8,\r\n\t\t0,0,0,0,\r\n\t\t8,8,4,4,\r\n\t\t0,0,0,0,\r\n\t],inf),\r\n\t\\choose, Pseq([\r\n\t\t0,0,0,0,\r\n\t\t1,1,1,1,\r\n\t\t0,0,0,0,\r\n\t\t1,1,1,1,\r\n\t],inf),\r\n\t\\base, Pseq([1000,1500,5000,2000],inf).stutter(4) + Pseq([0,-500,0,500],inf),\r\n\t\\time, Pseq([1,1,1,2],inf).stutter(4),\r\n\t\\dur, 1/2,\r\n));\r\n);",
   "author" : "grirgz",
   "name" : "wobble bass",
   "description" : "",
   "ancestor_list" : []
}
