{
   "ancestor_list" : [],
   "description" : "\"Any Moment\" by Schemawound\r\nAppears on the album \"They Want To Make Your Body Move.  I Want To Hold You Perfectly Still.\"\r\nFull album is available for download from http://www.schemawound.com\r\n\r\nCode by Jonathan Siemasko\r\nContact: schemawound@yahoo.com\r\nHomepage: http://www.schemawound.com/",
   "name" : "Any Moment",
   "author" : "Schemawound",
   "is_private" : null,
   "id" : "1-4Re",
   "code" : "/*\r\n\"Any Moment\" by Schemawound\r\nAppears on the album \"They Want To Make Your Body Move.  I Want To Hold You Perfectly Still.\"\r\nFull album is available for download from http://www.schemawound.com\r\n\r\nCode by Jonathan Siemasko\r\nContact: schemawound@yahoo.com\r\nHomepage: http://www.schemawound.com/\r\n*/\r\n\r\n({//-=-=-=-=-=-=-=-=-=-=-=-=-=- WATERPADRISE DEF -=-=-=-=-=-=-=-=-=-=-=-=-=-\r\n\tSynthDef(\\WaterPadRise5, {\r\n\t\t|\r\n\t\t\tout = 0,\tamp = 1, baseEnvLfoSpeed = 1, sinLfoSpeed = 0.001,\r\n\t\t\tmaxEnvLfoDepth = 10, maxSinLfoDepth = 60\r\n\t\t|\r\n\t\tvar numOfSines = 5;\r\n\t\tvar minEnvLfoSpeed = baseEnvLfoSpeed * 0.09;\r\n\t\tvar maxEnvLfoSpeed = baseEnvLfoSpeed * 1.1;\r\n\t\tvar output = Mix(\r\n\t\t\tArray.fill(numOfSines, {\r\n\t\t\t\targ i;\r\n\t\t\t\tvar envLfoSpeed = Rand(minEnvLfoSpeed, maxEnvLfoSpeed);\r\n\t\t\t\tvar envLfo = i * SinOsc.kr(envLfoSpeed).range(1, maxEnvLfoDepth);\r\n\t\t\t\tvar env = max(0, LFNoise1.kr(envLfo));\r\n\t\t\t\tvar oscLfo = SinOsc.kr(sinLfoSpeed).range(1, maxSinLfoDepth) * (i + 1);\r\n\t\t\t\tSinOsc.ar(oscLfo, mul: env);\r\n\t\t\t})\r\n\t\t);\r\n\t\tOut.ar(out, output * (amp * 0.1));\r\n\t}).add;\r\n\r\n\tSynthDef(\\WaterPadRise25, {\r\n\t\t|\r\n\t\t\tout = 0,\tamp = 1, baseEnvLfoSpeed = 1, sinLfoSpeed = 0.001,\r\n\t\t\tmaxEnvLfoDepth = 10, maxSinLfoDepth = 60\r\n\t\t|\r\n\t\tvar numOfSines = 25;\r\n\t\tvar minEnvLfoSpeed = baseEnvLfoSpeed * 0.09;\r\n\t\tvar maxEnvLfoSpeed = baseEnvLfoSpeed * 1.1;\r\n\t\tvar output = Mix(\r\n\t\t\tArray.fill(numOfSines, {\r\n\t\t\t\targ i;\r\n\t\t\t\tvar envLfoSpeed = Rand(minEnvLfoSpeed, maxEnvLfoSpeed);\r\n\t\t\t\tvar envLfo = i * SinOsc.kr(envLfoSpeed).range(1, maxEnvLfoDepth);\r\n\t\t\t\tvar env = max(0, LFNoise1.kr(envLfo));\r\n\t\t\t\tvar oscLfo = SinOsc.kr(sinLfoSpeed).range(1, maxSinLfoDepth) * (i + 1);\r\n\t\t\t\tSinOsc.ar(oscLfo, mul: env);\r\n\t\t\t})\r\n\t\t);\r\n\t\tOut.ar(out, output * (amp * 0.1));\r\n\t}).add;\r\n\r\n\tSynthDef(\\WaterPadRise50, {\r\n\t\t|\r\n\t\t\tout = 0,\tamp = 1, baseEnvLfoSpeed = 1, sinLfoSpeed = 0.001,\r\n\t\t\tmaxEnvLfoDepth = 10, maxSinLfoDepth = 60\r\n\t\t|\r\n\t\tvar numOfSines = 50;\r\n\t\tvar minEnvLfoSpeed = baseEnvLfoSpeed * 0.09;\r\n\t\tvar maxEnvLfoSpeed = baseEnvLfoSpeed * 1.1;\r\n\t\tvar output = Mix(\r\n\t\t\tArray.fill(numOfSines, {\r\n\t\t\t\targ i;\r\n\t\t\t\tvar envLfoSpeed = Rand(minEnvLfoSpeed, maxEnvLfoSpeed);\r\n\t\t\t\tvar envLfo = i * SinOsc.kr(envLfoSpeed).range(1, maxEnvLfoDepth);\r\n\t\t\t\tvar env = max(0, LFNoise1.kr(envLfo));\r\n\t\t\t\tvar oscLfo = SinOsc.kr(sinLfoSpeed).range(1, maxSinLfoDepth) * (i + 1);\r\n\t\t\t\tSinOsc.ar(oscLfo, mul: env);\r\n\t\t\t})\r\n\t\t);\r\n\t\tOut.ar(out, output * (amp * 0.1));\r\n\t}).add;\r\n\r\n//-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- VERB DEF -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-\r\n\tSynthDef(\\Verb, {\r\n\t\targ \tout = 0,\tin,\r\n\t\t\tmix = 0.25,\troom = 0.15,\tdamp = 0.5;\r\n\t\r\n\t\tvar input, verb;\r\n\t\t\r\n\t\tinput = In.ar(in);\r\n\t\tverb = FreeVerb.ar(input, mix, room, damp);\r\n\t\tOut.ar(out, verb!2);\r\n\t}).add;\r\n\r\n//-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- CONTROL OSC DEF -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-\r\n\tSynthDef(\\ControlOsc, {\r\n\t\t|\r\n\t\t\tout = 0,\tfreq = 60, phase = 0pi, amp = 1\r\n\t\t|\r\n\t\r\n\t\tOut.kr(out, SinOsc.kr(freq, phase).range(0, amp));\r\n\t}).add;\r\n\r\n\tServer.default.sync;\r\n\r\n//-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- SIGNAL FLOW -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-\r\n/*\r\n\tWater5  -> Verb1 -> Verb2 -> Out\r\n\tWater25 ->\r\n\tWater50 ->\r\n*/\r\n\r\n//-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- GROUPS AND BUSSES -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-\r\n\t~sourceGroup = Group.new;\r\n\t~fxGroup = Group.after(~sourceGroup);\r\n\t~mainOut = 0;\r\n\t~verbBus1 = Bus.audio(s, 2);\r\n\t~verbBus2 = Bus.audio(s, 2);\r\n\t\t\r\n//-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- VERBS -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-\r\n\t// Verb 1\r\n\t~verb1 = Synth.head(~fxGroup, \\Verb, [\\in, ~verbBus1, \\out, ~verbBus2]);\r\n\t~verb1AmntCtrlBus = Bus.control(s, 1); ~verb1AmntCtrlBus.set(1); \r\n\t~verb1.map(\\mix, ~verb1AmntCtrlBus);\r\n\t~verb1MixOsc = Synth.before(~verb1, \\ControlOsc, [\\out, ~verb1AmntCtrlBus, \\freq, 0.05, \\amp, 1]); \r\n\r\n\t//Verb 2\r\n\t~verb2 = Synth.tail(~fxGroup, \\Verb, [\\in, ~verbBus2, \\out, ~mainOut]);\r\n\t~verb2AmntCtrlBus = Bus.control(s, 1); ~verb2AmntCtrlBus.set(0); \r\n\t~verb2.map(\\mix, ~verb2AmntCtrlBus);\r\n\t~verb2MixOsc = Synth.before(~verb2, \\ControlOsc, [\\out, ~verb2AmntCtrlBus, \\freq, 0.04, \\amp, 1]); \r\n\r\n//-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- WATERS -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-\r\n\t// Water 5\r\n\t~water5Group = Group.head(~sourceGroup);\r\n\t~water5CtrlBus = Bus.control(s, 1); ~water5CtrlBus.set(0);\r\n\t~waterPadRise5 = Synth.tail(~water5Group, \\WaterPadRise5, [\\out, ~verbBus1]);\r\n\t~waterPadRise5.map(\\amp, ~water5CtrlBus);\r\n\t~water5Lfo = Synth.head(~water5Group, \\ControlOsc, [\\out, ~water5CtrlBus, \\freq, 0.1, \\amp, 1]);\r\n\r\n\t// Water 25\r\n\t~water25Group = Group.head(~sourceGroup);\r\n\t~water25CtrlBus = Bus.control(s, 1); ~water25CtrlBus.set(0);\r\n\t~waterPadRise25 = Synth.tail(~water25Group, \\WaterPadRise25, [\\out, ~verbBus1]);\r\n\t~waterPadRise25.map(\\amp, ~water25CtrlBus);\r\n\t~water25Lfo = Synth.head(~water25Group, \\ControlOsc, [\\out, ~water25CtrlBus, \\freq, 0.1, \\phase, 1pi, \\amp, 1]);\r\n\r\n\t// Water 50\r\n\t~water50Group = Group.head(~sourceGroup);\r\n\t~water50CtrlBus = Bus.control(s, 1); ~water50CtrlBus.set(0);\r\n\t~waterPadRise50 = Synth.tail(~water50Group, \\WaterPadRise50, [\\out, ~verbBus1]);\r\n\t~waterPadRise50.map(\\amp, ~water50CtrlBus);\r\n\t~water50Lfo = Synth.head(~water50Group, \\ControlOsc, [\\out, ~water50CtrlBus, \\freq, 0.01, \\phase, 1pi, \\amp, 0.5]);\r\n}.fork\r\n)",
   "labels" : [
      "ambient",
      "drone"
   ]
}
