{
   "description" : "Grainsynth Sampler based on Example in the Documentation. Similar to cookiemonster v.1.1, with GaussTrig instead of randomized Impulse",
   "ancestor_list" : [],
   "name" : "Gaussian Cookiemonster",
   "author" : "bernhard",
   "is_private" : null,
   "id" : "1-5d5",
   "code" : "/// Grainsynth Sampler based on example in the IDE-documentation. Similar to cookiemonster v.1.1, with GaussTrig instead of randomized Impulse.\r\n\r\n/// DURATION is randomized via LFNoise1, borders are set with muldur, adddur. LFNoise1 folds to positiv with .abs, offset is added after, lfo is speed of LFNoise1.\r\n\r\n/// Env is randomized with PinkNoise\r\n\r\n/// MouseX is playbackrate, MouseY is position in buffer. Blurred with PinkNoise, intensity via vrate and vpos\r\n\r\n/// Buffers can be switched on the fly with x.set(\\buf...\r\n\r\n/// For Multichannel expansion get rid of Splay.ar and adapt !8\r\n\r\n/// use mono cookies, \"ME EAT COOKIE!!!\"\r\n\r\n\r\n(\r\nSynthDef(\\cookiemonster_gauss, {\r\n\targ gate = 1, lfo = 1.3, vrate = 0.01, vpos = 0.003,\r\n\ttrigrate = 34, trigdev = 0.3, muldur = 1, adddur = 0.1, buf=0, amp = 0.1, out=0;\r\n\r\n\tvar rate, pos, sig, env, atk, rel, dur;\r\n\r\n\tsig={BufGrain.ar(GaussTrig.kr(trigrate,trigdev),dur=LFNoise1.ar(lfo,muldur).abs+adddur,buf,MouseX.kr(0,5)*PinkNoise.kr(vrate,1),MouseY.kr(0,1)*PinkNoise.kr(vpos,1),4,EnvGen.ar(Env([0, 1, 0], [atk=dur*PinkNoise.ar(0.9,0.5), rel=dur-atk], \\sin, 1), gate,1,doneAction: 2))}!8;\r\n\r\n\tsig=Splay.ar(sig);\r\n\tsig=LeakDC.ar(sig*amp);\r\n\tOut.ar(out,sig.tanh);\r\n}).add;\r\n)\r\n\r\n(\r\nx=Synth(\r\n\t\\cookiemonster_gauss,\r\n\t[\\buf, Buffer.read(s,\"/Path/to/my/cookiebox/cookie1.wav\"),\r\n]);)\r\n\r\n\r\nx.set(\\out,0)\r\nx.set(\\amp,0.2)\r\nx.set(\\trigrate,11)\r\nx.set(\\trigdev,0.3)\r\n\r\nx.set(\\vrate,0.1)\r\n\r\nx.set(\\lfo,0.2)\r\n\r\nx.set(\\muldur,0.1)\r\nx.set(\\adddur,0.02)\r\n\r\n\r\nx.set(\\vpos,0.04)\r\n\r\nx.set(\\buf, Buffer.read(s,\"/Path/to/my/cookiebox/cookie2.wav\"))\r\nx.set(\\buf, Buffer.read(s,\"/Path/to/my/cookiebox/cookie3.wav\"))\r\nx.set(\\buf, Buffer.read(s,\"/Path/to/my/cookiebox/cookie4.wav\"))\r\nx.set(\\buf, Buffer.read(s,\"/Path/to/my/cookiebox/cookie5.wav\"))\r\n\r\n\r\nx.free",
   "labels" : [
      "random",
      "granular",
      "grain",
      "multichannel",
      "cookie",
      "crumble",
      "gauss",
      "crumblesynthesis"
   ]
}
