This is the second part of a two week experiment. During the first week we discussed basic properties of speech signals, and performed some simple analyses in the time and frequency domain.
This week, we will introduce a system model for speech production. We will cover some background on linear predictive coding, and the final exercise will bring all the prior material together in a speech coding exercise.
A Speech Model
![]() |
From a signal processing standpoint, it is very useful to think of speech
production in terms of a model, as in Figure 1.
The model shown is the simplest of its kind,
but it includes all the principal components.
The excitations for voiced and unvoiced speech are represented by an
impulse train and white noise generator, respectively.
The pitch of voiced speech is controlled by the spacing between
impulses,
As the acoustical excitation travels from its source (vocal cords, or a constriction), the shape of the vocal tract alters the spectral content of the signal. The most prominent effect is the formation of resonances, which intensifies the signal energy at certain frequencies (called formants). As we learned in the Digital Filter Design lab, the amplification of certain frequencies may be achieved with a linear filter by an appropriate placement of poles in the transfer function. This is why the filter in our speech model utilizes an all-pole LTI filter. A more accurate model might include a few zeros in the transfer function, but if the order of the filter is chosen appropriately, the all-pole model is sufficient. The primary reason for using the all-pole model is the distinct computational advantage in calculating the filter coefficients, as will be discussed shortly.
Recall that the transfer function of an all-pole filter has the form
where
Keep in mind that the filter coefficients will change continuously as the shape of the vocal tract changes, but speech segments of an appropriately small length may be approximated by a time-invariant model.
This speech model is used in a variety of speech processing applications, including methods of speech recognition, speech coding for transmission, and speech synthesis. Each of these applications of the model involves dividing the speech signal into short segments, over which the filter coefficients are almost constant. For example, in speech transmission the bit rate can be significantly reduced by dividing the signal up into segments, computing and sending the model parameters for each segment (filter coefficients, gain, etc.), and re-synthesizing the signal at the receiving end, using a model similar to Figure 1. Most telephone systems use some form of this approach. Another example is speech recognition. Most recognition methods involve comparisons between short segments of the speech signals, and the filter coefficients of this model are often used in computing the “difference" between segments.
Synthesis of Voiced Speech
Download the file coeff.mat for the following section.
Download the file
coeff.mat
and load it into the
Matlab workspace using the load command.
This will load three sets of filter coefficients:
We will now synthesize voiced speech segments for each of these sets of
coefficients.
First write a Matlab function x=exciteV(N,Np)
which creates a
length
Assuming a sampling frequency of 8 kHz (0.125 ms/sample), create a 40 millisecond-long excitation with a pitch period of 8 ms, and filter it using Equation 2 for each set of coefficients. For this, you may use the command
s = filter(1,[1 -A],x)
where subplot()
and orient tall
to place them in the same figure.
We will now compute the frequency response of each of these filters.
The frequency response may be obtained by evaluating
Equation 1 at points along [H,W]=freqz(1,[1 -A],512)
,
where subplot()
and orient tall
to plot them in
the same figure.
The location of the peaks in the spectrum correspond to the formant frequencies. For each vowel signal, estimate the first three formants (in Hz) and list them in the figure.
Now generate the three signals again, but use an excitation which is 1-2
seconds long.
Listen to the filtered signals using soundsc.
Can you hear qualitative differences in the signals?
Can you identify the vowel sounds?
INLAB REPORT
Hand in the following:
- A figure containing the three time-domain plots of the voiced signals.
- Plots of the frequency responses for the three filters. Make sure to label the frequency axis in units of Hertz.
- For each of the three filters, list the approximate center frequency of the first three formant peaks.
- Comment on the audio quality of the synthesized signals.









