Figure 5 lists a small FAUST program specifying the constant-peak-gain resonator discussed in [10].
process = firpart : + ~ feedback with { bw = 100; fr = 1000; g = 1; // parameters - see caption SR = fconstant(int fSamplingFreq, <math.h>); pi = 4*atan(1.0); // circumference over diameter R = exp(-pi*bw/SR); // pole radius A = 2*pi*fr/SR; // pole angle (radians) RR = R*R; firpart(x) = (x - x'') * g * (1-RR)/2; // time-domain coefficients ASSUMING ONE-SAMPLE FEEDBACK DELAY: feedback(x) = 0 + 2*R*cos(A)*x - RR*x'; }; |
We will now study this example in a variety of ways. First we will illustrate the typical development cycle (look at the block diagram, etc.) Second, we will add a GUI and look at some of the various types of applications and plugins that can be generated from it.