Reverb built from a large FIR filter Example 1
Same as "Reverb built from a large FIR filter Example 2" except that the finite-latency Large FIR (FFT) component is used in
place of the zero-latency Large FIR (Hybrid) component.
This example illustrates how reverb can be implemented using a large FIR filter which simulates the impulse response of a
room. The "Large FIR (FFT)" component implements the FIR filter using fast (FFT) convolution. The FIR coefficients are
read from an ascii file. In this case, an exponentially decaying random filter was designed (in MATLAB) with a distribution
of approximately 2000 non-zero filter taps per second (examine the filter by reading it from "random.txt" into MATLAB using
the "wwfirr" function provided with WaveWarp).
This example uses only 32768 filter taps. You can of course experiment with longer filters for richer revereberant effects...
and why not try using an actual measured room impulse response function...
Note that this DrawingBoard uses the Large FIR (FFT) component which utilises WaveWarp's highly efficient FFT
engine. However, an important consequence of using straightforward block convolution is the unavoidable introduction of
a latency equal to the filter length (in this example, 0.74 sec). In some applications this is acceptable, for example, as used here
to process an audio file. However, in other applications, such as live signal processing, the latency may be unacceptable. In
such cases, WaveWarp's Large FIR (Hybrid) component should be used instead. This computes precisely the same filtering
results as the Large FIR (FFT) component except that it introduces no latency (at the cost of greater computational expense).
See the "ReverbBuiltFrom Large FIRfilterExample2.dwb" which illustrates the use of this component.