{
   "description" : "https://soundcloud.com/user-354095935/tribal-atmosphere-115granular",
   "ancestor_list" : [],
   "name" : "115Granular - Heldt",
   "author" : "unknown",
   "id" : "1-55D",
   "is_private" : null,
   "code" : "//Alex Heldt - A4\r\n\r\n\r\n~low = Buffer.read(s, \"/Users/Alex/Desktop/octn perc 2-MONO.wav\");\r\n\r\n~high = Buffer.read(s, \"/Users/Alex/Desktop/umru farsi chorus vox-MONO.wav\");\r\n\r\n\r\n\r\np.play;\r\n\r\np.numChannels;\r\n\r\no.play;\r\n\r\no.numChannels;\r\n\r\n\r\n\r\n(\r\n\r\n\r\nSynthDef(\"syn1\", {arg rate = 1, amp = 2, 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        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\tsnd = Pan2.ar(snd, panning);\r\n    Out.ar(0, snd);\r\n}).add;\r\n\r\n\r\nSynthDef(\"color\", {arg rate = 1, amp = 1, buffer, startPos = 0, attack = 0.02, release = 0.5, ffreq = 20, rq = 0.1, panning = 0, delay = 0.3, 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\nSynthDef(\"flutter\", {arg rate = 1, amp = 1, buffer, startPos = 0, attack = 0.02, release = 0.5, ffreq = 500, rq = 0.1, panning = 0, delay = 0.3, 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~peet.play;\r\n\r\n\r\n(\r\n~peet = Pbind(\r\n    \\instrument, \"syn1\",\r\n\t\\rate, Prand([0.125, 0.25, 0.125, 0.0625, 0.003125, 0.003125, 0.0625,  0.0625], inf),\r\n\t\\amp, Pwhite(10.75, 11),\r\n\t\\startPos, Prand([0.78, 0.5], 32),\r\n    \\attack, 0.01,\r\n    \\release, 0.1,\r\n    \\buffer, ~low,\r\n    \\dur, 0.15,\r\n\t\\panning, Pwhite(-0.25, 0.25);\r\n);\r\n\r\n~peetfastr = Pbind(\r\n    \\instrument, \"syn1\",\r\n\t\\rate, Prand([0.125, 0.25, 0.125, 0.125, 0.125, 0.0625], inf),\r\n\t\\amp, Pwhite(9.2, 9.5),\r\n\t\\startPos, Prand([0.2, 0.4, 0.66, 0.89], 16),\r\n    \\attack, 0.01,\r\n    \\release, 0.1,\r\n    \\buffer, ~low, // which buffer to play from\r\n    \\dur, 0.15,\r\n\t\\panning, Pwhite(0.15, 1.0); // control L/R here\r\n);\r\n\r\n~peetfastl = Pbind(\r\n    \\instrument, \"syn1\",\r\n\t\\rate, Prand([0.125, 0.25, 0.125, 0.125, 0.125, 0.0625], inf),\r\n\t\\amp, Pwhite(9.2, 9.5),\r\n\t\\startPos, Prand([0.2, 0.4, 0.66, 0.89], 16),\r\n    \\attack, 0.01,\r\n    \\release, 0.1,\r\n    \\buffer, ~low, // which buffer to play from\r\n    \\dur, 0.15,\r\n\t\\panning, Pwhite(-1.0, -0.15); // control L/R here\r\n);\r\n\r\n\r\n~lead1 = Pbind(\r\n    \\instrument, \"color\",\r\n\t\\rate, Pseq([1, 1, 1, 1], 8),\r\n\t\\amp, 2.5,\r\n\t\\startPos, Pseq([0.14, 0.13], 8),\r\n    \\attack, 0.05,\r\n    \\release, 2,\r\n\t\\ffreq, Prand([100, 200, 400, 550, 1000, 50, 100, 500], 8),\r\n\t\\rq, 0.1,\r\n\t\\delay, 0.2,\r\n\t\\decay, 2,\r\n    \\buffer, ~high,\r\n    \\dur, 0.5,\r\n\t\\panning, Pwhite(-0.5, 0.5)\r\n);\r\n\r\n\r\n~lead2 = Pbind(\r\n    \\instrument, \"color\",\r\n\t\\rate, Pseq([0.125, 0.125, 0.5, 0.125], 2),\r\n\t\\amp, 4.5,\r\n\t\\startPos, Pseq([0.14, 0.13, 0.7, 0.9], 4),\r\n    \\attack, 0.15,\r\n    \\release, 2,\r\n\t\\rq, 0.25,\r\n\t\\delay, 0.1,\r\n\t\\decay, 1,\r\n    \\buffer, ~high,\r\n    \\dur, 0.25,\r\n\t\\panning, Pwhite(-0.5, 0.5)\r\n);\r\n\r\n~lead3 = Pbind(\r\n    \\instrument, \"flutter\",\r\n\t\\rate, Pseq([10], 64),\r\n\t\\amp, 9.5,\r\n\t\\startPos, Pseq([0.14, 0.13, 0.7, 0.9], 32),\r\n    \\attack, 0.01,\r\n    \\release, 0.2,\r\n\t\\rq, 0.15,\r\n\t\\delay, 0.1,\r\n\t\\decay, 0.1,\r\n    \\buffer, ~high,\r\n    \\dur, 0.0625\r\n);\r\n\r\n~lead4 = Pbind(\r\n    \\instrument, \"color\",\r\n\t\\rate, Pseq([0.25, 0.25, 1, 0.25], 4),\r\n\t\\amp, 4.5,\r\n\t\\startPos, Pseq([0.14, 0.13, 0.7, 0.9], 4),\r\n    \\attack, 0.15,\r\n    \\release, 2,\r\n\t\\rq, 0.25,\r\n\t\\delay, 0.1,\r\n\t\\decay, 1,\r\n    \\buffer, ~high,\r\n    \\dur, 0.25,\r\n\t\\panning, Pwhite(-0.5, 0.5)\r\n\r\n);\r\n\r\n~lead5 = Pbind(\r\n    \\instrument, \"syn1\",\r\n\t\\rate, Pseq([12, 10], 32),\r\n\t\\amp, 0.1,\r\n\t\\startPos, Pseq([0.24, 0.43, 0.7, 1.5], 32),\r\n    \\attack, 0.05,\r\n    \\release, 0.2,\r\n\t\\rq, 0.25,\r\n\t\\delay, 0.1,\r\n\t\\decay, 0.1,\r\n    \\buffer, ~high,\r\n    \\dur, 0.0625\r\n);\r\n\r\n\r\n~leadoutro = Pbind(\r\n    \\instrument, \"color\",\r\n\t\\rate, Pseq([4, 4.2, 4.1, 3.98], 8),\r\n\t\\amp, 3.5,\r\n\t\\startPos, Pseq([0.14, 0.13], 8),\r\n    \\attack, 0.05,\r\n    \\release, 3,\r\n\t\\ffreq, Prand([100, 200, 80, 150,200, 50, 100, 300], 8),\r\n\t\\rq, 0.1,\r\n\t\\delay, 0.2,\r\n\t\\decay, 2,\r\n    \\buffer, ~high,\r\n    \\dur, 0.125,\r\n\t\\panning, Pwhite(-0.5, 0.5)\r\n);\r\n\r\n\r\n)\r\n\r\n~peet.play;\r\n\r\n~peetfastl.play;\r\n\r\n~peetfastr.play;\r\n\r\n~lead1.play;\r\n\r\n~lead2.play;\r\n\r\n~lead3.play;\r\n\r\n~lead4.play;\r\n\r\n~lead5.play;\r\n\r\n~leadoutro.play;\r\n\r\n\r\n\r\n(\r\nPspawner({ arg maestro;\r\n\r\n\t8.wait;\r\n    maestro.seq(~peetfastr);\r\n\tmaestro.seq(~peetfastl);\r\n\tmaestro.seq(~peetfastr);\r\n\tmaestro.seq(~peetfastl);\r\n\tmaestro.seq(~peet);\r\n\tmaestro.seq(~lead1);\r\n\tmaestro.seq(Ppar([~lead1, ~lead2]));\r\n\tmaestro.seq(~lead3);\r\n\t4.wait;\r\n\tmaestro.seq(Ppar([~lead3, ~lead2]));\r\n\tmaestro.seq(Ppar([~lead3, ~lead4]));\r\n\tmaestro.seq(Ppar([~lead5, ~lead4, ~lead3]));\r\n\tmaestro.seq(Ppar([~lead5, ~lead4]));\r\n\t\tmaestro.seq(Ppar([~lead3, ~lead2]));\r\n\tmaestro.seq(Ppar([~lead5, ~lead4, ~lead1]));\r\n\tmaestro.seq(~lead1);\r\n\tmaestro.seq(~leadoutro);\r\n\t2.wait;\r\n\tmaestro.seq(~leadoutro);\r\n\t2.wait;\r\n\tmaestro.seq(Ppar([~lead1, ~leadoutro]));\r\nmaestro.seq(Ppar([~lead1, ~leadoutro]));\r\n\tmaestro.seq(~leadoutro);\r\n\t2.wait;\r\n\tmaestro.seq(~leadoutro);\r\n\r\n\r\n\tmaestro.suspendAll;\r\n\r\n}).play;\r\n)",
   "labels" : [
      "115granular"
   ]
}
