{
   "ancestor_list" : [],
   "description" : "Impetus provided by this fine thread: http://new-supercollider-mailing-lists-forums-use-these.2681727.n2.nabble.com/Scanned-Synthesis-in-SC-td7585748.html",
   "author" : "phrontist",
   "name" : "Scanned Wave Synthesis",
   "is_private" : null,
   "id" : "1-4Rm",
   "code" : "(\r\nSynthDef(\\scansynth1, { arg out=0, amp=0.1, gate=1, pan=0, freq=200;\r\n    var in, ou;\r\n    var spring = (0.12).dup(40);\r\n    var damp = (0.0564812).dup(40);\r\n    var springs;\r\n    var sel;\r\n    in = LPF.ar(LocalIn.ar(1), XLine.ar(1,10,0.3)) * 0.97 + (LPF.ar(Trig.ar(gate, 0.01),200) * WhiteNoise.ar.range(0.98,1));\r\n    ou = in;\r\n    springs = spring.collect { arg spr, i;\r\n        ou = Spring.ar(ou, spr, damp[i]);\r\n    };\r\n    LocalOut.ar(ou);\r\n    sel = VarSaw.ar(freq * [0.999,1,0.499,2,1.01] * 0.5, width: LFNoise2.ar(1/2).range(0.2,0.5)).range(0, spring.size-1);\r\n    ou = Splay.ar(SelectX.ar(sel, springs), 1);\r\n    ou = ou * EnvGen.ar(\\adsr.kr(Env.adsr(0.3,0.1,0.8,0.1)),gate,doneAction:2);\r\n    ou = Pan2.ar(ou, pan, amp);\r\n    Out.ar(out, ou);\r\n}).add;\r\n)\r\n\r\n(\r\nPdef(\\plop, Pbind(\r\n    \\instrument, \\scansynth1,\r\n    \\scale, Scale.minor,\r\n    \\degree, Pseq([0,2,4],inf) + [0,2,4,-12],\r\n    \\strum, 3/8,\r\n    \\dur, 3,\r\n    \\amp, 2,\r\n    \\legato, 1.4\r\n)).play;\r\n)",
   "labels" : [
      "scannedwave",
      "scanned",
      "wave",
      "synthdef"
   ]
}
