butterbp — A band-pass Butterworth filter.


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


ares butterbp asig, kfreq, kband [, iskip]


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


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

Example 57. Example of the butterbp opcode.

See the sections Real-time Audio and Command Line Flags for more information on using command line flags.

; Select audio/midi flags here according to platform
; Audio out   Audio in    No messages
-odac           -iadc     -d     ;;;RT audio I/O
; For Non-realtime ouput leave only the line below:
; -o butterbp.wav -W ;;; for file output any platform

; 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

; Instrument #2 - a filtered noise waveform.
instr 2
  ; White noise signal
  asig rand 22050

  ; Filter it, passing only 1950 to 2050 Hz.
  abp butterbp asig, 2000, 100

  out abp


; Play Instrument #1 for two seconds.
i 1 0 2
; Play Instrument #2 for two seconds.
i 2 2 2


See Also

butterbr, butterhp, butterlp


Author: Paris Smaragdis
MIT, Cambridge

Existed in 3.30