{
   "author" : "Bjorn Westergard",
   "name" : "Shane Demo",
   "description" : "Something I whipped up talking to my buddy Shane.",
   "ancestor_list" : [],
   "labels" : [
      "strings trap"
   ],
   "code" : "SynthDef(\\guitar2, { arg freq, amp, pan = 0;\r\nvar out, pluck, period, string;\r\nfreq = freq * [0.99,1,2,0.98];\r\npluck = PinkNoise.ar(Decay.kr(Line.kr(1, 0, 0.05), 0.05));\r\nperiod = freq.reciprocal;\r\nstring = CombL.ar(pluck, period, period, 4);\r\nout = LeakDC.ar(LPF.ar(string, 12000));\r\nout = Splay.ar(out, XLine.ar(0.1,1,0.3));\r\nout = out * XLine.ar(1,1/1000,4, doneAction:2);\r\nOut.ar(0, Pan2.ar(out, pan, amp) * 0.4);\r\n} ).send(s);\r\n\r\nSynthDef(\\guitar, { arg freq, amp, pan = 0;\r\nvar out, pluck, period, string;\r\nfreq = freq * [0.99,1,2,0.98];\r\nout = SinOsc.ar(freq);\r\nout = Splay.ar(out, XLine.ar(0.1,1,0.3));\r\nout = out * XLine.ar(1,1/1000,2, doneAction:2);\r\nOut.ar(0, Pan2.ar(out, pan, amp) * 0.4);\r\n} ).send(s);\r\n\r\nSynthDef(\\ch, { | decay = 3, amp = 1, freq = 440 |\r\nf = WhiteNoise.ar;\r\nf = LPF.ar(f, 12000);\r\n//f = f+ DelayC.ar(f, 0.1,LFNoise2.ar(1/2).range(0.001,0.01));\r\nf = HPF.ar(f, 4000, 0.05);\r\nf = f * EnvGen.kr(Env.perc(0.01,decay*0.8), doneAction:2);\r\nOut.ar(0, 15 * f.dup * amp);\r\n}).store;\r\n\r\nSynthDef(\\kick, { | decay = 0.03, amp = 1, freq = 40 |\r\nvar f = SinOsc.ar(freq*XLine.ar(1,1/4,0.1));\r\nf = f * EnvGen.kr(Env.perc(0.0001,decay), doneAction:2);\r\nOut.ar(0,f.dup * amp * 1);\r\n}).store;\r\n\r\nTempoClock.default.tempo = 90/60\r\n\r\nPpar([\r\n\tPbind(\r\n\t\t\\instrument, \\guitar,\r\n\t\t\\strum, 2/Pstep([32,16,3,12],2,inf),\r\n\t\t\\degree, Pseq([\r\n\t\t\t\t[0,2,4,6],\r\n\t\t\t\t[-1,2,4,6],\r\n\t\t\t\t[0,2,4,6],\r\n\t\t\t\t[0,2,4,6]-2,\t\t\r\n\t\t\t],inf),\r\n\t\t\\octave, 5,\r\n\t\t\\dur, 1,\r\n\t\t\\decay, Pseq([1],inf),\r\n\t),\r\n\t\t\tPpar([\r\n\t\tPbind(\\instrument, \\kick, \\dur, 1/4, \\decay, Pstep([2,0.3],1/4,inf) * 0.7, \\octave, 4, \\amp, Pstep([1,0,0,1, 0,0,1,0, 0,0.2,1,0, 0,0,0,0],1/4,inf)),\r\n\t\tPbind(\\instrument, \\ch,\r\n\t\t\t\\decay, 0.3,\r\n\t\t\\dur, 1/Pstep([8,4,4,4,1,1,6,1],1,inf),\r\n\t\t\\decay, Pn(Pseg([0.3,0.1],1)) / 2,\r\n\t\t\\amp, Pstep([0,0,0,0, 1,0,0,0, 0,0,0,0, 1,0,0,0],1/4,inf) + (0.1*Pn(Pseg([0,0.4],1)))\r\n\t)\r\n\t\t])\r\n]).play;\r\n\r\n// Add Bjorn's Patented Dub Echo:\r\n~echo = Synth(\\dubecho, [\\length, TempoClock.default.beatDur*(3/4), \\fb, 0.7, \\sep, 0.0012], addAction: \\addToTail);\r\n~echo.free",
   "id" : "1-4SA",
   "is_private" : null
}
