Book Description
This work discusses methods for efficient audio processing with finite impulse response (FIR) filters. Such filters are widely used for high-quality acoustic signal processing, e.g. for headphone or loudspeaker equalization, in binaural synthesis, in spatial sound reproduction techniques and for the auralization of reverberant environments. This work focuses on real-time applications, where the audio processing is subject to minimal delays (latencies). Different fast convolution concepts (transform-based, interpolation-based and number-theoretic), which are used to implement FIR filters efficiently, are examined regarding their applicability in real-time. These fast, elementary techniques can be further improved by the concept of partitioned convolution. This work introduces a classification and a general framework for partitioned convolution algorithms and analyzes the algorithmic classes which are relevant for real-time filtering: Elementary concepts which do not partition the filter impulse response (e.g. regular Overlap-Add and Overlap-Save convolution) and advanced techniques, which partition filters uniformly and non-uniformly. The algorithms are thereby regarded in their analytic complexity, their performance on target hardware, the optimal choice of parameters, assemblies of multiple filters, multi-channel processing and the exchange of filter impulse responses without audible artifacts. Suitable convolution techniques are identified for different types of audio applications, ranging from resource-aware auralizations on mobile devices to extensive room acoustics audio rendering using dedicated multi-processor systems.