Implementation of a second-order low-pass Butterworth filter. This opcode can also be written as butlp.
These filters are Butterworth second-order IIR filters. They are slightly slower than the original filters in Csound, but they offer an almost flat passband and very good precision and stopband attenuation.
asig -- Input signal to be filtered.
kfreq -- Cutoff or center frequency for each of the filters.
Here is an example of the butterlp opcode. It uses the files butterlp.orc and butterlp.sco.
Example 54. Example of the butterlp opcode.
/* butterlp.orc */ ; Initialize the global variables. sr = 22050 kr = 2205 ksmps = 10 nchnls = 1 ; Instrument #1 - an unfiltered noise waveform. instr 1 ; White noise signal asig rand 22050 out asig endin ; Instrument #2 - a filtered noise waveform. instr 2 ; White noise signal asig rand 22050 ; Filter it, cutting frequencies above 1 KHz. alp butterlp asig, 1000 out alp endin /* butterlp.orc */
/* butterlp.sco */ ; Play Instrument #1 for two seconds. i 1 0 2 ; Play Instrument #2 for two seconds. i 2 2 2 e /* butterlp.sco */