{
   "is_private" : null,
   "id" : "1-5hX",
   "code" : "(\r\nNdef(\\a).addSpec(\\inAmp0, [0, 1]);\r\nNdef(\\a).addSpec(\\inAmp1, [0, 1]);\r\nNdef(\\a).addSpec(\\honig, [0.01, 10, \\exp]);\r\nNdef(\\a).addSpec(\\honigDel, [0, 0.1, \\lin]);\r\nNdef(\\a).addSpec(\\ampHonig, [0.01, 10, \\exp]);\r\nNdef(\\a).addSpec(\\dyndB, [-5, 0, \\lin]);\r\n\r\nNdef(\\a, {\r\n\tvar modScale = 1; // dyn\r\n\tvar limit = \\limit.kr(1);\r\n\r\n\tvar snd = SoundIn.ar([0, 1]) * [\\inAmp0.kr(1),\\inAmp1.kr(1)];\r\n\tvar inAmp = Amplitude.ar(snd);\r\n\r\n\t//////////////////\r\n\t// AGC2.1 ( a limiter)\r\n\tvar rms500 = RMS.ar(snd, 500);\r\n\tvar rms1   = RMS.ar(snd, 10) * 2;\r\n\tvar analytics = max(rms500 - rms1, 0) + rms1;\r\n\r\n\r\n\t// limiting\r\n\tsnd = (\r\n\t\tDelayL.ar(snd, 0.02, 0.5 * 0.02) / max(analytics / limit, 0.125)\r\n\t).clip2(1);\r\n\r\n\tsnd = snd * LFDNoise3.kr(\\ampHonig.kr(0.1)).range(\\dyndB.kr(-3), 0).dbamp;\r\n\tsnd = FreqShift.ar(snd, inAmp * 5);\r\n\tsnd = SelectX.ar((inAmp * 2).tanh, [\r\n\t\tsnd,\r\n\t\tLFTri.ar(inAmp * 20) * snd\r\n\t]).sum!2;\r\n\r\n\t///// AdC\r\n\t// DelayL.ar(snd, 0.1, snd.collect{\r\n\t// \tLFDNoise3.kr(\\honig.kr(0.1)).range(0, \\honigDel.kr(0.02))\r\n\t// }).tanh\r\n\r\n})\r\n)",
   "labels" : [
      "feedback"
   ],
   "ancestor_list" : [],
   "description" : "Using the AGC2.1 limiter in a feedback context",
   "author" : "LFSaw",
   "name" : "feedback with limiter"
}
