1// generated automatically
2// DO NOT MODIFY!
3declare id "buzz";
4declare name "Buzz Box";
5declare category "Fuzz";
6declare shortname "Buzz Box";
7declare description "Buzz Box";
8declare insert_p "tranyclipper";
9
10import("stdfaust.lib");
11import("trany.lib");
12
13process = pre : _<:*(dry),(*(wet) : fi.iir((b0/a0,b1/a0,b2/a0,b3/a0),(a1/a0,a2/a0,a3/a0)) ):>_ with {
14    LogPot(a, x) = ba.if(a, (exp(a * x) - 1) / (exp(a) - 1), x);
15    Inverted(b, x) = ba.if(b, 1 - x, x);
16    s = 0.993;
17    fs = float(ma.SR);
18    pre = _;
19    wet = vslider("wet_dry[name:Wet/Dry][tooltip:percentage of processed signal in output signal]",  100, 0, 100, 1) : /(100);
20    dry = 1 - wet;
21    clip = tranystageb(TB_7199P_68k,86.0,2700.0,5.571981) : tranystageb(TB_7199P_68k,86.0,2700.0,5.571981) ;
22
23
24        Level = vslider("Level[name:Level]", 0.5, 0, 1, 0.01) : Inverted(0) : si.smooth(s);
25
26    b0 = 3.81347663375185e-13*Level*pow(fs,3);
27
28    b1 = -1.14404299012556e-12*Level*pow(fs,3);
29
30    b2 = 1.14404299012556e-12*Level*pow(fs,3);
31
32    b3 = -3.81347663375185e-13*Level*pow(fs,3);
33
34    a0 = fs*(fs*(9.04201686922855e-15*fs + 1.0967885210812e-14) + 8.14058347559848e-15) + 2.46256378077601e-15;
35
36    a1 = fs*(fs*(-2.71260506076857e-14*fs - 1.0967885210812e-14) + 8.14058347559848e-15) + 7.38769134232804e-15;
37
38    a2 = fs*(fs*(2.71260506076857e-14*fs - 1.0967885210812e-14) - 8.14058347559848e-15) + 7.38769134232804e-15;
39
40    a3 = fs*(fs*(-9.04201686922855e-15*fs + 1.0967885210812e-14) - 8.14058347559848e-15) + 2.46256378077601e-15;
41};
42