{
   "labels" : [
      "musc115 a3"
   ],
   "is_private" : null,
   "id" : "1-55n",
   "code" : "// =================================\r\n// A3 - musc-115-granular\r\n// GRANULAR SAMPLING\r\n// =================================\r\n// boot server\r\n// load sound\r\nb = Buffer.read(s, \"/Users/timnevada/Desktop/Shelter (Mono).wav\");\r\n\r\nb.play;\r\nb.numChannels;\r\nb.duration;\r\nb.numFrames;\r\n\r\n(\r\nSynthDef(\"gran1\", {arg rate = 1, amp = 1, buffer, startPos = 0, attack = 0.02, release = 0.5, panning = 0;\r\n    var snd, env;\r\n    env = Env.perc(attackTime: attack, releaseTime: release, level: amp).kr(doneAction: 2);\r\n    snd = PlayBuf.ar(\r\n\t\tnumChannels: 1,\r\n        bufnum: buffer,\r\n        rate: rate,\r\n        startPos: startPos.linlin(0, 1, 0, BufFrames.kr(buffer))\r\n    );\r\n    snd = snd * env;\r\n\tsnd = Pan2.ar(snd, panning);\r\n    Out.ar(0, snd);\r\n}).add;\r\n\r\nSynthDef(\"gran3\", {arg rate = 1, amp = 1, buffer, startPos = 0, attack = 0.02, release = 0.5, ffreq = 1000, rq = 0.1, panning = 0, delay = 0.0, decay = 1;\r\n    var snd, env;\r\n    env = Env.perc(attackTime: attack, releaseTime: release, level: amp).kr(doneAction: 2);\r\n    snd = PlayBuf.ar(\r\n        numChannels: 1,\r\n        bufnum: buffer,\r\n        rate: rate,\r\n        startPos: startPos.linlin(0, 1, 0, BufFrames.kr(buffer))\r\n    );\r\n    snd = snd * env;\r\n    snd = BPF.ar(snd, ffreq, rq);\r\n\tsnd = CombC.ar(snd, maxdelaytime: 2, delaytime: delay, decaytime: decay);\r\n    snd = Pan2.ar(snd, panning);\r\n    Out.ar(0, snd);\r\n}).add;\r\n\r\n)\r\n\r\n\r\n(\r\n~a = Pbind(\r\n    \\instrument, \"gran1\",\r\n\t\\rate, Pseq([1, 1], 4),\r\n    \\amp, 0.3,\r\n\t\\startPos, Pseq([0.3523, 0.505], inf),\r\n    \\attack, 0.01,\r\n    \\release, 0.3,\r\n    \\buffer, b,\r\n    \\dur, 0.3\r\n);\r\n~a.play;\r\n)\r\n\r\n(\r\n~b = Pbind(\r\n    \\instrument, \"gran1\",\r\n\t\\rate, Pseq([0, 1], 2),\r\n    \\amp, 0.3,\r\n\t\\startPos, Pseq([[0.27, 0.28, 0.2874]], inf),\r\n    \\attack, 0.01,\r\n    \\release, 0.35,\r\n    \\buffer, b,\r\n    \\dur, 0.6\r\n);\r\n~b.play;\r\n)\r\n\r\n(\r\n~z = Pbind(\r\n    \\instrument, \"gran1\",\r\n\t\\rate, Pseq([2], 8),\r\n    \\amp, 0.3,\r\n\t\\startPos, Pseq([0.03, 0.04, 0.03, 0.04], inf),\r\n    \\attack, 0.01,\r\n    \\release, 0.5,\r\n    \\buffer, b,\r\n    \\dur, 0.3\r\n);\r\n~z.play;\r\n)\r\n\r\n(\r\n~z1 = Pbind(\r\n    \\instrument, \"gran1\",\r\n\t\\rate, Pseq([0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2], 1),\r\n    \\amp, 0.3,\r\n\t\\startPos, Pseq([0.03, 0.04, 0.03, 0.04], inf),\r\n    \\attack, 0.01,\r\n    \\release, 0.5,\r\n    \\buffer, b,\r\n    \\dur, 0.3\r\n);\r\n~z1.play;\r\n)\r\n\r\n(\r\n~z2 = Pbind(\r\n    \\instrument, \"gran1\",\r\n\t\\rate, Pseq([0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2], 2),\r\n    \\amp, 0.3,\r\n\t\\startPos, Pseq([0.03, 0.04, 0.03, 0.04], inf),\r\n    \\attack, 0.01,\r\n    \\release, 0.5,\r\n    \\buffer, b,\r\n    \\dur, 0.3\r\n);\r\n~z2.play;\r\n)\r\n\r\n\r\n(\r\n~c = Pbind(\r\n    \\instrument, \"gran1\",\r\n\t\\rate, Pseq([1, [1, 2]], 4),\r\n    \\amp, 0.3,\r\n\t\\startPos, Pseq([[0.003, 0.008], 0.013], inf),\r\n    \\attack, 0.01,\r\n    \\release, 0.3,\r\n    \\buffer, b,\r\n    \\dur, 0.3\r\n);\r\n~c.play;\r\n)\r\n\r\n(\r\n~d = Pbind(\r\n    \\instrument, \"gran1\",\r\n\t\\rate, Pseq([1, 1, 1, 1, 1, 1, 1, 1], 1),\r\n    \\amp, 0.3,\r\n\t\\startPos, Pseq([0.21, 0.492, 0.21, 0.492, 0.21, 0.492, 0.21, 0.136], inf),\r\n    \\attack, 0.03,\r\n    \\release, 0.5,\r\n    \\buffer, b,\r\n    \\dur, 0.6\r\n);\r\n~d.play;\r\n)\r\n\r\n(\r\n~fill = Pbind(\r\n    \\instrument, \"gran1\",\r\n\t\\rate, Pseq([[2, 1], 1, 1, 1, 1], 2),\r\n    \\amp, 0.5,\r\n\t\\startPos, Pseq([0.065], inf),\r\n    \\attack, 0.01,\r\n\t\\release, Pseq([0.3, 0.15, 0.15, 0.3, 0.3, 0.15, 0.3, 0.15, 0.15, 0.3, 0.3], inf),\r\n    \\buffer, b,\r\n\t\\dur,       Pseq([0.3, 0.15, 0.15, 0.3, 0.3, 0.15, 0.3, 0.15, 0.15, 0.3, 0.3], inf)\r\n);\r\n\r\n~fill.play;\r\n)\r\n\r\n(\r\n~wash = Pbind(\r\n    \\instrument, \"gran3\",\r\n\t\\rate, Pseq([2], inf),\r\n\t\\amp, 0.5,\r\n\t\\startPos, Pseq([0.01, 0.03, 0.05, 0.03, 0.05, 0.03, 0.05, 0.03], 8),\r\n    \\attack, 0.01,\r\n    \\release, 1,\r\n\t\\ffreq, Pseq([100, 200, 400, 800, 700, 500, 300, 100], inf),\r\n\t\\rq, 0.5,\r\n\t\\decay, 1,\r\n    \\buffer, b,\r\n    \\dur, 0.15,\r\n\t\\panning, Pseq([-0.66, -0.33, 0.33, 0.66, 0.33, -0.33], inf)\r\n);\r\n\r\n~wash.play;\r\n)\r\n\r\ns.record;\r\ns.stopRecording;\r\n\r\n(\r\nPspawner({ arg maestro;\r\n\r\n\tmaestro.seq(~c);\r\n\tmaestro.seq(Ppar([~c, ~b]));\r\n\tmaestro.seq(Ppar([~c, ~a, ~z1]));\r\n\tmaestro.seq(~fill);\r\n\tmaestro.seq(Ppar([~d]));\r\n\tmaestro.seq(Ppar([~d, ~b]));\r\n\tmaestro.seq(Ppar([~d, ~c, ~z1]));\r\n\tmaestro.seq(~fill);\r\n\tmaestro.seq(Ppar([~d]));\r\n\tmaestro.seq(Ppar([~d, ~a, ~z1]));\r\n\tmaestro.seq(~fill);\r\n\tmaestro.seq(Ppar([~d, ~z1]));\r\n\tmaestro.seq(Ppar([~d]));\r\n\tmaestro.seq(Ppar([~d, ~z1]));\r\n\tmaestro.seq(~fill);\r\n\tmaestro.seq(~c);\r\n\tmaestro.seq(Ppar([~c, ~b]));\r\n\tmaestro.seq(~c);\r\n\tmaestro.seq(Ppar([~c, ~a, ~z1]));\r\n\tmaestro.seq(~fill);\r\n\tmaestro.seq(Ppar([~d]));\r\n\tmaestro.seq(Ppar([~d, ~b]));\r\n\tmaestro.seq(Ppar([~d, ~c, ~z1]));\r\n\tmaestro.seq(~fill);\r\n\tmaestro.seq(Ppar([~wash, ~z2]));\r\n\r\n}).play;\r\n)",
   "author" : "tnevada",
   "name" : "A3",
   "ancestor_list" : [],
   "description" : "Samples \"Shelter\" by Madeon and Porter Robinson\r\n\r\nMono file for sampled track here:\r\nhttps://drive.google.com/open?id=0B_7bVALW7C3aU0xlVktLWmNNZWs"
}
