{
   "is_private" : null,
   "id" : "1-U",
   "code" : "(\r\nNdef(\\z, {\r\n\r\n\t// get fed back signal and add a little noise to get things going\r\n\tvar sig = Ndef(\\z).ar + WhiteNoise.ar(0.001!2);\r\n\tvar a, k, delfreq, minfreqs, freqs, dry;\r\n\t\t\r\n\t// delay due to distance from amp - I chose 0.05s, or 20Hz\r\n\tdelfreq = 20;\r\n\tsig = DelayN.ar(sig,1/10-ControlDur.ir,1/delfreq-ControlDur.ir);\r\n\r\n\t// guitar string frequencies - for some reason I had to pitch them down\r\n\t// a few octaves to get a good sound.\r\n\t// open strings\r\n\t//// freqs = (64+[0,5,10,15,19,24]).midicps/8;\r\n\t// e minor\r\n\tfreqs = (64+[0,7,12,15,19,24]).midicps/4;\r\n\t\r\n\t// whammy bar modulates freqs:\r\n\tminfreqs = freqs*0.5;\r\n\tfreqs = freqs*MouseButton.kr(1,0.75,4);\r\n\t\r\n\t// 6 comb filters emulate the strings' resonances\r\n\tsig = CombN.ar(sig!6,1/minfreqs,1/freqs,8).mean;\r\n\r\n\t// a little filtering... mouse Y controls amp\r\n\tsig = LPF.ar(sig,8000);\r\n\tsig = HPF.ar(sig*MouseY.kr(0,5),80);\r\n\r\n\t// and some not too harsh distortion - mouse X controls damping\r\n\tsig = RLPFD.ar(sig,MouseX.kr(200,10000,1)*[1,1.1],0.1,0.5);\r\n\tsig = sig + sig.mean;\r\n\r\n\t// and finally a spot of reverb\r\n\tdry = sig;\r\n\t10.do {\r\n\t\td = 0.2.rand;\r\n\t\tsig = AllpassN.ar(sig,d,d,5);\r\n\t};\r\n\t(dry + sig)*0.125;\r\n\r\n}).play;\r\n)",
   "labels" : [
      "feedback",
      "guitar"
   ],
   "ancestor_list" : [],
   "description" : "A simulation of holding an electric guitar up to the amplifier, creating feedback.  Press the mouse button to activate the whammy bar :)",
   "author" : "nathanielvirgo",
   "name" : "Guitar feedback emulation"
}
