Sounds Logical
home

WaveWarp 2.0 Component

IndexCurrent GroupPrevious GroupNext GroupPrevious ComponentNext ComponentBottom of Page

Functional Description | Algorithm | Signal Implementations | Related Components | Example DWBs usage

Equalisers:

Brick-wall 8-band Equaliser

Functional Description
Approximate "brick wall" 8-band equaliser based on direct manipulation of FFT spectra.

IMPORTANT: this equalisation technique is crude but computationally efficient. It can introduce significant distortion, depending on the spectral and temporal nature of the audio material being processed. This can lead to interesting audio effects, but may be unacceptable for a given application. If accurate equalisation is required, refer to the Digital Filters category of the Component Library.

The attributes of the equaliser are adjustable via the Parameter Window, as summarised in the following table. Stereo signals have separate adjustments for left and right channels.

Parameter Purpose
"Buffer length" slider Adjusts the length of the input data buffer, which also defines the "Latency" (overall delay) of the process. The FFT buffer size is computed from the "Buffer length" rounded up to the nearest power of 2 (for efficient FFT computation). If "double padding" is selected, the FFT buffer size is doubled (after the rounding) to improve the smoothness of the spectrum between successive FFT bins (but without increasing the underlying frequency resolution). The input data buffer is windowed (using a selected profile), then extended to the length of the FFT buffer by padding with zeros (on either side). Successive input data buffers are overlapped by a factor of 2, and the ouputs of the overlapped inverse transformed buffers are summed, in order to avoid discontinuities at the window boundaries.
"Output gain" slider Adjusts the overall gain of the output signal, after the equalisation has been applied.
"Band gains" sliders Adjusts the gains for each band of the equaliser. The center frequency for each band is displayed in the box above the sliders. The idealised frequency response of the equaliser is displayed in the plot window below the sliders. The actual frequency response will, in general, be highly distorted due to the approximate nature of the filtering method.
"Reset" button Resets all gains to their default values (corresponding to a "flat" equalisation curve).
"Window type" selection Selects the profile of the windowing function applied to the input data.

Algorithm
Transforms each successive input buffer to the frequency domain using the windowed-FFT with double overlapping. The approximate "brick wall" equalisation is applied by dividing the FFT spectrum into 8 equal frequency bands, then multiplying the values in all FFT bins within each band by the gain for that band. The modified spectrum is then re-converted to the time domain (using the inverse FFT), and the overlapped output buffers are summed to yield the output signal.

For an introduction to the Discrete Fourier Transform and the FFT, see, for example, [St] sections 4.1 and 4.2. For further introductory information (with emphasis on audio applications), and for discussions on spectral measurements, zero-padding, windowing, the overlap-add re-synthesis method, and the Short Time Fourier Transform (STFT) for audio applications, see [Roa] p. 1084-1112 and [Moore] p. 61-111.

Signal Implementations
Audio signals Control signals Description
Single input single output mono-mono n/a The mono audio input is filtered and sent to the mono audio output.
Single input single output mono-stereo n/a The mono audio input is filtered and sent (in duplicate) to the stereo audio output channels.
Single input single output stereo-mono n/a Each audio input channel is filtered with separate filter parameters. The filtered channels are then averaged and sent to the mono audio output.
Single input single output stereo-stereo n/a Each audio input channel is filtered with separate filter parameters and sent to the separate stereo output channels.
Related components:
  • None
Example DrawingBoards illustrating usage:

IndexCurrent GroupPrevious GroupNext GroupPrevious ComponentNext ComponentTop of Page

home - news - products - store - support - site map - company info
© 2007 Sounds Logical. All rights reserved.
Sounds Logical
legal notice - privacy statement