ABSTRACT

Filtering is the selective removal of frequencies from a signal. Most diegetic voices in an interactive audio mix are likely to pass through several filters, updated many times a second. This chapter includes tightly optimised C++ code for first- and second-order low-pass, high-pass, notch, bandpass, treble, bass and five-knob fully parametric resonant filters, functions and formulae to set them up for various frames of reference and notes on their useful gamut. It includes an improvement to reduce distortion in conventional state-variable filter implementation and caveats about I3DL2 and MIDI filter control.

This chapter goes beyond “cookbook” techniques to practical implementations tested and optimised for interactive use. The feedback filter concept is extended to include all-pass decorrelation filters, optimal generation of low-frequency oscillations for effect and spatial control, crucial compensation for variation in the update frame rate and examples like “Lissajous fly torture” for testing proximity effects and the advanced use of resonant filters to express damage or injury.