The Alternative Csound Reference Manual
Previous |  | Next

# butterlp

butterlp -- A low-pass Butterworth filter.

## Description

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

## Syntax

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

## Examples

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

Example 1. Example of the butterlp opcode.

    /* butterlp.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 frequencies above 1 KHz.
      alp butterlp asig, 1000

      out alp
    endin
    /* butterlp.orc */

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

## See Also

butterbp, butterbr, butterhp

## Credits

Author: Paris Smaragdis
MIT, Cambridge
1995

Previous | Home | Next
butterhp | Up | button