l9: cepstral analysis - texas a&m university | college station, tx
TRANSCRIPT
Introduction to Speech Processing | Ricardo Gutierrez-Osuna | CSE@TAMU 1
L9: Cepstral analysis
β’ The cepstrum
β’ Homomorphic filtering
β’ The cepstrum and voicing/pitch detection
β’ Linear prediction cepstral coefficients
β’ Mel frequency cepstral coefficients
This lecture is based on [Taylor, 2009, ch. 12; Rabiner and Schafer, 2007, ch. 5; Rabiner and Schafer, 1978, ch. 7 ]
Introduction to Speech Processing | Ricardo Gutierrez-Osuna | CSE@TAMU 2
The cepstrum
β’ Definition β The cepstrum is defined as the inverse DFT of the log magnitude of the
DFT of a signal
π π = β±β1 log β± π₯ π
β’ where β± is the DFT and β±β1 is the IDFT
β For a windowed frame of speech π¦ π , the cepstrum is
π π = log π₯ π πβπ2ππ ππ
πβ1
π=0ππ
2ππ ππ
πβ1
π=0
DFT log IDFT π₯ π π π π π
π π
Introduction to Speech Processing | Ricardo Gutierrez-Osuna | CSE@TAMU 3
log β± π₯ π
β±β1 log β± π₯ π
β± π₯ π
[Taylor, 2009]
Introduction to Speech Processing | Ricardo Gutierrez-Osuna | CSE@TAMU 4
β’ Motivation β Consider the magnitude spectrum β± π₯ π of the periodic signal in
the previous slide
β’ This spectra contains harmonics at evenly spaced intervals, whose magnitude decreases quite quickly as frequency increases
β’ By calculating the log spectrum, however, we can compress the dynamic range and reduce amplitude differences in the harmonics
β Now imagine we were told that the log spectra was a waveform
β’ In this case, we would we would describe it as quasi-periodic with some form of amplitude modulation
β’ To separate both components, we could then employ the DFT
β’ We would then expect the DFT to show
β A large spike around the βperiodβ of the signal, and
β Some βlow-frequencyβ components due to the amplitude modulation
β’ A simple filter would then allow us to separate both components (see next slide)
Introduction to Speech Processing | Ricardo Gutierrez-Osuna | CSE@TAMU 5
Liftering in the cepstral domain
[Rabiner & Schafer, 2007]
Introduction to Speech Processing | Ricardo Gutierrez-Osuna | CSE@TAMU 6
β’ Cepstral analysis as deconvolution β As you recall, the speech signal can be modeled as the convolution of
glottal source π’ π , vocal tract π£ π , and radiation π π
π¦ π = π’ π β π£ π β π π
β’ Because these signals are convolved, they cannot be easily separated in the time domain
β We can however perform the separation as follows
β’ For convenience, we combine π£β² π = π£ π β π π , which leads to π¦ π = π’ π β π£β² π
β’ Taking the Fourier transform
π πππ = π πππ πβ² πππ
β’ If we now take the log of the magnitude, we obtain
log π πππ = log π πππ + log πβ² πππ
β which shows that source and filter are now just added together
β’ We can now return to the time domain through the inverse FT π π = ππ’ π + ππ£ π
Introduction to Speech Processing | Ricardo Gutierrez-Osuna | CSE@TAMU 7
β’ Where does the term βcepstrumβ come from? β The crucial observation leading to the cepstrum terminology is that
the log spectrum can be treated as a waveform and subjected to further Fourier analysis
β The independent variable of the cepstrum is nominally time since it is the IDFT of a log-spectrum, but is interpreted as a frequency since we are treating the log spectrum as a waveform
β To emphasize this interchanging of domains, Bogert, Healy and Tukey (1960) coined the term cepstrum by swapping the order of the letters in the word spectrum
β Likewise, the name of the independent variable of the cepstrum is known as a quefrency, and the linear filtering operation in the previous slide is known as liftering
Introduction to Speech Processing | Ricardo Gutierrez-Osuna | CSE@TAMU 8
β’ Discussion β If we take the DFT of a signal and then take the inverse DFT of that, we
of course get back the original signal (assuming it is stationary)
β The cepstrum calculation is different in two ways
β’ First, we only use magnitude information, and throw away the phase
β’ Second, we take the IDFT of the log-magnitude which is already very different since the log operation emphasizes the βperiodicityβ of the harmonics
β The cepstrum is useful because it separates source and filter
β’ If we are interested in the glottal excitation, we keep the high coefficients
β’ If we are interested in the vocal tract, we keep the low coefficients
β’ Truncating the cepstrum at different quefrency values allows us to preserve different amounts of spectral detail (see next slide)
Introduction to Speech Processing | Ricardo Gutierrez-Osuna | CSE@TAMU 9
[Taylor, 2009]
K=10
K=20
K=30
K=50
Frequency (Hz)
Introduction to Speech Processing | Ricardo Gutierrez-Osuna | CSE@TAMU 10
β Note from the previous slide that cepstral coefficients are a very compact representation of the spectral envelope
β It also turns out that cepstral coefficients are (to a large extent) uncorrelated
β’ This is very useful for statistical modeling because we only need to store their mean and variances but not their covariances
β For these reasons, cepstral coefficients are widely used in speech recognition, generally combined with a perceptual auditory scale, as we see next
Introduction to Speech Processing | Ricardo Gutierrez-Osuna | CSE@TAMU 11
ex9p1.m
Computing the cepstrum
Liftering vs. linear prediction
Show uncorrelatedness of cepstrum
Introduction to Speech Processing | Ricardo Gutierrez-Osuna | CSE@TAMU 12
Homomorphic filtering
β’ Cepstral analysis is a special case of homomorphic filtering β Homomorphic filtering is a generalized technique involving (1) a
nonlinear mapping to a different domain where (2) linear filters are applied, followed by (3) mapping back to the original domain
β Consider the transformation defined by π¦ π = πΏ π₯ π
β’ If πΏ is a linear system, it will satisfy the principle of superposition πΏ π₯1 π + π₯2 π = πΏ π₯1 π + πΏ π₯2 π
β By analogy, we define a class of systems that obey a generalized principle of superposition where addition is replaced by convolution
π» π₯ π = π» π₯1 π β π₯2 π = π» π₯1 π β π» π₯2 π
β’ Systems having this property are known as homomorphic systems for convolution, and can be depicted as shown below
[Rabiner & Schafer, 1978]
Introduction to Speech Processing | Ricardo Gutierrez-Osuna | CSE@TAMU 13
β An important property of homomorphic systems is that they can be represented as a cascade of three homomorphic systems
β’ The first system takes inputs combined by convolution and transforms them into an additive combination of the corresponding outputs
π·β π₯ π = π·β π₯1 π β π₯2 π = π·β π₯1 π + π·β π₯2 π = π₯ 1 π +π₯ 2 π = π₯ π
β’ The second system is a conventional linear system that obeys the principle of superposition
β’ The third system is the inverse of the first system: it transforms signals combined by addition into signals combined by convolution
π·ββ1 π¦ π = π·β
β1 π¦ 1 π + π¦ 2 π = π·ββ1 π¦1 π β π·β
β1 π¦2 π = π¦1 π β π¦2 π = π¦ π
β This is important because the design of such system reduces to the design of a linear system
[Rabiner & Schafer, 1978]
Introduction to Speech Processing | Ricardo Gutierrez-Osuna | CSE@TAMU 14
β Noting that the z-transform of two convolved signals is the product of their z-transforms
π₯ π = π₯1 π β π₯2 π β π π§ = π1 π§ π2 π§
β We can then take logs to obtain
π π§ = log π π§ = log π1 π§ π2 π§ = log π1 π§ + log π2 π§
β Thus, the frequency domain representation of a homomorphic system for deconvolution can be represented as
[Rabiner & Schafer, 1978]
Introduction to Speech Processing | Ricardo Gutierrez-Osuna | CSE@TAMU 15
β If we wish to represent signals as sequence rather than in the frequency domain, then the systems π·β and π·β
β1 can be represented as shown below
β’ Where you can recognize the similarity between the cepstrum with the system π·β
β’ Strictly speaking, π·β defines a complex cepstrum, whereas in speech processing we generally use the real cepstrum
β Can you find the equivalent system for the liftering stage?
[Rabiner & Schafer, 1978]
Introduction to Speech Processing | Ricardo Gutierrez-Osuna | CSE@TAMU 16
Voicing/pitch detection
β’ Cepstral analysis can be applied to detect local periodicity β The figure in the next slide shows the STFT and corresponding spectra
for a sequence of analysis windows in a speech signal (50-ms window, 12.5-ms shift)
β The STFT shows a clear difference in harmonic structure
β’ Frames 1-5 correspond to unvoiced speech
β’ Frames 8-15 correspond to voiced speech
β’ Frames 6-7 contain a mixture of voiced and unvoiced excitation
β These differences are perhaps more apparent in the cepstrum, which shows a strong peak at a quefrency of about 11-12 ms for frames 8-15
β Therefore, presence of a strong peak (in the 3-20 ms range) is a very strong indication that the speech segment is voiced
β’ Lack of a peak, however, is not an indication of unvoiced speech since the strength or existence of a peak depends on various factors, i.e., length of the analysis window
Introduction to Speech Processing | Ricardo Gutierrez-Osuna | CSE@TAMU 17
[Rabiner & Schafer, 2007]
Introduction to Speech Processing | Ricardo Gutierrez-Osuna | CSE@TAMU 18
Cepstral-based parameterizations
β’ Linear prediction cepstral coefficients β As we saw, the cepstrum has a number of advantages (source-filter
separation, compactness, orthogonality), whereas the LP coefficients are too sensitive to numerical precision
β Thus, it is often desirable to transform LP coefficients ππ into cepstral coefficients ππ
β This can be achieved as [Huang, Acero & Hon, 2001]
ππ =
ln πΊ π = 0
ππ +1
π πππππβπ
πβ1
π=11 < π β€ π
Introduction to Speech Processing | Ricardo Gutierrez-Osuna | CSE@TAMU 19
β’ Mel Frequency Cepstral Coefficients (MFCC) β Probably the most common parameterization in speech recognition
β Combines the advantages of the cepstrum with a frequency scale based on critical bands
β’ Computing MFCCs β First, the speech signal is analyzed with the STFT
β Then, DFT values are grouped together in critical bands and weighted according to the triangular weighting function shown below
β’ These bandwidths are constant for center frequencies below 1KHz and increase exponentially up to half the sampling rate
[Rabiner & Schafer, 2007]
Introduction to Speech Processing | Ricardo Gutierrez-Osuna | CSE@TAMU 20
β The mel-frequency spectrum at analysis time π is defined as
ππΉ π =1
π΄π ππ π π π, π
ππ
π=πΏπ
β where ππ π is the triangular weighting function for the π-th filter, ranging from DFT index πΏπ to ππ and
π΄π = ππ π2
ππ
π=πΏπ
β’ which serves as a normalization factor for the π-th filter, so that a perfectly flat Fourier spectrum will also produce a flat Mel-spectrum
β For each frame, a discrete cosine transform (DCT) of the log-magnitude of the filter outputs is then computed to obtain the MFCCs
ππΉπΆπΆ π =1
π log ππΉ π cos
2π
π π +
1
2π
π
π=1
β where typically ππΉπΆπΆ π is evaluated for a number of coefficients πππΉπΆπΆ that is less than the number of mel-filters π
β’ For πΉπ = 8πΎπ»π§, typical values are πππΉπΆπΆ = 13 and π = 22
Introduction to Speech Processing | Ricardo Gutierrez-Osuna | CSE@TAMU 21
[Rabiner & Schafer, 2007]
Comparison of smoothing techniques: LPC, cepstral and mel-cepstral
Introduction to Speech Processing | Ricardo Gutierrez-Osuna | CSE@TAMU 22
β’ Notes β The MFCC is no longer a homomorphic transformation
β’ It would be if the order of summation and logarithms were reversed, in other words if we computed
1
π΄π log ππ π π π, π
ππ
π=πΏπ
β’ Instead of
log1
π΄π ππ π π π, π
ππ
π=πΏπ
β’ In practice, however, the MFCC representation is approximately homomorphic for filters that have a smooth transfer function
β’ The advantages of the second summation above is that the filter energies are more robust to noise and spectral properties
Introduction to Speech Processing | Ricardo Gutierrez-Osuna | CSE@TAMU 23
β MFCCs employ the DCT instead of the IDFT
β’ The DCT turns out to be closely related to the Karhunen-Loeve transform
β The KL transform is the basis for PCA, a technique that can be used to find orthogonal (uncorrelated) projections of high dimensional data
β As a result, the DCT tends to decorrelate the mel-scale frequency log-energies
β’ Relationship with the DFT
β The DCT transform (the DCT-II, to be exact) is defined as
ππ·πΆπ π = π₯ π cosπ
ππ +
1
2π
πβ1
π=0
β whereas the DFT is defined as
ππ·πΉπ π = π₯ π ππ2ππ ππ
πβ1
π=0
β Under some conditions, the DFT and the DCT-II are exactly equivalent
β For our purposes, you can think of the DCT as a βrealβ version of the DFT (i.e., no imaginary part) that also has a better energy compaction properties than the DFT
Introduction to Speech Processing | Ricardo Gutierrez-Osuna | CSE@TAMU 24
ex9p2.m
Computing MFCCs