The Alternative Csound Reference Manual
Previous |  | Next

# butterbp

butterbp -- A band-pass Butterworth filter.

## Description

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

## Syntax

ar butterbp asig, kfreq, kband [, 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.

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

kband -- Bandwidth of the bandpass and bandreject filters.

## Examples

Here is an example of the butterbp opcode. It uses the files butterbp.orc and butterbp.sco.

Example 1. Example of the butterbp opcode.

    /* butterbp.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, passing only 1950 to 2050 Hz.
      abp butterbp asig, 2000, 100

      out abp
    endin
    /* butterbp.orc */

    /* butterbp.sco */
    ; Play Instrument #1 for two seconds.
    i 1 0 2
    ; Play Instrument #2 for two seconds.
    i 2 2 2
    e
    /* butterbp.sco */

## See Also

butterbr, butterhp, butterlp

## Credits

Author: Paris Smaragdis
MIT, Cambridge
1995

Previous | Home | Next
butlp | Up | butterbr