{
   "code" : "//BEN BATES\r\n//PROFESSOR RUVIARO\r\n//A3 - GRANULAR SAMPLING\r\n//11.29.2016\r\n\r\n//----------------------------------------------------------------------------------------------\r\n//SYNTH DEFS:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: //______________________________________________________________________________________________\r\n\r\n(\r\n\r\n~buf1 = Buffer.readChannel(s, \"/Users/benbates/Desktop/AF/Texture/INNOCENT_C3.wav\", channels: [0]);\r\n\r\n~buf2 = Buffer.readChannel(s, \"/Users/benbates/Desktop/AF/SS_Percussion/Kick/winning.aif\", channels: [0]);\r\n\r\n~buf3 = Buffer.readChannel(s, \"/Users/benbates/Desktop/AF/Texture/CELLO_C2.wav\", channels: [0]);\r\n\r\n~buf4 = Buffer.readChannel(s, \"/Users/benbates/Desktop/AF/samples/SoundSnap/Jungle-Sci-Fi.wav\", channels: [0]);\r\n\r\nSynthDef(\"wn\", {arg out = 0, amp = 0.1, att = 0.01, sus = 1, rel = 0.08, ffreq = 10000, pan = 0;\r\n\tvar env, snd;\r\n\tenv = Env.perc(att, sus, rel, amp).kr(doneAction: 2);\r\n\tsnd = BPF.ar(\r\n\t\tin: WhiteNoise.ar,\r\n\t\tfreq: ffreq,\r\n\t\tmul: env\r\n\t);\r\n\tOut.ar(out, Pan2.ar(snd, pan));\r\n}).add;\r\n\r\nSynthDef(\"1\", {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\tsnd = PlayBuf.ar(\r\n        numChannels: 1,\r\n        bufnum: ~buf1,\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(\"2\", {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\tsnd = PlayBuf.ar(\r\n        numChannels: 1,\r\n        bufnum: ~buf2,\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(\"3\", {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\tsnd = PlayBuf.ar(\r\n        numChannels: 1,\r\n        bufnum: ~buf3,\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(\"4\", {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\tsnd = PlayBuf.ar(\r\n        numChannels: 1,\r\n        bufnum: ~buf4,\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\n\r\n\r\n\r\n//-----------------------------------------------------------------------------------------------//PATTERNS:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\r\n//______________________________________________________________________________________________\r\n\r\n(\r\n~synth = Pbind(\r\n    \\instrument, \"1\",\r\n\t\\dur, 2,\r\n\t\\note, Pseq([\r\n\t\tPseq([0, 0, Rest(1), Rest(1)], inf),\r\n\t\tPseq([0, -5, -6, -5, -4, -3, -2, -1], 1),\r\n\t], inf),\r\n\t\\amp, Pseq([0.12, 0.13, 0.12, 0.10, 0.09, 0.11], inf),\r\n\t\\attack, Pseq([0.1, 2], inf) ,\r\n\t\\release, Pseq([2, 0.1], inf),\r\n\t\\rate, Pseq([0.5, [1, 1.5, 2]], inf) ,\r\n).play;\r\n)\r\n\r\n(\r\n~kick = Pbind(\r\n    \\instrument, \"2\",\r\n\t\\dur, 0.25,\r\n\t\\note, Pseq([1, 1, Rest(1), Rest(1), Rest(1), Rest(1), Rest(1), Rest(1)], inf),\r\n\t\\rate, Pseq([0.5, 1], inf) ,\r\n).play;\r\n)\r\n\r\n(\r\n~cello = Pbind(\r\n    \\instrument, \"3\",\r\n\t\\dur, 0.5,\r\n\t\\note, Pseq([1, 1, Rest(1), Rest(1), Rest(1), Rest(1), Rest(1), Rest(1),], inf),\r\n\t\\rate, Pseq([1, 1.5, 1.4, 1.5, 1.25, 1.5], inf),\r\n\t\\attack, 3,\r\n\t\\release, 5,\r\n).play;\r\n)\r\n\r\n(\r\n~jungle = Pbind(\r\n    \\instrument, \"4\",\r\n\t\\dur, 0.125,\r\n\t\\rate, Pseq([1, 1.5, 0.5, 1.5, 1.25, 1.12, 1.05, 1.18, 1.22, 0.98, 1.67, 0.92], 16),\r\n\t\\attack, Pseq([0.1, 0.2, 0.05, 0.9, 0.12, 0.2, 0.1, 0.05], inf),\r\n\t\\release, 0.1,\r\n).play;\r\n)\r\n\r\n(\r\n~jungle2 = Pbind(\r\n    \\instrument, \"4\",\r\n\t\\dur, 8,\r\n\t\\rate, Pseq([1], 1),\r\n\t\\attack, 5,\r\n\t\\release, 10,\r\n).play;\r\n)\r\n\r\n(\r\n~wn = Pbind(\r\n    \\instrument, \"wn\",\r\n\t\\note, Pseq([1], 56),\r\n\t\\amp, Pseq([0.1, 0.12, 0.8, 1.4], 16),\r\n\r\n).play;\r\n)\r\n\r\n//----------------------------------------------------------------------------------------------\r\n//QUICK TEST:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: //______________________________________________________________________________________________\r\n\r\n//BUF1\r\n\r\n(\r\n{Splay.ar(PlayBuf.ar(1, ~buf1, 1, loop: 1))}.play;\r\n{Splay.ar(PlayBuf.ar(1, ~buf1, 0.75, 0, 0, 1,))}.play;\r\n{Splay.ar(PlayBuf.ar(1, ~buf1, 0.625, 0, 0, 1,))}.play;\r\n{Splay.ar(PlayBuf.ar(1, ~buf1, 0.5, loop: 1))}.play;\r\n)\r\n\r\n//BUF2\r\n(\r\n{Splay.ar(PlayBuf.ar(1, ~buf2, 1, loop: 0))}.play;\r\n)\r\n\r\n//BUF3\r\n\r\n(\r\n{Splay.ar(PlayBuf.ar(1, ~buf3, 2, 0, 0, 1,))}.play;\r\n\r\n{Splay.ar(PlayBuf.ar(1, ~buf3, 1.5, 0, 0, 1,))}.play;\r\n\r\n{Splay.ar(PlayBuf.ar(1, ~buf3, 1.25, 0, 0, 1,))}.play;\r\n\r\n{Splay.ar(PlayBuf.ar(1, ~buf3, 1, 0, 0, 1,))}.play;\r\n)\r\n\r\n//----------------------------------------------------------------------------------------------\r\n//COMPOSITION///////////////////////////////////////////////////////////////////////////////////\r\n//______________________________________________________________________________________________\r\n\r\ns.record;\r\n\r\ns.stopRecording;\r\n\r\n\r\n(\r\n\r\n{\r\nPbind(\r\n    \\instrument, \"4\",\r\n\t\\dur, 8,\r\n\t\\rate, Pseq([1], 1),\r\n\t\\attack, 5,\r\n\t\\release, 50,\r\n).play;\r\n\r\n\t8.wait;\r\n\r\n~wn.play;\r\n\r\n~synth.play;\r\n\r\n\t12.wait;\r\n\r\n~kick.play;\r\n\r\n~cello.play;\r\n\r\n~jungle.play;\r\n\r\n\t16.wait;\r\n\r\nPbind(\r\n    \\instrument, \"4\",\r\n\t\\dur, 16,\r\n\t\\rate, Pseq([1], 1),\r\n\t\\attack, 5,\r\n\t\\release, 10,\r\n).play;\r\n\r\n\r\n\r\n}.fork;\r\n\r\n)",
   "id" : "1-55A",
   "is_private" : null,
   "labels" : [],
   "description" : "https://drive.google.com/drive/folders/0B6nmH--Tm3aFNkhvVEVycGFUelU?usp=sharing",
   "ancestor_list" : [],
   "name" : "A3 - Granular Sampling",
   "author" : "bbates"
}
