An acoustic space can be approximated as a linear, time-invariant system, in which case one can measure its impulse response and use that response as a filter to reproduce the effect of playing a given audio signal in that space.
A key limitation of that approximation is that there are no changes in the number of listeners and sound sources, nor their positions.
The simulation of room reverberation using a convolutional approach ideally involves two transfer functions per sound source per listener (one for each ear). The tranfer functions or filter representations will change if anything in the room changes.
Figure 7:
Transfer function approach to reverberation simulation for three sources and one listener.
For the three source, one listener setup depicted in Fig. 7, the output signals would be computed via six convolutions:
where is an FIR filter representation of the impulse response from source to ear and is the length of the filter.
For impulse responses of one second (appropriate when the second) and a sample rate = 50 kHz, each filter would require 50,000 multiplies and additions per sample or 2.5 billion multiply-adds per second. For three sources and two listening points (ears), this corresponds to 30 billion operations per second.
Efficiencies can be gained by performing the computations in the frequency domain and by making other simplifying assumptions.
With the increasing availability and affordability of multi-processor computing platforms, convolutional approaches for artificial reverberation are becoming more popular and available. From a business perspective, companies making such systems can also profit by selling room responses (since recording impulse responses requires significant expertise and specialized equipment).
Generally, it can be challenging to dynamically modify impulse responses to support flexible control schemes (such as shortening or lengthening reverb times) and still maintain good audio quality.