{
   "labels" : [
      "115modulations"
   ],
   "code" : "(\r\nSynthDef(\"am1\", {arg freq = 440, modfreq = 2, amp = 0.2, att = 0.01, rel = 3;\r\n    var carrier, modulator, env;\r\n    env = Env.perc(\r\n        attackTime: att,\r\n        releaseTime: rel,\r\n        level: amp\r\n    ).kr(2);\r\n    modulator = SinOsc.ar(modfreq).range(0, 1);\r\n    carrier = SinOsc.ar(freq: freq, mul: env * modulator);\r\n    Out.ar(0, carrier ! 2);\r\n}).add;\r\n\r\nSynthDef(\"hihat\", {arg out = 0, amp = 0.5, att = 0.01, rel = 0.2, ffreq = 12000, pan = 0;\r\n\tvar env, snd;\r\n\tenv =  Env.perc(\r\n\t\tattackTime: att,\r\n\t\treleaseTime: rel,\r\n\t\tlevel: amp).kr(doneAction: 2);\r\n\tsnd =  WhiteNoise.ar(\r\n\t\tmul: env,\r\n\t\tadd: 0);\r\n\tsnd = LPF.ar(\r\n\t\tin: snd,\r\n\t\tfreq: ffreq,\r\n\t\tmul: 1,\r\n\t\tadd: 0);\r\n\tOut.ar(out, Pan2.ar(snd, pan));\r\n}).add;\r\n\r\nSynthDef(\"kick\", {arg out = 0, amp = 0.5, sinfreq = 60, glissf = 0.9, att = 0.01, rel = 0.45, pan = 0;\r\n\tvar env, snd, ramp;\r\n\tenv =  Env.perc(\r\n\t\tattackTime: att,\r\n\t\treleaseTime: rel,\r\n\t\tlevel: amp).kr(doneAction: 2);\r\n\tramp = XLine.kr(\r\n\t\tstart: sinfreq,\r\n\t\tend: sinfreq * glissf,\r\n\t\tdur: rel\r\n\t);\r\n\tsnd = SinOsc.ar(\r\n\t\tfreq: ramp,\r\n\t\tphase: 0,\r\n\t\tmul: env,\r\n\t\tadd: 0);\r\n\tsnd = Pan2.ar(snd, pan);\r\n\tOut.ar(out, snd);\r\n}).add;\r\n\r\nSynthDef(\"fm2\", {arg freq = 440, modindex = 10, amp = 0.1, pos = 0, gate = 1, att = 0.01, rel = 0.3;\r\n\tvar carrier, modulator, freqdev, env, modfreq;\r\n\tmodindex = Line.kr(modindex, 1, att);\r\n\tmodfreq = freq / 2;\r\n\tfreqdev = modfreq * modindex;\r\n\tmodulator = SinOsc.ar(freq: modfreq, mul: freqdev);\r\n\tcarrier = SinOsc.ar(freq: [freq + modulator, freq * 1.01 + modulator]);\r\n\tenv = Env.asr(\r\n\t\tattackTime: att,\r\n\t\tsustainLevel: amp,\r\n\t\treleaseTime: rel\r\n\t).kr(doneAction: 2, gate: gate);\r\n\tcarrier = FreeVerb.ar(carrier, 1.0, 0.75, 0.25, 1, 0);\r\n\tcarrier = Pan2.ar(in: carrier, pos: pos, level: env);\r\n\tOut.ar(0, carrier * 0.5);\r\n}).add;\r\n\r\nSynthDef(\"am3\", {arg freq = 440, modfreq = 2, amp = 0.2, att = 0.01, sus = 0.2, rel = 3, gate = 1, pos = 0;\r\n    var carrier, modulator, env;\r\n    env = Env.asr(\r\n        attackTime: att,\r\n\t\tsustainLevel: sus,\r\n        releaseTime: rel\r\n\t).kr(doneAction: 2, gate: gate, mul: amp);\r\n    modulator = SinOsc.ar(modfreq).range(0, 1);\r\n\tfreq = freq * LFNoise2.kr([2, 1/2, 1/3, 1/4, 1]).range(0.98, 1.01);\r\n    carrier = Pulse.ar(freq: freq, mul: env * modulator);\r\n\tcarrier = Mix.ar(carrier);\r\n\tcarrier = LPF.ar(carrier, Line.kr(10000, 1000, att));\r\n\tOut.ar(0, Pan2.ar(carrier, pos));\r\n}).add;\r\n)\r\n\r\n\r\n(\r\nvar kc = 2;\r\n\r\n~helpers = Pbind(\r\n    \\instrument, \"am1\",\r\n    \\midinote, Pseq([\r\n\t\tPn([57], 6),\r\n\t\tPn([64], 6),\r\n\t\tPn([59], 6),\r\n\t\tPn([60], 6),\r\n\t], inf),\r\n\t\\ctranspose, 12,\r\n    \\dur, Pseq([Pn(0.5, 5), 1.5], inf),\r\n    \\amp, Pwhite(0.25, 0.35),\r\n    \\att, 0.1,\r\n    \\rel, 1,\r\n\t\\pos, 0\r\n);\r\n\r\n~helpersKC = Pbind(\r\n    \\instrument, \"am1\",\r\n    \\midinote, Pseq([\r\n\t\tPn([57], 6),\r\n\t\tPn([64], 6),\r\n\t\tPn([59], 6),\r\n\t\tPn([60], 6),\r\n\t], inf),\r\n\t\\ctranspose, 12 + kc,\r\n    \\dur, Pseq([Pn(0.5, 5), 1.5], inf),\r\n    \\amp, Pwhite(0.25, 0.35),\r\n    \\att, 0.1,\r\n    \\rel, 1,\r\n\t\\pos, 0\r\n);\r\n\r\n~leadIguess = Pbind(\r\n    \\instrument, \"am3\",\r\n    \\midinote, Pseq([\r\n\t\t\\rest, \\rest,\r\n\t\t64, 64, 64, 64,\r\n\t\t\\rest, 64, 63, 62, \\rest,\r\n\t\t60, \\rest, 60, 62, 63,\r\n\r\n\t\t\\rest, \\rest,\r\n\t\t64, 64, 64, 64,\r\n\t\t\\rest, 64, 63, 62, \\rest,\r\n\t\t60, \\rest, 60, 60, 60\r\n\t], inf),\r\n\t\\ctranspose, 12,\r\n    \\dur, 0.5,\r\n\t\\amp, 0.6,\r\n    \\att, 0.1,\r\n    \\rel, 0.2,\r\n\t\\pos, 0\r\n);\r\n\r\n~leadIguessKC = Pbind(\r\n    \\instrument, \"am3\",\r\n    \\midinote, Pseq([\r\n\t\t\\rest, \\rest,\r\n\t\t64, 64, 64, 64,\r\n\t\t\\rest, 64, 63, 62, \\rest,\r\n\t\t60, \\rest, 60, 62, 63,\r\n\r\n\t\t\\rest, \\rest,\r\n\t\t64, 64, 64, 64,\r\n\t\t\\rest, 64, 63, 62, \\rest,\r\n\t\t60, \\rest, 60, 60, 60\r\n\t], inf),\r\n\t\\ctranspose, 12 + kc,\r\n    \\dur, 0.5,\r\n\t\\amp, 0.6,\r\n    \\att, 0.1,\r\n    \\rel, 0.2,\r\n\t\\pos, 0\r\n);\r\n\r\n~leadIguess2 = Pbind(\r\n    \\instrument, \"am3\",\r\n    \\midinote, Pseq([\r\n\t\t\\rest, \\rest,\r\n\t\t64, 64, 64, 64,\r\n\t\t\\rest, 64, 64, 67, \\rest,\r\n\t\t62, \\rest, 60, 62, 63,\r\n\r\n\t\t\\rest, \\rest,\r\n\t\t64, 64, 64, 62,\r\n\t\t\\rest, 64, 63, 62, \\rest,\r\n\t\t60, \\rest, 63, 62, 60,\r\n\r\n\t\t\\rest, \\rest,\r\n\t\t64, 64, 64, 64,\r\n\t\t\\rest, 64, 64, 67, \\rest,\r\n\t\t69, \\rest, 60, 62, 63,\r\n\r\n\t\t\\rest, \\rest,\r\n\t\t64, 64, 64, 62,\r\n\t\t\\rest, 64, 63, 62, \\rest,\r\n\t\t60, \\rest, 63, 62, 60\r\n\t], inf),\r\n\t\\ctranspose, 12,\r\n    \\dur, 0.5,\r\n\t\\amp, 0.6,\r\n    \\att, 0.1,\r\n    \\rel, 0.2,\r\n\t\\pos, 0\r\n);\r\n\r\n~leadIguess2KC = Pbind(\r\n    \\instrument, \"am3\",\r\n    \\midinote, Pseq([\r\n\t\t\\rest, \\rest,\r\n\t\t64, 64, 64, 64,\r\n\t\t\\rest, 64, 64, 67, \\rest,\r\n\t\t62, \\rest, 60, 62, 63,\r\n\r\n\t\t\\rest, \\rest,\r\n\t\t64, 64, 64, 62,\r\n\t\t\\rest, 64, 63, 62, \\rest,\r\n\t\t60, \\rest, 63, 62, 60,\r\n\r\n\t\t\\rest, \\rest,\r\n\t\t64, 64, 64, 64,\r\n\t\t\\rest, 64, 64, 67, \\rest,\r\n\t\t69, \\rest, 60, 62, 63,\r\n\r\n\t\t\\rest, \\rest,\r\n\t\t64, 64, 64, 62,\r\n\t\t\\rest, 64, 63, 62, \\rest,\r\n\t\t60, \\rest, 63, 62, 60\r\n\t], inf),\r\n\t\\ctranspose, 12 + kc,\r\n    \\dur, 0.5,\r\n\t\\amp, 0.6,\r\n    \\att, 0.1,\r\n    \\rel, 0.2,\r\n\t\\pos, 0\r\n);\r\n\r\n~arpy = Pbind(\r\n\t\\instrument, \"am1\",\r\n\t\\midinote, Pseq([57, 60, 64, 67, 71, 72, 71, 67], inf),\r\n\t\\modfreq, Pseq([1, 2, 3, 4, 5, 6, 7, 8], inf),\r\n\t\\ctranspose, 0,\r\n\t\\amp, 0.4,\r\n\t\\dur, 0.25,\r\n\t\\att, 0.01,\r\n\t\\rel, Pwhite(0.3, 0.5),\r\n\t\\pos, Pwhite(-1, 1.0)\r\n);\r\n\r\n~arpyKC = Pbind(\r\n\t\\instrument, \"am1\",\r\n\t\\midinote, Pseq([57, 60, 64, 67, 71, 72, 71, 67], inf),\r\n\t\\modfreq, Pseq([1, 2, 3, 4, 5, 6, 7, 8], inf),\r\n\t\\ctranspose, kc,\r\n\t\\amp, 0.4,\r\n\t\\dur, 0.25,\r\n\t\\att, 0.01,\r\n\t\\rel, Pwhite(0.3, 0.5),\r\n\t\\pos, Pwhite(-1, 1.0)\r\n);\r\n\r\n~morning = Pbind(\r\n    \\instrument, \"fm2\",\r\n\t\\dur, Pseq([\r\n\t\t2\r\n\t], inf) * 2,\r\n\t\\midinote, Pseq([\r\n\t\t[57, 60, 64, 67, 57],\r\n\t\t[64, 67, 71],\r\n\t\t[67, 71, 76],\r\n\t\t[55, 60, 64]\r\n\t], inf),\r\n\t\\ctranspose, 0,\r\n\t\\modindex, Pseq([1, 5, 6, 7, 10], inf),\r\n\t\\amp, 0.4,\r\n\t\\att, 0.01,\r\n\t\\rel, Pwhite(1, 2.0),\r\n\t\\pos, 0\r\n);\r\n\r\n~morningKC = Pbind(\r\n    \\instrument, \"fm2\",\r\n\t\\dur, Pseq([\r\n\t\t2\r\n\t], inf) * 2,\r\n\t\\midinote, Pseq([\r\n\t\t[57, 60, 64, 67, 57],\r\n\t\t[64, 67, 71],\r\n\t\t[67, 71, 76],\r\n\t\t[55, 60, 64]\r\n\t], inf),\r\n\t\\ctranspose, kc,\r\n\t\\modindex, Pseq([1, 5, 6, 7, 10], inf),\r\n\t\\amp, 0.4,\r\n\t\\att, 0.01,\r\n\t\\rel, Pwhite(1, 2.0),\r\n\t\\pos, 0\r\n);\r\n\r\n~hiHat = Pbind(\r\n\t\\instrument, \\hihat,\r\n\t\\dur, Pseq([\r\n\t\tPn(0.25, 12),\r\n\t\tPn(0.125, 8),\r\n\t\tPn(0.25, 12),\r\n\t\tPn(0.0833333333333, 12)\r\n\t], inf),\r\n\t\\amp, 0.08,\r\n\t\\ffreq, 8000\r\n);\r\n\r\n~clap = Pbind(\r\n\t\\instrument, \\hihat,\r\n\t\\dur, Pseq([\r\n\t\t1\r\n\t], inf),\r\n\t\\amp, Pseq([\r\n\t\t0,\r\n\t\t0.8\r\n\t], inf),\r\n\t\\ffreq, 1000,\r\n\t\\rel, 1.5\r\n);\r\n\r\n~kick1 = Pbind(\r\n\t\\instrument, \"kick\",\r\n\t\\midinote, Pseq([1], inf),\r\n\t\\amp, Pseq([0.7, 0.7, 0.7, 0.7, 0.7], inf),\r\n\t\\rel, 1,\r\n\t\\dur, Pseq([1.5, 0.25, 0.5, 0.25, 1.5], inf),\r\n\t\\sinfreq, Pseq([45, 45, \\rest, \\rest], inf), //that dope synchopated freq though!!\r\n\t\\glissf, 0.5\r\n);\r\n\r\nt = TempoClock.new(120/60);\r\n{\r\n\t~p1 = ~helpers.play(t);\r\n\t16.wait;\r\n\t~p2 = ~morning.play(t);\r\n\t16.wait;\r\n\t~p3 = ~hiHat.play(t);\r\n\t15.wait;\r\n\t~p1.stop();\r\n\t~p2.stop();\r\n\t~p3.stop();\r\n\t1.wait;\r\n\t~p1.reset.play();\r\n\t~p2.reset.play();\r\n\t~p3.reset.play();\r\n\t~p4 = ~clap.play(t);\r\n\t~p5 = ~kick1.play(t);\r\n\t16.wait;\r\n\t~p6 = ~leadIguess.play(t);\r\n\t32.wait;\r\n\t~p6.stop;\r\n\t~p7 = ~leadIguess2.play(t);\r\n\t32.wait;\r\n\t~p7.stop;\r\n\t~p8 = ~arpy.play(t);\r\n\t15.wait;\r\n\t~p1.stop();\r\n\t~p2.stop();\r\n\t~p3.stop();\r\n\t~p4.stop();\r\n\t~p5.stop();\r\n\t~p6.stop();\r\n\t1.wait;  /////////////////////Sh!t is about to get crazy.\r\n\t~p8.stop();\r\n\t~p1 = ~helpersKC.play(t);\r\n\t~p2 = ~morningKC.play(t);\r\n\t~p3.reset.play();\r\n\t~p4.reset.play();\r\n\t~p5.reset.play();\r\n\t~p6 = ~leadIguessKC.play(t);\r\n\t~p7 = ~arpyKC.play(t);\r\n\r\n}.fork(t);\r\n)",
   "id" : "1-55d",
   "is_private" : null,
   "name" : "Stuff On My Lawn - 115modulations",
   "author" : "melliott",
   "ancestor_list" : [],
   "description" : "Sometimes, there's just too much stuff on your lawn... y'know?\r\n\r\nhttps://soundcloud.com/mileselliott/stuff-on-my-lawn/s-9VFtV\r\n\r\nPublished under the CC Attribution-NonCommercial 4.0 International License. (eg: \"Take it and run boys!\")"
}
