an open-source digital signal processing and sound synthesis language
about · links · contact


simple biquad IIR filter and initialization

[note: This is older code, although it should work fine. There are many more filter programs to be found in the "objlib" (in the insts.jg package) and "stklib" (in the insts.stk package) that implement a much wider range of filter types. Also see the instruments based on these filters, such as BUTTER, MOOGVCF, ELL and MBLOWBOTL. The Oreson, Oonepole and Oequalizer objects may also be useful.]


#include <ugens.h>

float resonz(sample,array)
float sample, *array;

float cf,bw,xinit,*q;


resonz() is a simple biquad IIR filter. It is initialized by a call to rszset() in which the arguments are: cf, the center frequency, in hz; bw, the distance in hz, between the half-power points on the bell-shaped curve; the value xinit which if 0, cases the initial conditions of the filter to be set to 0 (this should be set to 1 when reinitializing the filter in the midst of performance), and q which is a bookkeeping array of 5 locations.

See Also