### Inverse FFT Synthesis

When the number of partial overtones is large, an explicit sinusoidal
oscillator bank requires a significant amount of computation, and it
becomes more efficient to use the *inverse FFT* to synthesize
large ensembles of sinusoids
[35,239,143,142,139].
This method gives the added advantage of allowing non-sinusoidal
components such as filtered noise to be added in the frequency domain
[246,249].

Inverse-FFT (IFFT) synthesis was apparently introduced by Hal Chamberlin in his classic 1980 book ``Musical Applications of Microprocessors'' [35]. His early method consisted of simply setting individual FFT bins to the desired amplitude and phase, so that an inverse FFT would efficiently synthesize a sum of fixed-amplitude, fixed-frequency sinusoids in the time domain.

This idea was extended by Rodet and Depalle [239] to
include *shaped* amplitudes in the time domain. Instead of
writing isolated FFT bins, they wrote entire *main lobes* into
the buffer, where the main lobes corresponded to the desired window
shape in the time domain.^{G.7} (Side
lobes of the window transform were neglected.) They chose the
triangular window (
main-lobe shape), thereby implementing a
linear cross-fade from one frame to the next in the time domain.

A remaining drawback of IFFT synthesis was that inverse FFTs generate
sinusoids at *fixed* frequencies, so that a rapid glissando may
become ``stair-cased'' in the resynthesis, stepping once in frequency
per output frame.

An extension of IFFT synthesis to support linear *frequency
sweeps* was devised by Goodwin and Kogon [93]. The basic
idea was to tabulate window main-lobes for a variety of sweep rates.
(The phase variation across the main lobe determines the frequency
variation over time, and the width of the main lobe determines its
extent.) In this way, frequencies could be swept within an FFT frame
instead of having to be constant with a cross-fade from one static
frame to the next.

**Next Section:**

Chirplet Synthesis

**Previous Section:**

FFT Implementation of the Phase Vocoder