This tool allows users to explore linear prediction of speech and other signals. It also reinforces the concepts of windowing, preemphasis and frame size selection in speech analysis. Users can select regions for analysis and see the results as lpc-smoothed spectra and poles. The residual signal and its spectrum is also displayed. This tool is not a substitute for learning about linear prediction. To understand what the various panels mean, you should read one of the texts listed below. The demo requires the MATLAB signal processing toolbox.
Type 'lpcspect' to launch the demo. The file menu is used to load an existing signal file or to create a new one using the createsig tool. Supported formats currently include .wav, .snd and .au sound files. The signal will appear in panel (1), and associated linear prediction signals for the region between the cursors will be displayed in the other panels. Use the cursors to select any segment. On cursor release, the segment appears in panel (2) along with linear prediction residual (error signal). Panel (3) shows the DFT spectrum of this segment, overlaid with the LPC-smoothed spectrum and the DFT of the residual (7). The poles corresponding to the linear predictor are shown in panel (4).
The LPC order can be changed using menu (8). The signal can be preemphasised by checking the relevant box in cluster (6). Cursors can be linked (so that a constant segment length is maintained). The waveform segment chosen will be played on release if the associated checkbox is checked.
Clicking on any signal waveform (incuding the residual) causes it to be played. Holding the mouse button down in the z-plane panel (4) will cause the frequency at the selected z-plane angle to be displayed in the top left corner of the panel.
The chosen waveform segment can be Hamming-windowed (5). Unchecked, a rectangular window is applied.
- Choose a vowel segment of speech. Examine what happens to the residual signal (and its mean square error) as you increase the number of poles. What happens to the LPC-smoothed spectrum? How many poles provide a comfortable fit to a vowel segment.
- Now repeat this analysis for unvoiced sounds such as fricatives. How does the error compare?
- Again, perform this analysis for a nasal sound.
- Can you predict where the poles will appear for a given analysis order, and how they will change when you modify the order?
- Explore the effect of preemphasis on the LPC spectrum and the number of poles required to obtain a given residual error.
- Listen to the waveform segment and the residual signal in sequence. Can you detect a change in timbre? How does this change manifest itself as the LPC order increases?
- What is the effect of changing LPC order on the spectrum of the residual signal?
- Choose a vowel sound and a relatively low LPC order (10, say). Read off the pole locations (frequencies) by holding the mouse down in panel (4). Now use the polezero tool to recreate just these pole locations and listen to the resulting sound.
- Use the create option on the file menu to create a harmonic series with, say, 5 components. Do you expect to be able to fit it well with a 10th order model? Try it.
- Now add some noise (using create) to your harmonic series. Do the pole locations change? (Read about the peak-hugging properties of LPC).
- A good introduction to LPC is provided by Makhoul, J. (19??)
- This tool was written partly as an example of the interface issues in speech and hearing demonstrations, and is described further in Cooke et al (1999) The interactive auditory demonstrations project, Eurospeech'99, Budapest, September.
Produced by: Martin Cooke, April 1999.
Permissions: This demonstration may be used and modified freely by anyone. It may be distributed in unmodified form.