«feedback with limiter» by LFSaw
on 16 Apr'24 18:05 inUsing the AGC2.1 limiter in a feedback context
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
( Ndef(\a).addSpec(\inAmp0, [0, 1]); Ndef(\a).addSpec(\inAmp1, [0, 1]); Ndef(\a).addSpec(\honig, [0.01, 10, \exp]); Ndef(\a).addSpec(\honigDel, [0, 0.1, \lin]); Ndef(\a).addSpec(\ampHonig, [0.01, 10, \exp]); Ndef(\a).addSpec(\dyndB, [-5, 0, \lin]); Ndef(\a, { var modScale = 1; // dyn var limit = \limit.kr(1); var snd = SoundIn.ar([0, 1]) * [\inAmp0.kr(1),\inAmp1.kr(1)]; var inAmp = Amplitude.ar(snd); ////////////////// // AGC2.1 ( a limiter) var rms500 = RMS.ar(snd, 500); var rms1 = RMS.ar(snd, 10) * 2; var analytics = max(rms500 - rms1, 0) + rms1; // limiting snd = ( DelayL.ar(snd, 0.02, 0.5 * 0.02) / max(analytics / limit, 0.125) ).clip2(1); snd = snd * LFDNoise3.kr(\ampHonig.kr(0.1)).range(\dyndB.kr(-3), 0).dbamp; snd = FreqShift.ar(snd, inAmp * 5); snd = SelectX.ar((inAmp * 2).tanh, [ snd, LFTri.ar(inAmp * 20) * snd ]).sum!2; ///// AdC // DelayL.ar(snd, 0.1, snd.collect{ // LFDNoise3.kr(\honig.kr(0.1)).range(0, \honigDel.kr(0.02)) // }).tanh }) )
reception
which extension defines addSpec for Ndef ?
addSpec is defined for Object in JITLibExtensions