{
   "description" : "115modulations",
   "ancestor_list" : [],
   "name" : "Assignment 2",
   "author" : "Margo Gentile",
   "code" : "(\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\t// i = d/m, so d = m*i\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\nSynthDef(\"am1\", {arg freq = 440, modfreq = 2, amp = 0.1, 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(\"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.02);\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\n~fmbass = Pbind(\r\n    \\instrument, \"fm2\",\r\n\t\\dur, Pseq([1, Rest(1), 0.5, 0.5, Rest(1/64), 1/4, Rest(1/64), 1/4, 1/4, 1/4], inf),\r\n\t\\note, Pseq([0, \\rest, 0, -2, \\rest, 2, \\rest, 3, 3, 2], inf),\r\n\t\\ctranspose, -18,\r\n\t\\modindex,  6,      \r\n\t\\amp, Pseq([0.3, 0.35, 0.4, 0.45, 0.5, 0.45, 0.4, 0.3, 0.2], inf),\r\n\t\\att, 0.01,\r\n\t\\rel, 0.2,\r\n\t\\pos, 0\r\n);\r\n\r\n~fmbass2 = Pbind(\r\n    \\instrument, \"am3\",\r\n\t\\dur, Pseq([1, Rest(1), 0.5, 0.5, Rest(1/64), 1/4, Rest(1/64), 1/4, 1/4, 1/4], inf),\r\n\t\\note, Pseq([0, \\rest, 0, -2, \\rest, 2, \\rest, 3, 3, 2], inf),\r\n\t\\ctranspose, -18,\r\n\t\\modindex,  6,     \r\n\t\\amp, Pseq([0.3, 0.35, 0.4, 0.45, 0.5, 0.45, 0.4, 0.3, 0.2], inf),\r\n\t\\att, 0.01,\r\n\t\\rel, 0.2,\r\n\t\\pos, 0\r\n);\r\n\r\n~amz = Pbind(\r\n    \\instrument, \"am1\",\r\n\t\\midinote, Pseq([[91.8,92], [86.8,87], [88.8,89], [91.8,92]], inf),\r\n\t \\ctranspose, -6,\r\n    \\dur, Pseq([Pn(0.5, 5), 0.3], inf),\r\n    \\amp, 0.05,\r\n\t\\att,0.01,\r\n    \\rel, 0.9,\r\n\t\\modfreq, 2,\r\n\t\\pos, Pwhite(-0.5, 0.5)\r\n);\r\n\r\n~amik = Pbind(\r\n    \\instrument, \"am3\",\r\n\t\\midinote, Pseq([67, 69, 70], [51, 53, 55], [47, 48, 49], inf),       \r\n\t\\ctranspose, -12,\r\n\t\\dur, Pseq([1/2, 1/2, Rest(1), 1/2, 1/2, Rest(1), 1/2, Rest(1/2), 1/2, Rest(1/2), Rest(1)], inf) *(1/4),\r\n    \\amp, 0.15,\r\n\t\\att, 0.1,\r\n\t\\rel, 0.5,\r\n\t\\modfreq, 6,\r\n\t\\pos, Prand([-0.5, 0, 0.5], inf),\r\n\r\n);\r\n)\r\n\r\ns.record;\r\n(\r\n{\r\nt=TempoClock(120/60);\r\n\t\r\n~amzPlayer=~amz.play;\r\n7.wait;\r\n~amzPlayer.stop;\r\n~fmbass2PLayer=~fmbass2.play;\r\n10.wait;\r\n\t~fmbassPlayer=~fmbass.play;\r\n6.wait;\r\n~amik.play;\r\n6.wait;\r\n\t~amzPlayer=~amz.play;\r\n2.wait;\r\n~amzPlayer.stop;\r\n~fmbass2PLayer.stop;\r\n~fmbassPlayer.stop;\r\n~fmbass.play(t);\r\n~fmbassPlayer.stop;\r\n\t~fmbass.play;\r\n}.fork;\r\n)",
   "id" : "1-55j",
   "is_private" : null,
   "labels" : []
}
