WaveWarp 2.0 Component
      

Spectral Transformers:
Functional Description
Determines the frequency and
magnitude of the
dominant spectral peak in the audio input (over a selected
duration),
and sends the information out via the
control outputs. The
spectrum is computed via the FFT, and the
peak is "tracked" in time by comparing successive
spectral snapshots. This enables the
actual location of the peak to be determined,
irrespective of the width of the
FFT bins, thereby circumventing the
limit on frequency resolution imposed by the
finite length of the
input data buffer. See also the
Spectral Peak Detector
for the simpler implementation (which is subject to
the resolution limitations
of the FFT).
Algorithm
Each successive input buffer is converted
to the frequency domain using the windowed-FFT with double overlapping.
A simple search for the maximum magnitude value
across all the
FFT bins reveals the approximate location of the dominant peak (within the
resolution of the FFT). By comparing the approximate peak locations
across successive FFT frames, the actual location can be effectively pin-pointed,
according to the "tracking phase vocoder" technique presented in
[Moorer1]
and
[Moore] p. 570-573.
The behaviour of the tracking peak detection depends on the
settings of the FFT, as summarised in the following table.
| 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.
The appropriate choice of "Buffer length" is a trade-off between
frequency resolution (improved with longer buffers) and temporal resolution
(degraded with longer buffers).
For a given application, the most suitable
choice usually depends on the characteristics of the audio signal.
|
| "Input gain" slider |
Adjusts the overall amplitude of the input signal,
before computing the FFT.
|
| "Window type" selection |
Selects the profile of the windowing function applied to the input data.
|
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,
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 mono | double output |
The first and second control outputs contain the frequency (in Hz) and the magnitude,
respectively,
of the dominant spectral peak of the mono input.
|
| Single input stereo | double output |
The first and second control outputs contain the frequency (in Hz) and the magnitude,
respectively,
of the dominant spectral peak of the average of the stereo input channels.
|
Related components:
Example DrawingBoards illustrating usage:

      
|