{
   "description" : "This code is an attempt to recreate a sound inspired from some technological/science fictional UI interface.\r\n\r\nSounds are created using FM technique.\r\nPlay around FC, FM, ATK and RLS to obtain different sound characters.",
   "ancestor_list" : [],
   "author" : "nicolaariutti",
   "name" : "UI sounds (pt1)",
   "id" : "1-5bj",
   "is_private" : null,
   "code" : "// UI sounds\r\n// this code is an attempt to recreate a sound\r\n// inspired from some technological/electrical UI interface\r\n\r\n// 1. first define the synth\r\n// Here we are using the FM technique\r\n(\r\nSynthDef(\\fmmod, {\r\n\t|\r\n\tamp=0.2,\r\n\tfc=1000,\r\n\tfm = 100,\r\n\tidx = 100,\r\n\tatk=0.01,\r\n\trls=0.1\r\n\t|\r\n\tvar env = EnvGen.ar(Env.perc(atk, rls), doneAction:2);\r\n\tvar modulator = SinOsc.ar(fm);\r\n\tvar carrier = SinOsc.ar(fc + (idx*modulator) );\r\n\tvar sig = carrier *  env * amp;\r\n\tsig = HPF.ar(sig, 1000);\r\n\tOut.ar(0, sig!2);\r\n}).add;\r\n)\r\n\r\n// 2. then define the Pbind which will play the sequence\r\n// of UI sounds simulating variuos characters showing up on an\r\n// imaginary display.\r\n// Play around FC, FM, ATK and RLS to obtain different sound characters.\r\n(\r\np = Pbind(\r\n\t\\instrument, \\fmmod,\r\n\t\\fc, 10000,\r\n\t\\fm, 100,\r\n\t\\idx, 100,\r\n\t\\amp, 0.6,\r\n\t\\atk, 0.01,\r\n\t\\rls, 0.001,\r\n\t\\dur, Pwhite(0.1, 0.05, 10)\r\n).asEventStreamPlayer;\r\n)\r\n\r\n// 3. play it\r\np.play;\r\n\r\n// 4. Here are some presets\r\n\r\n// \"cricket\" preset\r\n(\r\nPbind(\r\n\t\\instrument, \\fmmod,\r\n\t\\fc, 10000,\r\n\t\\fm, 100,\r\n\t\\idx, 100,\r\n\t\\amp, 0.6,\r\n\t\\atk, 0.01,\r\n\t\\rls, 0.001,\r\n\t\\dur, Pwhite(0.1, 0.05, 10)\r\n).play;\r\n)\r\n\r\n// preset 2\r\n(\r\nPbind(\r\n\t\\instrument, \\fmmod,\r\n\t\\fc, 10000,\r\n\t\\fm, 1000,\r\n\t\\idx, 100,\r\n\t\\amp, 0.6,\r\n\t\\atk, 0.001,\r\n\t\\rls, 0.01,\r\n\t\\dur, Pwhite(0.1, 0.05, 10)\r\n).play;\r\n)\r\n\r\n// preset 3\r\n(\r\nPbind(\r\n\t\\instrument, \\fmmod,\r\n\t\\fc, 10000,\r\n\t\\fm, 100,\r\n\t\\idx, 10,\r\n\t\\amp, 0.4,\r\n\t\\atk, 0.01,\r\n\t\\rls, 0.01,\r\n\t\\dur, Pwhite(0.1, 0.05, 10)\r\n).play;\r\n)\r\n\r\n// preset 4\r\n(\r\nPbind(\r\n\t\\instrument, \\fmmod,\r\n\t\\fc, 1000,\r\n\t\\fm, 100,\r\n\t\\idx, 1000,\r\n\t\\amp, 0.2,\r\n\t\\atk, 0.01,\r\n\t\\rls, 0.001,\r\n\t\\dur, Pwhite(0.1, 0.05, 10)\r\n).play;\r\n)\r\n\r\n\r\n// preset 5\r\n(\r\nPbind(\r\n\t\\instrument, \\fmmod,\r\n\t\\fc, 5000,\r\n\t\\fm, 1000,\r\n\t\\idx, 1000,\r\n\t\\amp, 0.4,\r\n\t\\atk, 0.01,\r\n\t\\rls, 0.001,\r\n\t\\dur, Pwhite(0.1, 0.05, 10)\r\n).play;\r\n)\r\n\r\n// preset 5\r\n(\r\nPbind(\r\n\t\\instrument, \\fmmod,\r\n\t\\fc, 8000,\r\n\t\\fm, 1000,\r\n\t\\idx, 1000,\r\n\t\\amp, 0.7,\r\n\t\\atk, 0.01,\r\n\t\\rls, 0.001,\r\n\t\\dur, Pwhite(0.1, 0.05, 10)\r\n).play;\r\n)",
   "labels" : [
      "sound",
      "fm",
      "interface",
      "ui"
   ]
}
