{
   "name" : "Unloop Antidote [Disquiet0048-libertederive]",
   "author" : "Schemawound",
   "ancestor_list" : [],
   "description" : "Unloop Antidote [disquiet0048-libertederive]\r\nBy Schemawound\r\n\r\nAll code by Jonathan Siemasko\r\nAll sound sampled from the releases mentioned below\r\n\r\nNOTE: ~media.disquiet just points to the directory containing the files.\r\n\r\nDESCRIPTION:\r\nThis Disquiet Junto project was done as a celebration of the efforts of the Three Legs Duck netlabel,\r\nand to support its employment of licenses that allow for derivative works. This track is comprised of\r\nthree pieces of music, all originally released on Three Legs Duck: “Unloop Hullaballoo” off The Fleet’s\r\nLit Up by Alex Charles and Richard Sanderson, “Etude” off Emosphere by !Kung, and “04:54AM” off Four AM\r\nat Dusk Jérôme Poirier. More on the Three Legs Duck netlabel, and the original versions of these tracks,\r\nat http://threelegsduck.weebly.com/.\r\n\r\nMore on this 48th Disquiet Junto project at: http://disquiet.com/2012/11/29/disquiet0048-libertederive/\r\n\r\nMore details on the Disquiet Junto at: http://soundcloud.com/groups/disquiet-junto/info/",
   "labels" : [
      "beat",
      "disquiet junto",
      "disquiet",
      "junto",
      "disquiet0048libertederive",
      "mechanical"
   ],
   "code" : "/*\r\nUnloop Antidote [disquiet0048-libertederive]\r\nBy Schemawound\r\n\r\nAll code by Jonathan Siemasko\r\nAll sound sampled from the releases mentioned below\r\n\r\nNOTE: ~media.disquiet just points to the directory containing the files.\r\n\r\nDESCRIPTION:\r\nThis Disquiet Junto project was done as a celebration of the efforts of the Three Legs Duck netlabel,\r\nand to support its employment of licenses that allow for derivative works. This track is comprised of\r\nthree pieces of music, all originally released on Three Legs Duck: “Unloop Hullaballoo” off The Fleet’s\r\nLit Up by Alex Charles and Richard Sanderson, “Etude” off Emosphere by !Kung, and “04:54AM” off Four AM\r\nat Dusk Jérôme Poirier. More on the Three Legs Duck netlabel, and the original versions of these tracks,\r\nat http://threelegsduck.weebly.com/.\r\n\r\nMore on this 48th Disquiet Junto project at: http://disquiet.com/2012/11/29/disquiet0048-libertederive/\r\n\r\nMore details on the Disquiet Junto at: http://soundcloud.com/groups/disquiet-junto/info/\r\n*/\r\n\r\n(\r\nfork{\r\n\t//Source Files\r\n\t~etude = ~media.disquiet ++ \"Emosphere - 03 Etude.wav\";\r\n\t~four54 = ~media.disquiet ++ \"Four AM at Dusk - 02 04-54AM.wav\";\r\n\t~unloop = ~media.disquiet ++ \"The Fleets Lit Up - 04 Unloop Hullaballoo.wav\";\r\n\r\n\t//Cut Samples\r\n\tBuffer.freeAll;\r\n\t~buffers = ();\r\n\t~buffers.squeak = Buffer.read(s, ~etude, 0, 29000);\r\n\t~buffers.hornSnip = Buffer.read(s, ~etude, 29000, 6000);\r\n\t~buffers.clickClack = Buffer.read(s, ~etude, 5000, 15000);\r\n\t~buffers.thumpThump = Buffer.read(s, ~etude, 50000, 15000);\r\n\t~buffers.paperNoise = Buffer.read(s, ~etude, 70000, 15000);\r\n\t~buffers.steamlet = Buffer.read(s, ~etude, 83000, 15000);\r\n    ~buffers.steamlet2 = Buffer.read(s, ~etude, 105000, 15000);\r\n\t~buffers.steamSynth = Buffer.read(s, ~unloop, 105000, 300000);\r\n\t~buffers.steamSynth2 = Buffer.read(s, ~unloop, 555000, 300000);\r\n\t~buffers.stab = Buffer.read(s, ~unloop, 4005000, 30000);\r\n\t~buffers.clickSnare = Buffer.read(s, ~unloop, 9025500, 6000);\r\n\t~buffers.lowPluck = Buffer.read(s, ~four54, 1222000, 1400);\r\n\r\n\t//SynthDef\r\n\tSynthDef(\\bufPlay2, {|out = 0, bufnum, rateScale = 1, amp = 1|\r\n\t\tvar buf = PlayBuf.ar(2, bufnum, BufRateScale.kr(bufnum) * rateScale, doneAction: 2);\r\n\t\tOut.ar(out, buf * amp);\r\n\t}).add;\r\n\r\n\tSynthDef(\\bufADSR2, {|out = 0, gate = 1, bufnum, rateScale = 1, amp = 1, attack = 0.01, decay = 0.3, release = 1|\r\n\t\tvar buf = PlayBuf.ar(2, bufnum, BufRateScale.kr(bufnum) * rateScale);\r\n\t\tvar env = EnvGen.ar(Env.adsr(attack, decay, 1, release), gate, doneAction: 2);\r\n\t\tOut.ar(out, buf * env * amp);\r\n\t}).add;\r\n\r\n\tSynthDef(\\snareFX, {|out = 0, in, amp = 1|\r\n\t\tvar inSig = In.ar(in, 2);\r\n\t\tinSig = inSig + (CombC.ar(inSig, 10, 0.5, 0.5) * 0.8);\r\n\t\tinSig = inSig + (GVerb.ar(inSig, 8, 2) * 0.2);\r\n\t\tOut.ar(out, inSig * amp);\r\n\t}).add;\r\n\r\n\tSynthDef(\\hatFX, {|out = 0, in, amp = 1|\r\n\t\tvar inSig = In.ar(in, 2);\r\n\t\tinSig = inSig + (CombC.ar(inSig, 10, 0.5, 0.5) * 0.8);\r\n\t\tinSig = GVerb.ar(inSig);\r\n\t\tOut.ar(out, inSig * amp);\r\n\t}).add;\r\n\r\n\tSynthDef(\\squeakFX, {|out = 0, in, amp = 1|\r\n\t\tvar inSig = In.ar(in, 2);\r\n\t\tinSig = inSig + (CombC.ar(inSig, 10, 0.3, 3) * 0.8);\r\n\t\tinSig = GVerb.ar(inSig);\r\n\t\tOut.ar(out, inSig * amp);\r\n\t}).add;\r\n\r\n\tSynthDef(\\kickFX, {|out = 0, in, amp = 1|\r\n\t\tvar inSig = In.ar(in, 2);\r\n\t\tinSig = BLowPass4.ar(inSig, 300);\r\n\t\tOut.ar(out, inSig * amp);\r\n\t}).add;\r\n\r\n\tSynthDef(\\twinkleFilterFX, {|out = 0, in, amp = 1|\r\n\t\tvar inSig = In.ar(in, 2);\r\n\t\tinSig = RHPF.ar(inSig, 1000);\r\n\t\tOut.ar(out, inSig * amp);\r\n\t}).add;\r\n\r\n\t//Sync\r\n\ts.sync;\r\n\r\n\t//Display\r\n\t~buffers.do{|buf| buf.postln};\r\n\r\n\t//FX\r\n\t~snareBus = Bus.audio(Server.default, 2);\r\n\t~snareFX = Synth(\\snareFX, [\\out: [0,1], \\in: ~snareBus, amp: 0.3]);\r\n\t~hatBus = Bus.audio(Server.default, 2);\r\n\t~hatFX = Synth(\\hatFX, [\\out: [0,1], \\in: ~hatBus, amp: 0.5]);\r\n\t~squeakBus = Bus.audio(Server.default, 2);\r\n\t~squeakFX = Synth(\\squeakFX, [\\out: [0,1], \\in: ~squeakBus, amp: 0.5]);\r\n\t~kickBus = Bus.audio(Server.default, 2);\r\n\t~kickFX = Synth(\\kickFX, [\\out: [0,1], \\in: ~kickBus, amp: 0.5]);\r\n\t~twinkleFilterBus = Bus.audio(Server.default, 2);\r\n\t~twinkleFilterFX = Synth(\\twinkleFilterFX, [\\out: ~hatBus, \\in: ~twinkleFilterBus, amp: 0.5]);\r\n\r\n\t//Sequence (8 beat bars)\r\n    ~songClock = TempoClock(1, 0);\r\n\t~pat = ();\r\n\t~pat.intro = Pbind(*[instrument: \\bufADSR2, bufnum: ~buffers.steamSynth2, dur: 8, amp: Pn(1, 1), rateScale: 1, out: ~snareBus]);\r\n\t~pat.thump = Ppar([\r\n\t\tPbind(*[instrument: \\bufPlay2, bufnum: ~buffers.thumpThump, dur: 1, amp: Pseq([Pseq([1.5,Rest], 3), Pn(1,2)], 1), rateScale: 0.5]),\r\n\t\tPbind(*[instrument: \\bufPlay2, bufnum: ~buffers.thumpThump, dur: 1, amp: Pseq([1,Rest], 4), rateScale: 0.2]),\r\n\t]);\r\n\t~pat.clickSnare = Pbind(*[instrument: \\bufPlay2, bufnum: ~buffers.clickSnare, dur: 1, amp: Pseq([Rest, 0.9], 4), rateScale: 1, out: ~snareBus]);\r\n\t~pat.squeakHalf = Pbind(*[instrument: \\bufPlay2, bufnum: ~buffers.squeak, dur: 1, amp: Pseq([Pn(Rest,4), Pn(1,4)],1), rateScale: 0.5]);\r\n\t~pat.squeak = Pbind(*[instrument: \\bufPlay2, bufnum: ~buffers.squeak, dur: 1, amp: Pn(0.9,8), rateScale: 0.5]);\r\n\t~pat.squeakInfinity = Pbind(*[instrument: \\bufPlay2, bufnum: ~buffers.squeak, dur: 1, amp: Pn(0.9,8), rateScale: 0.5, out: ~squeakBus]);\r\n\t~pat.squeakInfinity2 = Pbind(*[instrument: \\bufADSR2, bufnum: ~buffers.squeak, dur: 1, sustain: 5, amp: Pn(0.5,8), rateScale: 0.05, out: ~squeakBus]);\r\n\t~pat.clickClack = Pbind(*[instrument: \\bufPlay2, bufnum: ~buffers.clickClack, dur: 1/2, amp: Pseq([Rest, 0.5], 8), rateScale: Pseq([Pn(1, 8), Pn(0.8, 8)])]);\r\n\t~pat.paperNoise = Pbind(*[instrument: \\bufPlay2, bufnum: ~buffers.paperNoise, dur: 1/2, amp: Pseq([0.9], 16), rateScale: 0.7]);\r\n\t~pat.steamlet2Half = Pbind(*[instrument: \\bufPlay2, bufnum: ~buffers.steamlet2, dur: 1/4, amp: Pseq([Pn(Rest, 8), Pn(1, 4), Pn(Rest, 4)], 2), rateScale: 0.5, amp: 0.6]);\r\n\t~pat.steamSynth = Pbind(*[instrument: \\bufADSR2, bufnum: ~buffers.steamSynth, dur: Pseq([Pn(1,7),Pn(1/4,4)]), sustain: Pkey(\\dur), amp: 3.3, rateScale: Pseq([Pn(1,4), Pn(1.5,7)]), amp: 0.6, decay: 0.01]);\r\n\t~pat.steamSynth2 = Pbind(*[instrument: \\bufADSR2, bufnum: ~buffers.steamSynth2, dur: Pseq([Pn(1,7),Pn(1/4,4)]), sustain: Pkey(\\dur), amp: 3.3, rateScale: Pseq([Pn(1,4), Pn(1.5,7)]), amp: 0.6, decay: 0.01]);\r\n\t~pat.stab = Pbind(*[instrument: \\bufADSR2, bufnum: ~buffers.stab, dur: 1/4, sustain: Pkey(\\dur), amp: 0.1, rateScale: Pseq([0.5, Rest, Rest, 0.7], 4), amp: 0.6, decay: 0.01]);\r\n\t~pat.hat = Pbind(*[instrument: \\bufPlay2, bufnum: ~buffers.steamlet, dur: 1/8, amp: Pn(0.15, 64), rateScale: Pseq([10, 20, 30, 20], inf), out: ~hatBus]);\r\n\t~pat.hatDoubleTime = Pbind(*[instrument: \\bufPlay2, bufnum: ~buffers.steamlet, dur: 1/16, amp: Pn(0.15, 128), rateScale: Pseq([10, 10, 10, 10], inf), out: ~hatBus]);\r\n\t~pat.pluck = Pbind(*[instrument: \\bufPlay2, bufnum: ~buffers.lowPluck, dur: 1/8, amp: Pn(0.3, 64), rateScale: Pseq([10, 20, 30, 20], inf), out: ~hatBus]);\r\n\t~pat.kickish = Pbind(*[instrument: \\bufPlay2, bufnum: ~buffers.lowPluck, dur: 2, amp: Pn(2, 4), rateScale: 0.18, release: 0.25, out: ~kickBus]);\r\n\t~pat.twinkleFilter = Pbind(*[instrument: \\bufADSR2, bufnum: ~buffers.steamSynth, dur: 1/16, amp: Pseq([0.2, Rest], 32), rateScale: Pseq([4,5,6,7],inf), release: 0.1, out: ~twinkleFilterBus]);\r\n\r\n\tPseq([\r\n\t\t~pat.intro,\r\n\t\tPn(Ppar([~pat.thump, ~pat.paperNoise, ~pat.squeakHalf, ~pat.clickSnare, ~pat.kickish]), 2),\r\n\t\tPn(Ppar([~pat.thump, ~pat.paperNoise, ~pat.clickClack, ~pat.clickSnare, ~pat.steamlet2Half, ~pat.steamSynth, ~pat.hat, ~pat.kickish]), 2),\r\n\t\tPn(Ppar([~pat.thump, ~pat.squeakHalf, ~pat.paperNoise, ~pat.clickSnare, ~pat.clickClack, ~pat.steamlet2Half, ~pat.steamSynth, ~pat.hat, ~pat.kickish]), 2),\r\n\t\tPn(Ppar([~pat.thump, ~pat.paperNoise, ~pat.clickClack, ~pat.clickSnare, ~pat.steamlet2Half, ~pat.steamSynth2, ~pat.hat, ~pat.kickish, ~pat.twinkleFilter]), 2),\r\n\t\tPn(Ppar([~pat.thump, ~pat.squeakHalf, ~pat.paperNoise, ~pat.clickSnare, ~pat.clickClack, ~pat.steamlet2Half, ~pat.steamSynth2, ~pat.hat, ~pat.kickish, ~pat.twinkleFilter]), 2),\r\n\t\tPn(Ppar([~pat.thump, ~pat.clickSnare, ~pat.steamSynth, ~pat.hat, ~pat.kickish, ~pat.pluck]), 2),\r\n\t\tPn(Ppar([~pat.thump, ~pat.paperNoise, ~pat.clickSnare, ~pat.steamSynth, ~pat.kickish, ~pat.hatDoubleTime, ~pat.pluck]), 2),\r\n\t\tPn(Ppar([~pat.thump, ~pat.paperNoise, ~pat.clickClack, ~pat.clickSnare, ~pat.steamlet2Half, ~pat.steamSynth, ~pat.hat, ~pat.kickish, ~pat.pluck]), 2),\r\n\t\tPn(Ppar([~pat.thump, ~pat.squeakHalf, ~pat.paperNoise, ~pat.clickSnare, ~pat.clickClack, ~pat.steamlet2Half, ~pat.steamSynth, ~pat.hat, ~pat.kickish, ~pat.pluck]), 2),\r\n\t\tPn(Ppar([~pat.thump, ~pat.paperNoise, ~pat.clickClack, ~pat.clickSnare, ~pat.steamlet2Half, ~pat.steamSynth2, ~pat.hat, ~pat.kickish, ~pat.pluck, ~pat.twinkleFilter]), 2),\r\n\t\tPn(Ppar([~pat.thump, ~pat.squeakHalf, ~pat.paperNoise, ~pat.clickSnare, ~pat.clickClack, ~pat.steamlet2Half, ~pat.steamSynth2, ~pat.hat, ~pat.kickish, ~pat.pluck, ~pat.twinkleFilter]), 2),\r\n\t\tPn(Ppar([~pat.thump, ~pat.squeak]), 2),\r\n\t\t~pat.squeakInfinity,\r\n\t\tPpar([~pat.squeakInfinity2, ~pat.intro]),\r\n\t\t~pat.squeakInfinity2\r\n\t]).play(~songClock);\r\n};\r\n)",
   "is_private" : null,
   "id" : "1-4RL"
}
