butterlp

Name

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 15-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