{
   "code" : "(\r\nSynthDef(\"plucking\", {arg amp = 0.1, freq = 440, decay = 5, dampen = 0.1;\r\n\r\nvar env, snd;\r\nenv = Env.linen(0, decay, 0).kr(doneAction: 2);\r\nsnd = Pluck.ar(\r\n        in: WhiteNoise.ar(amp),\r\n        trig: Impulse.kr(0),\r\n        maxdelaytime: 0.1,\r\n        delaytime: freq.reciprocal,\r\n        decaytime: decay,\r\n        coef: dampen);\r\n    Out.ar(0, [snd, snd]);\r\n}).add;\r\n)\r\n\r\n// Example 1\r\n(\r\nPbind(\r\n    \\instrument, \"plucking\",\r\n    \\freq, Pwhite(440, 880),\r\n    \\amp, 0.1,\r\n    \\decay, 4,\r\n    \\dampen, 0.1,\r\n    \\dur, Prand([0.51, 0.1, 0.1], inf)\r\n).play;\r\n)\r\n\r\n// Example 2\r\n(\r\nPbind(\r\n    \\instrument, \"plucking\",\r\n    \\scale, Scale.locrian,\r\n    \\degree, Pwhite(7, 15),\r\n    \\amp, Pwhite(0.1, 0.5),\r\n    \\decay, Pwhite(7, 12),\r\n    \\dampen, Pwhite(0.01, 0.1),\r\n    \\dur, Prand([0.1, 0.2, 0.4, 0.27, 0.13, 0.38], inf)\r\n).play;\r\n)\r\n\r\n// Example 3\r\n(\r\nPbind(\r\n    \\instrument, \"plucking\",\r\n    \\scale, Scale.lydian,\r\n    \\degree, Pseq([8, 17, 8, 9, 8, 17, 7], inf),\r\n    \\amp, Pwhite(0.1, 0.5),\r\n    \\decay, Pwhite(1, 2),\r\n    \\dampen, Pseq([0.7, 0.8, 0.4], inf),\r\n    \\dur, Prand([0.1, 0.2, 0.4], inf)\r\n).play;\r\n)\r\n\r\n// Example 4\r\n(\r\nPbind(\r\n    \\instrument, \"plucking\",\r\n    \\degree, Pseq([-5, -2, 1, 4, 6, 9], inf),\r\n    \\mtranspose, -7,\r\n    \\amp, Pwhite(0.2, 0.3),\r\n    \\decay, Pseq([7, 6, 6, 5, 4, 3], inf),\r\n    \\dampen, Pseq([0.45, 0.3, 0.3, 0.2, 0.2, 0.1], inf),\r\n    \\dur, Prand([0.9, 0.8, 0.7], inf)\r\n).play;\r\n\r\nPbind(\r\n    \\instrument, \"plucking\",\r\n    \\degree, Prand([0, 1, 3, 4, 6, Pseq([7, 8, 9], 1), 9], inf),\r\n\t\\mtranspose, 7,\r\n    \\amp, Pwhite(0.4, 0.5),\r\n    \\decay, Pwhite(6, 10),\r\n    \\dampen, Pseq([0.05, 0.1, 0.15], inf),\r\n    \\dur, Prand([0.1, 0.2, 0.4, Rest(0.3)], inf)\r\n).play;\r\n\r\n)\r\n\r\n// Example 5\r\n\r\n\r\n(\r\na = Pbind(\r\n    \\instrument, \"plucking\",\r\n\t\\degree, Pseq([7, 8, 9, 10, 11, 12, 13], inf),\r\n    \\amp, 0.2,\r\n    \\decay, 4,\r\n    \\dampen, 0.05,\r\n    \\dur, Prand([0.51, 0.1, 0.1], inf)\r\n);\r\n\r\nb = Pbind(\r\n    \\instrument, \"plucking\",\r\n\t\\degree, Pseq([\r\n\t\t[-7, 2, 4], // chord 1\r\n\t\t[0, 3, 5] // chord 2\r\n\t], inf),\r\n    \\amp, 0.1,\r\n    \\decay, 7,\r\n    \\dampen, 0.1,\r\n    \\dur, Prand([2, 4], inf)\r\n);\r\n)\r\n\r\n// sequence in time\r\n(\r\n{\r\n\t~player1 = a.play;\r\n\t4.wait;\r\n\t~player2 = b.play;\r\n\t10.wait;\r\n\t~player1.stop;\r\n\t4.wait;\r\n\t~player2.stop;\r\n}.fork\r\n)",
   "id" : "1-4Vn",
   "is_private" : null,
   "labels" : [
      "karplusstrong synthesis"
   ],
   "ancestor_list" : [],
   "description" : "",
   "author" : "Bruno Ruviaro",
   "name" : "Pluck (Karplus-Strong) example"
}
