LPC-Toolkit

Researchers

Mark Cartwright

Overview

LPC-Toolkit is toolkit of Max/MSP objects developed to make real-time linear predictive coding accessible to musicians and sound artists. It was developed in 2007 at Stanford's Center for Computer Research in Music and Acoustics (CCRMA).

Linear predictive coding (LPC) is a technique for performing audio source/filter decomposition.  For speech, LPC works on the premise that the vocal tract can be considered a slowly time-varying filter in which an excitation (glottal pulse and noise) is fed to produce speech.  Using linear prediction we can estimate the vocal tract filter coefficients.  The error signal between the estimated and the actual speech can be considered the excitation signal (i.e. the source).  The voice can be re-synthesized by running the error signal through the inverse prediction filter or by running a synthesized excitation signal through the inverse filter.

Block diagram of speech synthesis from LPC-derived vocal tract parameters. From Digital Processing of Speech Signals by Rabiner and Schafer.

Block diagram of speech synthesis from LPC-derived vocal tract parameters. From Digital Processing of Speech Signals by Rabiner and Schafer.

In a creative setting, source/filter decomposition techniques can be used for cross-synthesis by performing linear prediction analysis on two different source signals, and running the resulting excitation of one source into the resonance filter of the other. The idea behind the LPC toolkit is to separate out many of the pieces of LPC into a number of usable Max/MSP objects which can be ordered in different ways to yield a variety of effects for speech processing, synthesis and cross-synthesis.  The goal is to give the user enough flexibility to allow them to easily incorporate the techniques of speech processing in creative, musical ways in real-time.

Software

LPC-Toolkit Github repository