{
   "code" : "s.options.memSize = 8192 * 8;\r\n\r\n\r\n(\r\nSynthDef(\\grain, {|out = 0, freq = 100, attack = 0, decay = 1, sustain = 0.1, distort = 0, fTime = 0.1, fFac = 1.2, amp = 1, delay = 0|\r\n    var startFreq, endFreq, src, aEnv, fEnv;\r\n    \r\n    startFreq = fFac * freq;\r\n    endFreq = freq;\r\n    \r\n    aEnv = EnvGen.ar(Env.perc(attack, decay), timeScale: sustain, doneAction: 2, levelScale: amp);\r\n    fEnv = EnvGen.ar(Env([startFreq, endFreq], [fTime]));\r\n    src = SinOsc.ar(fEnv, 1, mul: 1 + distort).wrap2(1);\r\n    \r\n    Out.ar(out, DelayN.ar(src * aEnv!2, 0.1, delay))\r\n}).add\r\n)\r\n\r\n(\r\nPdef(\\grainer, Pbind(\r\n    \\radiation, Pseq([\r\n        Pseq([10] ++ (0.1 ) ++ [10] ++ (0.1!6), 1),\r\n        Pseq([ 1] ++ (0.1!6) ++ [ 1], inf)\r\n    ]),\r\n    \\instrument, \\grain,\r\n    \\freq, ([1200, 800, 600, 200]!12).flat.collect{|v| v * rrand(0.99, 1)} * Prand([4, 1, 2, 3, 4, 8], inf),\r\n    \\fTime, 0.0125,\r\n    \\fFac, 5,\r\n    \\sustain, 0.1,\r\n    \\attack, 0.0005,\r\n    \\decay, 2,\r\n    //\\distort, {Pwhite(0.1, 5.0)}!(12 * 4),\r\n    \\amp, 0.1,\r\n    \\delay, {Pwhite(0.01, 0.1)}!(12 * 4),\r\n    \\dur, Pkey(\\radiation)\r\n)).play\r\n)\r\n\r\n\r\nPdef(\\grainer).stop",
   "id" : "1-5hF",
   "is_private" : null,
   "labels" : [
      "alarm",
      "ringtone"
   ],
   "ancestor_list" : [],
   "description" : "Good Morning!\r\n\r\nInspired by a Nokia alarm clock sound from one of their non-smartphone mobiles, I designed an alarm clock sound for your mobile. The basic idea is to start with a very simple and short grain, giving you a chance to reach for the phone and turn it off before it starts to get annoying.",
   "name" : "alarm!",
   "author" : "LFSaw"
}
