Pan, Lo Pass Pro

Download

     Disclaimer...

27   desc:Pan: Lo Pass Pro, v1.1.0
28  
29   slider1:0<-120,120,0.1>Pan Angle [degrees]
30   slider2:0<0,10,0.1>Max Attenuation [dB]
31  
32   @init
33   x=0;
34   x1=0;
35   x2=0;
36   y=0;
37   y1=0;
38   y2=0;
39   d=1.414;
40   who = 0;
41  
42   m = 1;
43  
44  
45   @slider
46   who = slider1;
47   f = slider1 * 60/120; // 0 < f < 60
48   f > 0 ? f = f * -1; // -60 < f < 0
49   dd = pow(2, f/8.0)*16000; // 16,000 -> 500 Hz
50   w = 2.0 * $pi * dd / srate;
51   mBeta = 0.5 * (( 1.0 - d / 2.0 * sin(w) ) / ( 1.0 + d / 2.0 * sin(w) ));
52   mGamma = ( 0.5 + mBeta ) * cos(w);
53   mAlpha = ( 0.5 + mBeta - mGamma ) / 4.0;
54  
55   b = abs((slider1) / 72);
56   c = -b * slider2; // scale; no att. at 12:00
57   m = pow(10, (c /20));
58  
59  
60   @sample
61   who == 0 ? (
62   spl0=spl0;
63   spl1=spl1;
64   ) : (
65   who < 0 ? (
66   x = spl1;
67   y = 2.0 * ( mAlpha * ( x + 2.0 * x1 + x2 ) + mGamma * y1 - mBeta * y2 );
68   x2 = x1;
69   x1 = x;
70   y2 = y1;
71   y1 = y;
72   spl1 = y *= m;
73   spl0 = spl0;
74  
75   ) : (
76   x = spl0;
77   y = 2.0 * ( mAlpha * ( x + 2.0 * x1 + x2 ) + mGamma * y1 - mBeta * y2 );
78   x2 = x1;
79   x1 = x;
80   y2 = y1;
81   y1 = y;
82   spl0 = y *= m;
83   spl1 = spl1;
84   );
85   );
86  

Download