Mono Pre-built DirectX Example: Random Reverb
HINT: YOU CAN CHOOSE ANY WAVEWARP DRAWINGBOARD AS A DIRECTX MONO PLUGIN -- NOT JUST THE
ONES CONTAINED IN THIS "DirectX/Mono" CATEGORY. WAVEWARP WILL AUTOMATICALLY CONVERT ANY
DRAWINGBOARD INTO THE REQUIRED FORMAT. THE PRE-CONVERTED EXAMPLES IN THIS DIRECTORY
ARE SIMPLY TO DEMONSTRATE THE EXPLICIT FORMAT OF MONO DIRECTX DRAWINGBOARDS. SO, AFTER
YOU'VE TRIED THESE, JUST BROWSE TO ANY OTHER EXAMPLE DRAWINGBOARD IN THE ENTIRE DISTRIBUTION --
OR BETTER STILL, GO INTO WAVEWARP AND BUILD YOUR OWN!
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 (Hybird) component which utilises a proprietory algorithm for efficient
convolution without introducing latency. This is useful for applications which require zero latency (e.g. processing of
live audio signals). However, in many applications, latency can be tolerated, and thereby, more efficient convolution
algorithms can be employed. In such cases, WaveWarp's Large FIR (FFT) component should be used instead. This computes
precisely the same filtering results as the Large FIR (Hybrid) component except that it introduces a latency equal to the filter
length (though with considerably greater computational efficiency).
Note: you need to "bring WaveWarp to the front" and stop the DrawingBoard in order to select a different FIR filter.