McAulay and Quatieri developed an algorithm that could model non-harmonic and polyphonic sounds (1986). Specifically, their algorithm was tailored to the special demands of modeling speech, but it showed promise for use on a broader class of sounds than previous sinusoidal algorithms. The raw data produced by the McAulay-Quatieri (MQ) algorithm is difficult to manipulate. Synthesis modifications, such as time scaling, frequency scaling, and sound morphing are difficult to implement using the raw MQ data. We have developed a new algorithm based on the work of McAulay and Quatieri. Our algorithm provides a more complete model for a wide variety of audio signals, including complex non-harmonic and polyphonic sounds, and provides a representation that greatly facilitates manipulation.
The results of our research are implemented in Lemur, a system for generating and manipulating sinusoidal models for sampled sound. Lemur is a Macintosh implementation of an extended MQ algorithm for sound analysis and synthesis based on the work of Maher and Beauchamp (1989). Lemur analysis consists of a series of short-time Fourier spectra from which significant frequency components are selected. Similar components in successive spectra are linked to form time-varying partials, called tracks. The number of significant frequency components, and, thus, the number of tracks may vary over the duration of a sound. Synthesis is performed by a bank of oscillators, each oscillator reproducing the frequency and amplitude trajectory of a single track. Phase accuracy is maintained using cubic phase (parabolic frequency) interpolation between spectra.
The Lemur model allows extensive modification of the sound using Lemur's built-in editing functions, or using other customized editors to modify the intermediate analysis file before resynthesis. Lemur provides tools for time and frequency scale modifications, partial editing and pruning, timbre morphing, and many other manipulations in the model domain. Time-variant manipulations may be performed at synthesis time using control files. The Lemur file format contains only amplitude, frequency, and linking information for each track, making it easy for users to write customized Lemur file editors. Third-party implementations of the Lemur model are available (here for example), and a real-time controllable implementation of a bandwidth-enhanced synthesis algorithm is under development.