Implementation of a second-order band-reject Butterworth filter. This opcode can also be written as butbr.
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.
kband -- Bandwidth of the bandpass and bandreject filters.
Here is an example of the butterbr opcode. It uses the files butterbr.orc and butterbr.sco.
Example 52. Example of the butterbr opcode.
/* butterbr.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 2000 to 6000 Hz. abr butterbr asig, 4000, 2000 out abr endin /* butterbr.orc */
/* butterbr.sco */ ; Play Instrument #1 for two seconds. i 1 0 2 ; Play Instrument #2 for two seconds. i 2 2 2 e /* butterbr.sco */