Presentation on theme: "Speech and Audio Processing and Coding (cont.)"— Presentation transcript:
1Speech and Audio Processing and Coding (cont.) Dr Wenwu WangCentre for Vision Speech and Signal ProcessingDepartment of Electronic Engineering
2Frequency response of H(z) The frequency response of the vocal tract filter can be best obtained by performing the DFT of the impulse response.It can also be directly calculated from the pole-zero plot, due to the relation between DFT and Z-transform.Essentially, the frequency response of the vocal tract can be obtained by sampling its Z-transform along the unit circle:The magnitude response can be obtained as:Exercise: derive the expression for the phase response of H(z).
3How to Separate Spectral Envelop and Spectral Details From Spectrum? Spectral envelope(containing information about formant structure)Spectral details
4Two Techniques Can Be Used Linear PredictionCepstrum Analysis4
5Recall “resonance” effect in speech production Vocal tract acts as a variable resonatorIn simple term, resonance = “formants”Source: (Ellis 2013)5
7Simulate resonance with a single pair-poles filter 7Source: (Ellis 2013)
8Source filter modelSource: excitation signal defining the fine structure of the speech.Filter: subsequent shaping by physical resonancesSource: (Ellis 2013)8
9The “resonance” in spectrum Changing slowly ~ msSource: (Ellis 2013)9
10Linear predictionIn the time-domain, filtering of the excitation signal through the vocal tract filter described in previous slides can be written equivalently as:The above equation is known as autoregressive moving average (ARMA) process. That is, a sampled value at the output of a linear filter is a weighted average of its past output samples, past input samples and the current input sample. In general, both poles and zeros exist, and it is also referred to as a pole-zero filtering process which can be further split into AR process and MA process written respectively as:AR (all-pole filter)MA (all-zero filter)10
11Linear prediction (cont.) Linear prediction analysis or linear predicative coding (LPC) is a powerful method used in speech processing and coding for modelling the short-term correlations between speech samples.It is a mathematical operation where future values of a discrete-time signal are estimated as a weighted summation of previous samples, i.e. an AR process (all-pole filter), where G is a gain factor:This effectively exploits the redundancy between consecutive samples and encodes and transmits only the non-redundant information in the signal.Although nasals and fricatives can cause anti-resonances in the transfer function, suggesting the usage of a pole-zero filter, a reasonable approximation to the vocal tract filter can be obtained by the above all-pole filter with a sufficiently high order p.
12Linear prediction (cont.) Linear prediction provides efficient methods for calculating the coefficients of an all-pole filter from real speech which leads to a compact representation of the formant structure.In speech coding, the LPC coefficients are quantised and encoded and then transmitted to a speech decoder, which reconstructs an approximation to the original speech.The output of a linear predictor with coefficients is defined as:The prediction error between the actual signal and its predicted value is given by:The coefficients are calculated by minimising the short-term mean-squared prediction error:
13LPC coefficients estimation Autocorrelation method:The LPC coefficients can be solved using the set of linear equations known as the Yule-Walker equations:where is the short-time autocorrelation function:The above matrix is a Toeplitz matrix, and therefore the equation is usually solved by a recursive algorithm known as Durbin’s algorithm.
14LPC coefficients estimation Covariance method:The LPC coefficients can be solved using the following set of linear equations:where measures the similarity over a fixed number of samples between two sequences which are slightly delayed with respect to one-another:The above matrix is not a Toeplitz matrix, and therefore the equation is usually solved by matrix inversion.
15Inverse filteringOnce the estimates of the linear prediction coefficients have been obtained, the excitation signal can be obtained from the speech signal using inverse filteringwhereis an inverse filter of the vocal tract transfer functionInverse filtering results in a residual with a flatter spectrum than the original speech. However, the residual still contains useful information about the speech signal, e.g. whether it is voiced/unvoiced, and the periodicity of the speech. For voiced sounds, it has a pulse-like nature, so it is common to apply periodicity estimation to the residual rather than the original speech.
16Inverse filtering (cont.) The LPC residual of a voiced segment obtained by inverse filtering
17Order selection of the LPC model Roughly speaking, the number of peaks in the magnitude response is equal to the number of poles.As p increases, the error between the AR fit and the speech signal decreases, and the estimated coefficients result in a closer fit to the actual spectral shape, and vice versa.In practice, LPC modelling is usually used to model the formant structure, so the spectral detail obtained from the higher order is unnecessary, and LPC orders of around are sufficient to model the first few formants in speech.Generally, LPC spectrum provides a better match to the spectral peaks than the spectral valleys, due to the usage of an all-pole filter to model the spectrum, without any zeros to model the spectral valleys.
21Prediction gainThe prediction error has a smaller variance compared with the original signal. Therefore if we quantise and encode the prediction error instead of the original signal, the error in the quantisation/encoding scheme can be reduced, for a given bit rate. Let d[n] be the quantisation error, the signal-to-quantising noise ratio of the system is:Prediction gainSNR of the quantiser
22Speech synthesis from the LPC model After obtaining the LPC coefficients, it is a simple matter to re-synthesize the original speechGenerating periodic impulses or white noise.Convolving the LPC coefficients with the generated excitation signals.Source: (Ellis 2013)
23Cepstral analysisLPC modelling has been widely used in speech processing due to its simplicity and computational efficiency.The LPC spectral envelope provides a poor fit to the spectral valleysAn assumption is made that the excitation is Gaussian noise or a single impulse, while multiple glottal pulses could exist within the window used for estimating the prediction coefficients, especially for female or high pitched speech.A more accurate but less efficient approach to separate the excitation signal from the vocal tract transfer function is cepstral deconvolution. Essentially, this is a process whereby fine spectral detail can be separated from the smooth spectral shape (formant structure).
24Definition of cepstrum Complex cesptrumThe complex cepstrum is defined as the inverse Fourier transform of the logarithm of the phase unwrapped spectrum.Real cesptrumThe real cepstrum is simply obtained by discarding the phase informationBoth complex and real cepstrum are real valued, as s[n] is real, and S[k] is complex conjugate symmetric.The main drawback with the real cepstrum is that the phase information is discarded and it is not possible to reconstruct the original spectrum, while it is possible to do this from the complex cepstrum by using an inverse DFT.
25Cepstrum is a special case of homomorphic filtering Homomorphic system:Homomorphic system can be split into a cascade of three homomorphic systems:Source: (Rabiner & Schafer, 1978)
26Cepstrum is a special case of homomorphic filtering LifteringSource: (Rabiner & Schafer, 1978)
27Cepstrum Procedure for computing cepstrum 27 Figure source:
28Cepstrum: an example28Source: (Taylor, 2009)= DFT
29Phase unwrappingis the phase of the speech spectrum in the k-th frequency bin, and is measured by taking the angle of S[k], which has a range ofAny substitution produces the same complex value of S[k].To produce a smooth phase spectrum from bin to bin, the phase needs to be unwrapped, i.e. adding integer multiples of to the initial phase estimates.Convolution TheoremDFT
31CepstrumEven through the cepstrum involves a transform from time to frequency domains, and then an inverse transformation, it is not accurate to say that it is back to the time domain, due to the nonlinear logarithmic function that is used in the operation.The axis of the cepstrum is therefore given the name quefrency, in the similar spirit as creating “cepstrum” versus “spectrum”.Any regular periodicity in the spectrum would produce a peak in the cepstrum, in the same way that periodicity in the time domain produces a peak in the frequency domain.Harmonics are equally spaced apart in frequency, so they would produce a peak along the quefrency axis at a position (and an integer multiple of this position) which would be proportional to the pitch period.The low end of the quefrency axis corresponds to the smooth spectral shape or formant structure, and the middle and high ends correspond to harmonics and spectral detail. In other words, the contributions of the excitation signal and the vocal tract transfer function occupy different regions of the quefrency axis.
32Terminology Terns for Spectrum Derived Terms for Cepstrum Spectrum FrequencyQuefrencyHarmonicsRahmonicsMagnitudeGamnitudePhaseSapheFilterLifterLow-pass filterShort-pass lifterHigh-pass filterLong-pass lifterThe terminology was invented by Bogert et al. (1960)32Figure source:
34CepstrumReal cesptrum of other short vowel segments (only half quefrencies are shown). Horizontal axis is in ms, and vertical axis shows the magnitudes.34Figure source:
35Spectrum vs Cepstrum Waveform of a vowel segment (512 samples) Spectrum of the vowelCepstrum of the vowel segmentThe first 20 cepstral coefficientsExamples from:
36LifteringLiftering in cepstrum is similar to “filtering” in the spectrum.All cepstrum coefficients are set to zero, except the low end coefficients (such as the first 20 coefficients together with their reflected counterparts at negative frequencies). This process is called low-pass liftering.The spectral envelope which contains the formant structural information can be estimated by liftering.The spectral envelope obtained from cepstrum is a good fit in both peaks and valleys, in contrast to LPC, where a better fit was obtained to the peaks than to the valleys.36
38LifteringSpectrum of a vowel segment and its spectral envelop obtained by liftering the first 20 cepstrum coefficients
39LifteringLiftered log-magnitude spectrum obtained by using only the first K cepstrum coefficients. It can be seen that with more coefficients, more spectral details can be obtained (similar effect to the use of different orders in LPC modelling to get different spectral details). Source: (Taylor 2009).
40An application example of cepstrum: pitch frequency estimation Window (frame) number40Source: Rabiner & Schafer, 2007
41An application example of cepstrum: pitch frequency estimation 41
42An application example of cepstrum liftering: echo/reverberation removal 42
43An application example of cepstrum liftering: echo/reverberation removal Figure due to Guido Gebl43
44Mel-frequency cepstral coefficients (MFCCs) MFCC is similar to the computation of the real cepstrum, the difference is that instead of using the DFT, where frequency bins are linearly-spaced apart, the signal is passed through a filter bank in which frequency bands are non-linearly spaced apart, but equi-distant on the mel-scale.The mel-scale is roughly linear below 500Hz, and roughly logarithmic above this, and is based on the perceptual model of pitch sensitivity.The MFCCs features are frequently used in speech recognition, and an advantage of MFCCs is that the amplitude spectrum can be summarised by a relatively small number (commonly around 13) of perceptually-relevant features.
45Filter bank for computing MFCCs Speech signal is analysed using STFT.The DFT values at various frequency bands are grouped together in each critical band.They are then weighted according to the weighting function defined by the triangular shape as shown in the next slide.45