{
   "name" : "Rough Draft Final",
   "author" : "kkomers",
   "description" : "",
   "ancestor_list" : [],
   "labels" : [],
   "id" : "1-55H",
   "is_private" : null,
   "code" : "(\r\nPbind(\r\n\t\\instrument, \"hihat\",\r\n\t\\degree, Pseq([0.1, 0.1, 0.2, 0.4, 0.7, 1, 1.5, 2], inf),\r\n\t\\dur, Pseq([0.2, Rest(0.2), 0.2, Rest(0.2), 0.2, Rest(0.4), 0.2], inf);,\r\n\t\\attackTime, 0.34,\r\n\t\\amp, 0.75,\r\n).play;\r\n)\r\n\r\n(\r\nPbind(\r\n\t\\instrument, \"guitar3\",\r\n\t\\degree, Pseq([1, 1, 1, 2, 2, 2, 3, 3, 4, 3, 3, 3, 2, 2, 1, 1,1], inf),\r\n\t\\dur, Pseq([0.19, 0.22], inf),\r\n\t\\attackTime, 0.4,\r\n\t\\amp, 0.75,\r\n).play;\r\n)\r\n\r\n(\r\nSynthDef(\"alien\", { arg freq = 500, amp = 4;\r\n    var env, snd;\r\n\r\n    env = Env.perc(level: amp).kr(2);\r\n    snd = BPF.ar(\r\n        in: LFPulse.ar(\r\n            freq: LFNoise0.kr([8,19]).range(freq, freq*2),\r\n            mul: env),\r\n        freq: MouseY.kr(500, 2500),\r\n        rq: 0.1\r\n    );\r\n\r\n    Out.ar(0, snd);\r\n}).add;\r\n)\r\n\r\n\r\n(\r\nSynthDef(\"hihat\", {arg out = 0, amp = 0.5, att = 0.01, rel = 0.2, freq = 1000, pan = 0;\r\n    var env, snd;\r\n\tenv =  Env.perc(attackTime: 0.3, releaseTime: 2, level: 0.2).kr(2);\r\n\tsnd = BPF.ar(\r\n\t\tin: LFPulse.ar(\r\n\t\t\tfreq: LFNoise0.kr([8,19]).range(freq)),\r\n\t);\r\n\r\n    Out.ar(out, Pan2.ar(snd, pan));\r\n}).add;\r\n)\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n// example 1\r\n(\r\n{\r\n    BPF.ar(\r\n        in: LFPulse.ar(\r\n            freq: LFNoise0.kr(10).range(100, 1000),\r\n            mul: 0.3),\r\n        freq: MouseY.kr(100, 4000),\r\n        rq: 0.1\r\n    )\r\n}.play;\r\n)\r\n\r\n// example 2\r\n(\r\nSynthDef(\"wow\", { arg freq = 500, amp = 1;\r\n    var env, snd;\r\n\r\n    env = Env.perc(level: amp).kr(2);\r\n    snd = BPF.ar(\r\n        in: LFPulse.ar(\r\n            freq: LFNoise0.kr([8,19]).range(freq, freq*2),\r\n            mul: env),\r\n        freq: MouseY.kr(500, 2500),\r\n        rq: 0.1\r\n    );\r\n\r\n    Out.ar(0, snd);\r\n}).add;\r\n)\r\n\r\n// test it (single \"note\")\r\nSynth(\"wow\");\r\n\r\n// using it in a Pbind\r\n(\r\nPbind(\r\n    \\instrument, \"wow\",\r\n    \\freq, Pwhite(50, 2000),\r\n    \\dur, Pwhite(0.5, 2),\r\n    \\amp, 1\r\n).play;\r\n)\r\n\r\n\r\n(\r\nSynthDef(\"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\n\r\n(\r\nSynthDef(\"guitar3\", { arg freq = 100, 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\n\r\n\r\n(\r\nSynthDef(\"guitar1\", { arg freq, amp, pan = 0;\r\nvar out, pluck, period, string;\r\nfreq = freq * [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\n\r\n\r\n\r\n\r\n(\r\nSynthDef(\"symbals\", { | 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\n\r\n\r\n\r\n\r\n\r\n\r\n(\r\nSynthDef(\"kick\", { | decay = 0.03, amp = 1, freq = 40 |\r\nvar f = SinOsc.ar(freq*XLine.ar(2.4,1/4,0.4));\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\n\r\n\r\nTempoClock.default.tempo = 90/60\r\n\r\n\r\n\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,\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\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"
}
