# Gentle request for explanation on LPC and LPCC coefficients :)

If I understand what LPC does, I think. It predicts the next sample by taking into account previous $p$ samples. I don't understand why it is useful in DPS and speech recognition.

I also came across LPCC that can be derived from LPC and are related to sound frequency. I also find it hard to follow the idea why cepstrum coefficients are useful or even better for speech recognition.

I did read about MFCC, though. I understood that before DCT, the coefficients (no MFCC yet) are simply energies at particular frequency range of a signal that is filtered by a triangle band pass filter. I do not have a problem with MFCC apart from the last step when DCT is applied. I think it also has something to do with cepstrum.

Why do you think cepstrum is so useful for speech, speaker and music recognition?

I'd be grateful for some words on that :)

EDIT. I have found a typo. Instead of "I have a problem with MFCC apart from at the last step when DCT is applied" I really meant "I do not have a problem with MFCC apart from the last step when DCT is applied".

Could someone please add a tag "LPCC" to this topic? It is one of the techniques in speech I think and deserves to be tagged. I cannot do it at the moment. Cheers!

Speech - along with the sounds produced by most musical instruments - can be described by a source-filter model. In the case of speech, the source is the glottis - producing a periodical pulse train - and the filter is the vocal tract - acting like a filter with several narrow peaks (formants) shaping the pulse train. When articulating different phonemes (try saying "a o i"...) what changes is the reponse of this filter.

The outcome of linear prediction analysis is a set of coefficients describing a filter, and a residual signal - such that the analyzed signal is the result of filtering the residual signal by an all-pole filter having the estimated coefficients. In other words, this "reverse-engineers" the process of speech production, with the contribution of the vocal tract explained by the coefficients, and the contribution of the glottis explained by the residual signal. What determines which phoneme is spoken is mostly the configuration of the vocal tract during speech production - hence the usefulness of linear prediction coefficients for speech recognition.

Similarly, cepstral analysis is good at isolating the contributions of the source and the filter in a signal produced according to the source/filter model. The very first cepstral coefficients capture the contribution of the filter, the higher coefficients make easy to detect the periodicity of the source.

• Hi pichenettes. Thanks for the answer. If we "get rid of" the vocal tract (filter), would we just have the effect of glottis? How do you know that the first cepstrum coefficient corresponds to the filter of Vocal Tract? Why is it just the first CC? Is this idea of cepstrum the same for Mel-Frequency Cepstrum Coefficients (MFCC) in terms of representing effect of Vocal Tract or glottis? Thanks – Celdor Dec 9 '13 at 11:09
• "If we "get rid of" the vocal tract (filter), would we just have the effect of glottis?". Yes, there are actually several methods to record this directly, and this sounds quite similar to the LPC residual. – pichenettes Dec 9 '13 at 12:30
• "How do you know that the first cepstrum coefficients corresponds to the filter of Vocal Tract?" The spectrum of a voiced speech signal is the product of a harmonic comb (contribution of the glottis) and a smoother function (vocal tract filter response). Replace spectrum by "log spectrum" and "product" by sum. Take the Fourier transform of that and you get the cepstrum. So the cepstrum is the sum of two functions - contribution of the filter ; contribution of the source ; one is smooth (mostly low quefrency) one is peaky (mostly high quefrency). – pichenettes Dec 9 '13 at 12:34

As you mention, linear prediction attempts to estimate the next signal sample from a linear combination of the previous P outputs. Mathematically, we can then express the $n^{th}$ sample of our signal $x[n]$ like this: $$x[n] = \sum^{P}_{k=1} a_k x[n-k]+e[n]$$ where $e[n]$ is the error signal. Applying linear prediction to a frame of our signal of, say, length $N$ samples ($N\gg P$) gives us the linear prediction coefficients ${a_1,a_2,\cdots,a_P}$.

For signals where this model is valid, the error signal $e[n]$ contains very little information compared to $x[n]$. The linear prediction operation then has given us $P$ numbers which represents most of the signal, as opposed to $N$ of them; in other words, we've been able to code the signal, hence linear predictive coding. This coding of the signal is enormously useful for many different applications. (Your mobile phone determines the linear prediction coefficients of your voice hundreds of times a second while you call your friends!)

Moreover, the linear predictive coefficients are essentially the coefficients of the optimal all-pole filter which describes $x[n]$. (In what sense of optimality depends on the algorithm used to determine them, but it's generally some form of time-domain least mean squares). This means that we have an estimate of the frequency-domain envelope of $x[n]$, which we can derive from our coefficients. Speech recognition generally operates from a frequency-domain perspective, and so linear prediction coefficients can be useful for that application too.

For improved recognition performance, it is useful to represent the frequency spectrum in other forms more closely linked with the way that we hear, i.e. some kind of perceptual domain. MFCCs and other similar signal representations (I assume that LPCCs do something similar, as I'm not familiar with them) do just that and warp the linear frequency domain in a way such that perceptual differences will be more apparent.

• Ty. I still find it hard to see the advantage of LPCs. We've a sample x[n] and we generate additional coefficients to predict this sample. For the very next sample, we generate another $p$ coefficients, etc. This produces extra information. I could say that in frequency domain we can represent a signal with $p$ all-pole coefficients, as you said. Is it the same when I say that $N$-length signal is represented by $p$-length predicted signal with error e[n] in frequency? I am sorry, I am really confused. There are details I can see and understand but still don't find it useful. – Celdor Dec 9 '13 at 10:52
• The (usual) way that linear prediction determines the set of coefficients is by minimizing $\sum^{N-1}_{n=0} e[n]^2$ -- that is to say, by minimizing the error signal energy over a range of samples. For some points, $|e[n]|$ will be very close to 0, for others it will be larger, but, overall, the coefficients gives the lowest energy. The original signal $x[n]$ can be regenerated given $e[n]$ and $a_k$, i.e. by filtering $e[n]$ with the all-pole filter described by $a_k$. – Kenneide Dec 9 '13 at 12:40