Skip to content

butterbr

A band-reject Butterworth filter.

Implementation of a second-order band-reject Butterworth filter. This opcode can also be written as butbr.

Syntax

ares butterbr asig, xfreq, xband [, iskip]

Initialization

iskip (optional, default=0) -- Skip initialization if present and non-zero.

Performance

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.

xfreq -- Cutoff or center frequency for each of the filters.

xband -- Bandwidth of the bandpass and bandreject filters.

Examples

Here is an example of the butterbr opcode. It uses the file butterbr.csd.

Example of the butterbr opcode.
<CsoundSynthesizer>
<CsOptions>
; Select audio/midi flags here according to platform
-odac     ;;;RT audio out
;-iadc    ;;;uncomment -iadc if RT audio input is needed too
; For Non-realtime ouput leave only the line below:
; -o butterbr.wav -W ;;; for file output any platform
</CsOptions>
<CsInstruments>

sr = 44100
ksmps = 32
nchnls = 2
0dbfs = 1

instr 1 ; White noise

asig rand 0.5
     outs asig, asig

endin

instr 2 ; filtered noise

asig rand 0.7
abr  butterbr asig, 3000, 2000  ;center frequency = 3000, bandwidth =  +/- (2000)/2, so 2000-4000 
     outs abr, abr

endin

</CsInstruments>
<CsScore>

i 1 0 2
i 2 2.5 2

e
</CsScore>
</CsoundSynthesizer>

See also

Standard filters: Butterworth filters

Credits

Author: Paris Smaragdis
MIT, Cambridge
1995

Existed in 3.30

Audio rate parameters introduced in version 6.02

October 2013.