WaveWarp 2.0 Component
      

Spectral Transformers:
Controllable Brick Wall 4
|
Functional Description
Approximate "brick wall" band-stop / band-pass filter,
based on direct manipulation of FFT spectra. The filter cut-off frequencies
and stop-band gain
are dynamically adjusted via the control signal inputs.
IMPORTANT: this filtering 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 filtering is required,
refer to the
Digital Filters
category of the Component Library.
The attributes of the filter are adjustable via the Parameter Window, as summarised in the
following table. Stereo signals have separate adjustments for left and
right channels.
| Parameter | Purpose |
| "Filter type" selection |
Selects between a low-pass or high-pass filter.
|
| "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 filtering has been applied.
|
| "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" band-stop (band-pass) filtering is applied by
multiplying the values
in all FFT bins within (outside) the "instantaneous" lower and upper cut-off frequencies
by the "instantaneous" stop-band gain.
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 | 3 inputs |
The mono audio input is filtered and sent to the mono audio output.
The first and second control inputs determine the instantaneous
lower and upper cut-off frequencies (in Hz). The third determines the stop-band gain.
|
| Single input single output mono-stereo | 6 inputs |
The mono audio input is filtered and sent (in duplicate) to the stereo audio output channels.
The first and second control inputs determine the instantaneous
lower and upper cut-off frequencies (in Hz) for the left channel. The third determines the stop-band gain for the left channel.
The fourth and fifth control inputs determine the instantaneous
lower and upper cut-off frequencies (in Hz) for the right channel. The sixth determines the stop-band gain for the right channel.
|
| Single input single output stereo-mono | 6 inputs |
Each audio input channel is filtered with separate filter parameters. The filtered channels are then averaged and sent to the mono audio output.
The first and second control inputs determine the instantaneous
lower and upper cut-off frequencies (in Hz) for the left channel. The third determines the stop-band gain for the left channel.
The fourth and fifth control inputs determine the instantaneous
lower and upper cut-off frequencies (in Hz) for the right channel. The sixth determines the stop-band gain for the right channel.
|
| Single input single output stereo-stereo | 6 inputs |
Each audio input channel is filtered with separate filter parameters and sent to the separate stereo output channels.
The first and second control inputs determine the instantaneous
lower and upper cut-off frequencies (in Hz) for the left channel. The third determines the stop-band gain for the left channel.
The fourth and fifth control inputs determine the instantaneous
lower and upper cut-off frequencies (in Hz) for the right channel. The sixth determines the stop-band gain for the right channel.
|
Related components:
Example DrawingBoards illustrating usage:

      
|