Implementation of second-order high-pass Butterworth filter. This opcode can also be written as buthp.
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.
Here is an example of the butterhp opcode. It uses the files butterhp.orc and butterhp.sco.
Example 15-1. Example of the butterhp opcode.
/* butterhp.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 frequencies above 250 Hz.
ahp butterhp asig, 250
out ahp
endin
/* butterhp.orc */
/* butterhp.sco */
; Play Instrument #1 for two seconds.
i 1 0 2
; Play Instrument #2 for two seconds.
i 2 2 2
e
/* butterhp.sco */