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

Spectral Transformers:

Spectral Morph 1

Functional Description
Spectral "morphing" based on direct manipulation of FFT spectra. The audio output is derived from a specific blending of the two input audio spectra such as to achieve a "morphing" effect i.e. whereby the output sounds like a "spectral mixture" of the input signals.

See also the "Controllable Spectral Morph 1" component which applies the same morph effect but where the morph factor is dynamically adjusted via an input control signal rather than via a slider.

The characteristics of the morph are adjustable via the Parameter Window, 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 zero-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.
"Morp factor" slider Adjusts the "balance" of the morph. A value of 0.5 yields the maximum morph effect, whereby the output is an "equal" spectral blend of the inputs. A value of 1 gives one extreme scenario whereby the morph is fully weighted towards the first input (and so the output is identical to the first input!). A value of 0 gives the other extreme scenario whereby the morph is fully weighted towards the second input (and so the output is identical to the second input!).
"Output gain" slider Adjusts the overall gain of the output signal, after the spectral manipulations have been applied.
"Window type" selection Selects the profile of the windowing function applied to the input data.

Algorithm
Each successive input buffer is transformed to the frequency domain using the windowed-FFT with double overlapping. The spectra of the two input signals are blended on a point-by-point basis by combining their magnitudes and phases in such a way as to achieve a "morphed" hybrid spectrum. 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 stereo-mono n/a Left input morphed with right input, sent to mono output
Single input single output stereo-stereo n/a Left input morphed with right input, sent (in duplicate) to stereo output
Double input single output mono-mono n/a First mono input morphed with second mono input, sent to mono output
Double input single output mono-stereo n/a First mono input morphed with second mono input, sent (in duplicate) to stereo output
Double input single output stereo-mono n/a Average of left and right channels of first input morphed with average of left and right channels of second input, sent to mono output
Double input single output stereo-stereo n/a Average of left and right channels of first input morphed with average of left and right channels of second input, sent (in duplicate) to stereo output
Related components:
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