eqfil — Equalizer filter
The opcode eqfil is a 2nd order tunable equalisation filter based on Regalia and Mitra design ("Tunable Digital Frequency Response Equalization Filters", IEEE Trans. on Ac., Sp. and Sig Proc., 35 (1), 1987). It provides a peak/notch filter for building parametric/graphic equalisers.
The amplitude response for this filter will be flat (=1) for kgain=1. With kgain bigger than 1, there will be a peak at the centre frequency, whose width is given by the kbw parameter, but outside this band, the response will tend towards 1. Conversely, if kgain is smaller than 1, a notch will be created around the CF.
istor --initial disposition of internal data space. Since filtering incorporates a feedback loop of previous output, the initial status of the storage space used is significant. A zero value will clear the space; a non-zero value will allow previous information to remain. The default value is 0.
asig -- filtered output signal.
ain -- input signal.
kcf -- filter centre frequency.
kbw -- peak/notch bandwidth (Hz).
kgain -- peak/notch gain.
Here is an example of the eqfil opcode. It uses the file eqfil.csd.
Example 269. Example of the eqfil opcode.
See the sections Real-time Audio and Command Line Flags for more information on using command line flags.
<CsoundSynthesizer> <CsOptions> ; Select audio/midi flags here according to platform -odac ;;;realtime audio out ;-iadc ;;;uncomment -iadc if realtime audio input is needed too ; For Non-realtime ouput leave only the line below: ; -o eqfil.wav -W ;;; for file output any platform </CsOptions> <CsInstruments> sr = 44100 ksmps = 32 nchnls = 2 0dbfs = 1 instr 1 kcf = p4 kfe expseg 10, p3*0.9, 1800, p3*0.1, 175 kenv linen .03, 0.05, p3, 0.05 ;low amplitude is needed to avoid clipping asig buzz kenv, kfe, sr/(2*kfe), 1 afil eqfil asig, kcf, 200, 10 outs afil*20, afil*20 endin </CsInstruments> <CsScore> ; a sine wave. f 1 0 16384 10 1 i 1 0 10 200 ;filter centre freq=200 i 1 + 10 1500 ;filter centre freq=1500 e </CsScore> </CsoundSynthesizer>