Skip to content

butterbp

A band-pass Butterworth filter.

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

Syntax

ares butterbp 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 butterbp opcode. It uses the file butterbp.csd.

Example of the butterbp 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 butterbp.wav -W ;;; for file output any platform
</CsOptions>
<CsInstruments>

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

instr 1 ; White noise signal

asig rand 0.6
     outs asig, asig

endin

instr 2 ;filtered noise

asig rand 1
abp  butterbp asig, 2000, 100   ;passing only 1950 to 2050 Hz
     outs abp, abp

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.