{
   "labels" : [
      "drone",
      "instrument",
      "reed",
      "harmonica",
      "melodica",
      "accordion"
   ],
   "id" : "1-51m",
   "is_private" : null,
   "code" : "(\r\nSynthDef(\\reed, {\r\n    |out = 0, freq = 440, amp = 0.1, gate = 1, attack = 0.3, release = 0.3|\r\n    var snd, blow;\r\n    // pulse with modulating width\r\n    snd = Pulse.ar((Rand(-0.03, 0.05) + freq.cpsmidi).midicps, 0.48 + LFNoise1.kr(0.06, 0.1), 0.2);\r\n    // add a little \"grit\" to the reed\r\n    snd = Disintegrator.ar(snd, 0.5, 0.7);\r\n    // a little ebb and flow in volume\r\n    snd = snd * LFNoise2.kr(5, 0.05, 1);\r\n    // use the same signal to control both the resonant freq and the amplitude\r\n    blow = EnvGen.ar(Env.asr(attack, 1.0, release), gate, doneAction: 2);\r\n    snd = snd + BPF.ar(snd, blow.linexp(0, 1, 2000, 2442), 0.3, 3);\r\n    // boost the high end a bit to get a buzzier sound\r\n    snd = BHiShelf.ar(snd, 1200, 1, 3);\r\n    snd = snd * blow;\r\n    Out.ar(out, Pan2.ar(snd, 0, amp));\r\n}).add;\r\n\r\nPbind(\r\n    \\instrument, \\reed,\r\n    \\amp, 0.1*(2**Pgauss(0, 0.1)),\r\n    \\dur, 5.0,\r\n    \\legato, 1,\r\n    \\root, 1,\r\n    \\attack, 0.2,\r\n    \\release, 0.2,\r\n    \\degree, Pseq([[-7, -3, 0, 2], [-7, -2, 0, 3], [-7, -1, 1, 4]].mirror1, inf)\r\n).play;\r\n)",
   "author" : "snappizz",
   "name" : "Reed synthesis",
   "ancestor_list" : [],
   "description" : "possible basis for harmonica, accordion, etc. adapted from an example from the SelectXFocus help file."
}
