{
   "description" : "\"Hello World, I Am Lonely Too\" by Schemawound\r\nAppears on the album \"They Want To Make Your Body Move.  I Want To Hold You Perfectly Still.\"\r\n\r\nFull album is available for download from http://www.schemawound.com\r\n\r\nBlog post about the creation of this track http://schemawound.com/post/31040026304/hello-world-i-am-lonely-too\r\n\r\nCode by Jonathan Siemasko (Additional Code by Carl Testa - http://www.carltesta.net )\r\nContact: schemawound@yahoo.com\r\nHomepage: http://www.schemawound.com/",
   "ancestor_list" : [],
   "name" : "Hello World, I Am Lonely Too",
   "author" : "Schemawound",
   "is_private" : null,
   "id" : "1-4R6",
   "code" : "/*\r\n\"Hello World, I Am Lonely Too\" by Schemawound\r\nAppears on the album \"They Want To Make Your Body Move.  I Want To Hold You Perfectly Still.\"\r\n\r\nFull album is available for download from http://www.schemawound.com\r\n\r\nBlog post about the creation of this track http://schemawound.com/post/31040026304/hello-world-i-am-lonely-too\r\n\r\nCode by Jonathan Siemasko (Additional Code by Carl Testa - http://www.carltesta.net )\r\nContact: schemawound@yahoo.com\r\nHomepage: http://www.schemawound.com/\r\n*/\r\n\r\n(\r\n\t{\r\n\t\t//Variables\r\n\t\tvar mainOut, verbBus, reverb, dust, syn, synOctaveSeq, movements = Array(3);\r\n\r\n\t\t//SynthDefs\r\n\t\tSynthDef(\\randomAddSynth, {|out = 0, freq = 200, gate = 1, amp = 1, maxDelay = 1, maxAttack = 1, maxDecay = 1, maxHold = 1, maxRelease = 1|\r\n\t\t\tvar numOfHarmonics = 10;\r\n\t\t\tvar harmonics = freq * (2..numOfHarmonics);\r\n\t\t\tvar delayArray = Array.fill(numOfHarmonics, {arg i; Rand.new(0.0, maxDelay)});\r\n\t\t\tvar attackArray = Array.fill(numOfHarmonics, {arg i; Rand.new(0.0, maxAttack)});\r\n\t\t\tvar decayArray = Array.fill(numOfHarmonics, {arg i; Rand.new(0.0, maxDecay)});\r\n\t\t\tvar holdArray = Array.fill(numOfHarmonics, {arg i; Rand.new(0.0, maxHold)});\r\n\t\t\tvar releaseArray = Array.fill(numOfHarmonics, {arg i; Rand.new(0.0, maxRelease)});\r\n\t\t\tvar sines = (SinOsc.ar(freq) * EnvGen.ar(Env.dadsr(Rand(maxDelay), Rand(maxAttack), Rand(maxDecay), Rand(maxHold), maxRelease), gate, doneAction:2)) / numOfHarmonics;\r\n\t\t\tharmonics.do{|frequency, i| sines = sines + (SinOsc.ar(frequency) * EnvGen.ar(Env.dadsr(delayArray[i], attackArray[i], decayArray[i], holdArray[i], releaseArray[i]), gate) / numOfHarmonics);};\r\n\t\t\tOut.ar(out, sines!2 * amp);\r\n\t\t}).add;\r\n\r\n\t\tSynthDef(\\perc, { | out=0, freq=200, width=0.5, density=5, amp=0.1, gate=1 |\r\n\t\t\tvar pan = Rand.new(-1, 1);\r\n\t\t\tvar filterNoise = RLPF.ar(PinkNoise.ar, freq, width / freq);\r\n\t\t\tvar dustNoise = Dust.kr(density) * filterNoise;\r\n\t\t\tvar env = EnvGen.kr(Env.perc, gate, doneAction:2);\r\n\t\t\tOut.ar(out, Pan2.ar(dustNoise, pan, amp));\r\n\t\t}).add;\r\n\r\n\t\tSynthDef(\\reverb, { |in=0, out=0, mix=0.5, room=0.5, damp=0.5, pan=0, amp=1 |\r\n\t\t\tvar reverb = FreeVerb.ar(InFeedback.ar(in, 2),mix,room,damp);\r\n\t\t\tOut.ar(out, Pan2.ar(reverb, pan, amp));\r\n\t\t}).add;\r\n\r\n\t\t//Sync\r\n\t\ts.sync;\r\n\r\n\t\t//Busses\r\n\t\tmainOut = 0;\r\n\t\tverbBus = Bus.audio(Server.default, 2);\r\n\t\treverb = Synth.new(\\reverb, [\\out, mainOut, \\in, verbBus, \\room, 1, \\mix, 0.5, \\damp, 0.5]);\r\n\r\n\t\t//Patterns\r\n\t\tdust = Pbind(*[\r\n\t\t\tinstrument: \\perc,\r\n\t\t\tdensity: 1,\r\n\t\t\tfreq: Pseq([Pseq([10,10000], 20), Pseq([10,100,1000,10000], 10)], inf),\r\n\t\t\tdur: Pwhite(0.1,0.2,inf),\r\n\t\t\tsustain: 0.1,\r\n\t\t\tamp: 0.1,\r\n\t\t\tout: verbBus\r\n\t\t]);\r\n\r\n\t\tsynOctaveSeq = Pseq([Prand([1,2], 8), Pwrand([1,2,3], [0.25, 0.5, 0.25], 10)], inf);\r\n\t\tsyn = Pbind(*[\r\n\t\t\tinstrument:\t\\randomAddSynth, \r\n\t\t\tnote: \t\tPrand([2.5,5.5,3.5,4.3,4.7], inf),\r\n\t\t\toctave:\t\tsynOctaveSeq,\r\n\t\t\tdur: \t\tPwhite(1,3,inf),\r\n\t\t\tamp:\t\t0.4,\r\n\t\t\tmaxDelay:\t2,\r\n\t\t\tmaxAttack:\tPwrand([0.05, 4], [0.25, 0.75], inf), //Short or long attack \r\n\t\t\tmaxDecay:\t10, \r\n\t\t\tmaxHold:\t1,\r\n\t\t\tmaxRelease:\t10,\r\n\t\t\tout:\t\tmainOut\r\n\t\t]);\r\n\r\n\t\t//Movements\r\n\t\tmovements.add({\r\n\t\t\t\"***Section 1***\".postln;\r\n\t\t\tPdef(\\dust).play;\r\n\t\t\tPdef(\\dust, dust);\t\t\t\t\t\t\t\"Slow Crackle\".postln;\t\t\t\t\t\t15.wait; \t// 00:15\r\n\t\t\tPbindef(\\dust, \\density, 100); \t\t\t\t\"Speed Up\".postln;\t\t\t\t\t\t\t15.wait; \t// 00:30\r\n\t\t\tPdef(\\syn).fadeTime_(10).play;\r\n\t\t\tPdef(\\syn, syn);\t\t\t\t\t\t\t\"Syn\".postln;\t\t\t\t\t\t\t\t30.wait; \t// 01:00\r\n\t\t\tPbindef(\\dust, \\density, 10); \t\t\t\t\r\n\t\t\tPbindef(\\syn, \\out, verbBus);\t\t\t\t\"Verb\".postln;\t\t\t\t\t\t\t\t30.wait; \t// 01:30\r\n\t\t\tPbindef(\\dust, \\density, 100); \t\t\t\t\r\n\t\t\tPbindef(\\syn, \\out, mainOut);\t\t\t\t\"No verb\".postln;\t\t\t\t\t\t\t30.wait;\t// 02:00\r\n\t\t\tPdef(\\dust).stop; Pdef(\\syn).stop;\t\t\t\"Full Stop\".postln;\t\t\t\t\t\t\t7.wait;\t\t// 02:07\r\n\t\t});\r\n\t\tmovements.add({\r\n\t\t\t\"***Section 2***\".postln;\r\n\t\t\tPdef(\\dust, dust).play;\t\t\t\t\t\r\n\t\t\tPbindef(\\dust, \\density, 1); \t\t\t\t\"Dust Back\".postln;\t\t\t\t\t\t\t7.wait;\t\t// 00:00\r\n\t\t\tPbindef(\\dust, \\density, 20); \t\t\t\t\"Faster\".postln;\t\t\t\t\t\t\t7.wait;\t\t// 00:07\r\n\t\t\tPbindef(\\dust, \\density, 50); \t\t\t\t\"And Faster\".postln;\t\t\t\t\t\t7.wait;\t\t// 00:14\r\n\t\t\tPbindef(\\dust, \\density, 100);\r\n\t\t\tPdef(\\syn, syn).play;\r\n\t\t\tPbindef(\\syn, \\octave, synOctaveSeq + 1);\t\"Syn back and Hi\".postln;\t\t\t\t\t30.wait;\t// 00:44\r\n\t\t\tPbindef(\\dust, \\density, 20);\r\n\t\t\tPbindef(\\syn, \\out, verbBus);\t\t\t\t\"Hi Verb\".postln;\t\t\t\t\t\t\t30.wait; \t// 01:14\r\n\t\t\tPbindef(\\syn, \\out, mainOut);\t\t\t\t\"No verb\".postln;\t\t\t\t\t\t\t\r\n\t\t\tPbindef(\\dust, \\density, 1); \t\t\t\t\"Slow the crackle\".postln;\r\n\t\t\tPbindef(\\syn, \\dur, 0.5);\t\t\t\t\t\"Regulate Synth Rythum\".postln;\t\t\t\t30.wait;\t// 01:44\r\n\t\t\tPbindef(\\dust, \\density, 2);\t\t\t\t\"Density: 2\".postln;\t\t\t\t\t\t2.wait;\t\t// 01:46\r\n\t\t\tPbindef(\\dust, \\density, 4);\t\t\t\t\"Density: 4\".postln;\t\t\t\t\t\t2.wait;\t\t// 01:48\r\n\t\t\tPbindef(\\dust, \\density, 8);\t\t\t\t\"Density: 8\".postln;\t\t\t\t\t\t2.wait;\t\t// 01:50\r\n\t\t\tPbindef(\\dust, \\density, 16);\t\t\t\t\"Density: 16\".postln;\t\t\t\t\t\t2.wait;\t\t// 01:52\r\n\t\t\tPbindef(\\dust, \\density, 32);\t\t\t\t\"Density: 32\".postln;\t\t\t\t\t\t2.wait;\t\t// 01:54\r\n\t\t\tPbindef(\\dust, \\density, 64);\t\t\t\t\"Density: 64\".postln;\t\t\t\t\t\t2.wait;\t\t// 01:56\r\n\t\t\tPbindef(\\dust, \\density, 128);\t\t\t\t\"Density: 128\".postln;\t\t\t\t\t\t1.wait;\t\t// 01:57\r\n\t\t\tPbindef(\\dust, \\density, 256);\t\t\t\t\"Density: 256\".postln;\t\t\t\t\t\t1.wait;\t\t// 01:58\r\n\t\t\tPbindef(\\dust, \\density, 512);\t\t\t\t\"Density: 512\".postln;\t\t\t\t\t\t1.wait;\t\t// 01:59\r\n\t\t\tPbindef(\\dust, \\density, 1024);\t\t\t\t\"Density: 1024\".postln;\t\t\t\t\t\t1.wait;\t\t// 02:00\r\n\t\t\tPdef(\\dust).stop; Pdef(\\syn).stop;\t\t\t\"Full Stop\".postln;\t\t\t\t\t\t\t7.wait;\t\t// 02:07\r\n\t\t});\r\n\t\tmovements.add({\r\n\t\t\t\"***Section 3***\".postln;\r\n\t\t\tPdef(\\dust, dust).play; \r\n\t\t\tPdef(\\syn, syn).play;\t\t\t\r\n\t\t\tPbindef(\\syn, \\dur, 0.5);\t\t\t\t\t\r\n\t\t\tPbindef(\\syn, \\octave, synOctaveSeq - 1);\r\n\t\t\tPbindef(\\syn, \\out, verbBus);\t\t\t\t\"Down 2 octaves and verbed\".postln;\t\t\t60.wait;\t// 01:00\r\n\t\t\tPbindef(\\dust, \\density, 10);\r\n\t\t\tPbindef(\\dust, \\freq, Pseq([10,100,1000,5000], inf));\r\n\t\t\tPbindef(\\dust, \\dur, 0.25);\t\t\t\t\t\"New noise signature\".postln;\t\t\t\t45.wait;\t// 01:45\r\n\t\t\tPbindef(\\syn, \\dur, Pwhite(1,3,inf),);\r\n\t\t\tPbindef(\\syn, \\octave, synOctaveSeq);\r\n\t\t\tPbindef(\\dust, \\density, 20);\t\t\t\t\"Denser\".postln;\t\t\t\t\t\t\t45.wait;\t// 02:30\r\n\t\t\tPdef(\\dust).stop; Pdef(\\syn).stop; \t\t\t\"Ring Out\".postln;\t\t\t\t\t\t\t10.wait;\t// 02:40\r\n\t\t});\r\n\r\n\t\t//Sequence\r\n\t\tPdef(\\dust).fadeTime_(10); Pdef(\\syn).fadeTime_(10);\r\n\t\t\"\".postln;\"-----Start Sequence-----\".postln;\r\n\t\tmovements[0].(); // 02:07\r\n\t\tmovements[1].(); // 04:14\r\n\t\tmovements[2].(); // 06:54\r\n\t\treverb.free;\r\n\t\t\"-----End Sequence-----\".postln; \"\".postln;\r\n\t}.fork\r\n)",
   "labels" : [
      "ambient",
      "granular",
      "generative"
   ]
}
