{
   "labels" : [
      "115 modulations"
   ],
   "is_private" : null,
   "id" : "1-55h",
   "code" : "(\r\nSynthDef(\"am1\", {arg freq = 10, 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(\"am2\", {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    carrier = SinOsc.ar(freq: freq, mul: env * modulator);\r\n\tOut.ar(0, Pan2.ar(carrier, pos));\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\nSynthDef(\"fm1\", {arg freq = 440, modfreq = 5, modindex = 10, amp = 0.1, pos = 0, gate = 1, att = 0.01, rel = 0.3;\r\n\tvar carrier, modulator, freqdev, env;\r\n\tfreqdev = modfreq * modindex;\r\n\tmodulator = SinOsc.ar(freq: modfreq, mul: freqdev);\r\n\tcarrier = SinOsc.ar(freq: freq + 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 = Pan2.ar(in: carrier, pos: pos, level: env);\r\n\tOut.ar(0, carrier * 0.5);\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);\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 = Pan2.ar(in: carrier, pos: pos, level: env);\r\n\tOut.ar(0, carrier * 0.5);\r\n}).add;\r\n)\r\n(\r\n~snd1 = Pbind(\r\n    \\instrument, \"am1\",\r\n    \\midinote, Prand([\r\n\t\t[72, 77, 79],\r\n\t\t[79, 82, 86],\r\n\t\t[87, 86, 84],\r\n\t\t[82, 84, 79],\r\n\t\t],\r\n\t\t8),\r\n\t\\ctranspose, Prand([-12, 0], inf),\r\n    \\dur, Prand([0.5, 1.5], inf),\r\n    \\amp, Pwhite(0.1, 0.2),\r\n\t\\att, Pwhite(0.1, 0.2),\r\n\t\\rel, Pwhite(1, 3.0),\r\n\t\\modfreq, Prand([2.5, 5, 7.5, 10, 15], inf),\r\n\t\\pos, Prand([-0.5, 0, 0.5], inf)\r\n);\r\n\r\n~snd2 = Pbind(\r\n    \\instrument, \"am2\",\r\n    \\midinote, Prand([72, 79, 77, 79, 82, 79, 87, 86, 84, 82, 84, 79], 12),\r\n\t\\ctranspose, [-24, -19],\r\n    \\dur, Pseq([Pn(0.1, 5), 0.2], inf),\r\n    \\amp, Pwhite(0.15, 0.2),\r\n    \\att, 0.01,\r\n    \\rel, 0.1,\r\n\t\\modfreq, Pwhite(10, 30),\r\n\t\\pos, 0\r\n);\r\n\r\n~snd3 = Pbind(\r\n\t\\instrument, \"am1\",\r\n\t\\degree, Pseq([0, 2], inf),\r\n\t\\modfreq, Pseq([1, 5, 10, 50, 100], inf),\r\n\t\\amp, 0.4,\r\n\t\\dur, 0.2,\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~snd4 = Pbind(\r\n    \\instrument, \"fm1\",\r\n    \\midinote, Prand([72, 79, 77, 79, 82, 79, 87, 86, 84, 82, 84, 79], 20),\r\n    \\ctranspose, [-12, 0, 4],\r\n    \\dur, Pseq([Pn(0.2, 5), 0.3], inf),\r\n    \\amp, Pwhite(0.05, 0.1),\r\n\t\\att, Pwhite(0.5, 1.8),\r\n    \\rel, Pwhite(0.3, 3),\r\n\t\\modfreq, Pwhite(20, 100),\r\n\t\\pos, Pwhite(-0.5, 0.5)\r\n);\r\n\r\n~snd5 = Pbind(\r\n\t\\instrument, \"fm2\",\r\n\t\\freq, Pseries(100, 50, 20),\r\n\t\\modfreq, Pseq([1, 500, 10, 50, 100], inf),\r\n\t\\amp, 0.2,\r\n\t\\att, 0.02,\r\n\t\\rel, 4,\r\n\t\\pos, Pwhite(-1, 1),\r\n\t\\dur, 0.1\r\n\r\n);\r\n)\r\n// testing \r\n~snd1.play;\r\n~snd2.play;\r\n~snd3.play;\r\n~snd4.play;\r\n~snd5.play;\r\n\r\n(\r\n{\r\n~player1=~snd1.play;\r\n4.wait;\r\n~player2=~snd2.play;\r\n3.wait;\r\n~player1.stop;\r\n2.wait;\r\n~player5=~snd3.play;\r\n1.wait;\r\n~player1.play;\r\n1.wait;\r\n~player3=~snd4.play;\r\n1.wait;\r\n~player4=~snd5.play;\r\n2.wait;\r\n\t~player5.stop;\r\n3.wait;\r\n~player1=~snd1.play;\r\n~player2.stop;\r\n~player3.stop;\r\n2.wait;\r\n~player3=~snd4.play;\r\n1.wait;\r\n~player3.stop;\r\n~player1.stop;\r\n~player2=~snd2.play;\r\n1.wait;\r\n~player2.stop;\r\n~player5=~snd3.play;\r\n1.wait;\r\n~player1=~snd1.play;\r\n~player2=~snd2.play;\r\n~player4=~snd5.play;\t\r\n7.wait;\t\r\n~player3=~snd4.play;\r\n~player1.stop;\r\n~player2.stop;\r\n1.wait;\r\n~player2=~snd2.play;\r\n3.wait;\r\n~player2.stop;\r\n7.wait;\r\n~player3=~snd4.play;\r\n2.wait;\r\n~player5.stop;\r\n~player1=~snd1.play;\r\n2.wait;\r\n~player2=~snd2.play;\r\n1.wait;\r\n~player5=~snd3.play;\r\n6.wait;\r\n~player5.stop;\t\r\n~player4=~snd5.play;\r\n2.wait;\r\n~player4.stop;\t\r\n~player3=~snd4.play;\r\n4.wait;\r\n~player3.stop;\t\r\n}.fork;\r\n)",
   "author" : "cmoeller",
   "name" : "Colby's 115 modulations",
   "ancestor_list" : [],
   "description" : "https://soundcloud.com/user-52183734/project-2115modulations"
}
