Vocoders 1 The Channel Vocoder analyzer n The

  • Slides: 73
Download presentation
Vocoders 1

Vocoders 1

The Channel Vocoder (analyzer): n The channel vocoder employs a bank of bandpass filters,

The Channel Vocoder (analyzer): n The channel vocoder employs a bank of bandpass filters, ¨ Each having a bandwidth between 100 HZ and 300 HZ. ¨ Typically, 16 -20 linear phase FIR filter are used. n The output of each filter is rectified and lowpass filtered. ¨ The bandwidth of the lowpass filter is selected to match the time variations in the characteristics of the vocal tract. n For measurement of the spectral magnitudes, a voicing detector and a pitch estimator are included in the speech analysis. 2

The Channel Vocoder (analyzer block diagram): Rectifier Lowpass Filter A/D Converter Bandpass Filter Rectifier

The Channel Vocoder (analyzer block diagram): Rectifier Lowpass Filter A/D Converter Bandpass Filter Rectifier Lowpass Filter A/D Converter S(n) Encoder Bandpass Filter To Channel Voicing detector Pitch detector 3

The Channel Vocoder (synthesizer): 16 -20 linear-phase FIR filters n Covering 0 -4 k.

The Channel Vocoder (synthesizer): 16 -20 linear-phase FIR filters n Covering 0 -4 k. Hz n Each having a bandwidth between 100300 Hz n 20 ms frames, or 50 Hz changing of spectral magnitude n LPF bandwidth: 20 -25 Hz n Sampling rate of the output of the filters: 50 Hz n 4

The Channel Vocoder (synthesizer): n Bit rate: ¨ 1 bit for voicing detector ¨

The Channel Vocoder (synthesizer): n Bit rate: ¨ 1 bit for voicing detector ¨ 6 bits for pitch period ¨ For 16 channels, each coded with 3 -4 bits, updated 50 times per second ¨ Then the total bit rate is 2400 -3200 bps ¨ Further reductions to 1200 bps can be achieved by exploiting frequency correlations of the spectrum magnitude 5

The Channel Vocoder (synthesizer): n At the receiver the signal samples are passed through

The Channel Vocoder (synthesizer): n At the receiver the signal samples are passed through D/A converters. n The outputs of the D/As are multiplied by the voiced or unvoiced signal sources. n The resulting signal are passed through bandpass filters. n The outputs of the bandpass filters are summed to form the synthesized speech signal. 6

The Channel Vocoder (synthesizer block diagram): D/A Converter Bandpass Filter ∑ Channel Decoder From

The Channel Vocoder (synthesizer block diagram): D/A Converter Bandpass Filter ∑ Channel Decoder From D/A Converter Output speech Bandpass Filter Voicing Information Switch Pitch period Random Noise generator Pulse generator 7

The Phase Vocoder : n The phase vocoder is similar to the channel vocoder.

The Phase Vocoder : n The phase vocoder is similar to the channel vocoder. n However, instead of estimating the pitch, the phase vocoder estimates the phase derivative at the output of each filter. n By coding and transmitting the phase derivative, this vocoder destroys the phase information. 8

The Phase Vocoder (analyzer block diagram): Short-term magnitude Lowpass Filter Decimator Differentiator Lowpass Filter

The Phase Vocoder (analyzer block diagram): Short-term magnitude Lowpass Filter Decimator Differentiator Lowpass Filter Encoder S(n) Compute Short-term Magnitude And Phase Derivative To Channel Decimator Short-term phase derivative 9

The Phase Vocoder (synthesizer block diagram, kth channel): Decimate Short-term amplitude Channel Decoder From

The Phase Vocoder (synthesizer block diagram, kth channel): Decimate Short-term amplitude Channel Decoder From Cos Interpolator ∑ Integrator Decimate Sin Interpolator Short-term Phase derivative 10

The Phase Vocoder : n n n n LPF bandwidth: 50 Hz Demodulation separation:

The Phase Vocoder : n n n n LPF bandwidth: 50 Hz Demodulation separation: 100 Hz Number of filters: 25 -30 Sampling rate of spectrum magnitude and phase derivative: 50 -60 samples per second Spectral magnitude is coded using PCM or DPCM Phase derivative is coded linearly using 2 -3 bits The resulting bit rate is 7200 bps 11

The Formant Vocoder : n The formant vocoder can be viewed as a type

The Formant Vocoder : n The formant vocoder can be viewed as a type of channel vocoder that estimate the first three or four formants in a segment of speech. n It is this information plus the pitch period that is encoded and transmitted to the receiver. 12

The Formant Vocoder : n Example of formant: ¨ (a) : The spectrogram of

The Formant Vocoder : n Example of formant: ¨ (a) : The spectrogram of the utterance “day one” showing the pitch and the harmonic structure of speech. ¨ (b) : A zoomed spectrogram of the fundamental and the second harmonic. (a) (b) 13

The Formant Vocoder (analyzer block diagram): F 3 B 3 F 2 B 2

The Formant Vocoder (analyzer block diagram): F 3 B 3 F 2 B 2 F 1 B 1 Input Speech Pitch And V/U Decoder V/U F 0 Fk : The frequency of the kth formant Bk : The bandwidth of the kth formant 14

The Formant Vocoder ( F 3 B 3 F 2 B 2 F 1

The Formant Vocoder ( F 3 B 3 F 2 B 2 F 1 B 1 V/U F 0 synthesizer block diagram) : F 3 F 2 ∑ F 1 Excitation Signal 15

Linear Predictive Coding : n The objective of LP analysis is to estimate parameters

Linear Predictive Coding : n The objective of LP analysis is to estimate parameters of an all-pole model of the vocal tract. n Several methods have been devised for generating the excitation sequence for speech synthesizes. n LPC-type of speech analysis and synthesis are differ primarily in the type of excitation signal that is generated for speech synthesis. 16

Synthesis Lattice Structure Periodic Impulse generator Voiced Switch White Noise generator + + +

Synthesis Lattice Structure Periodic Impulse generator Voiced Switch White Noise generator + + + Unvoiced + … + k(M; m) Z-1 Gain … Z-1 + + + k(2; m) + Z-1 + + + S´ (m) k(1; m) + Synthesized speech Z-1 estimate 17

LPC 10 : n This methods is called LPC-10 because of 10 coefficient are

LPC 10 : n This methods is called LPC-10 because of 10 coefficient are typically employed. n LPC-10 partitions the speech into the 180 sample frame. n Pitch and voicing decision are determined by using the AMDF and zero crossing measures. 18

A General Discrete-Time Model For Speech Production Pitch Gain s(n) DT Voiced Impulse generator

A General Discrete-Time Model For Speech Production Pitch Gain s(n) DT Voiced Impulse generator G(z) Glottal Filter Speech Signal U(n) Voiced V Volume velocity U H(z) Vocal tract Filter R(z) LP Filter Uncorrelated Unvoiced Noise generator Gain 19

Residual Excited LP Vocoder : n Speech quality can be improved at the expense

Residual Excited LP Vocoder : n Speech quality can be improved at the expense of a higher bit rate by computing and transmitting a residual error, as done in the case of DPCM. n One method is that the LPC model and excitation parameters are estimated from a frame of speech. 34

Residual Excited LP Vocoder : n The speech is synthesized at the transmitter and

Residual Excited LP Vocoder : n The speech is synthesized at the transmitter and subtracted from the original speech signal to form the residual error. n The residual error is quantized, coded, and transmitted to the receiver n At the receiver the signal is synthesized by adding the residual error to the signal generated from the model. 35

Residual Excited LP Vocoder : n The residual signal is low-pass filtered at 1000

Residual Excited LP Vocoder : n The residual signal is low-pass filtered at 1000 Hz in the analyzer to reduce bit rate n In the synthesizer, it is rectified and spectrum flattened (using a HPF), the lowpass and highpass signals are summed and the resulting residual error signal is used to excite the LPC model. n RELP vocoder provides communication-quality speech at about 9600 bps. 36

RELP Analyzer (type 1): 1) S(n) Buffer And window f (n; m) ∑ e

RELP Analyzer (type 1): 1) S(n) Buffer And window f (n; m) ∑ e (n; m) Residual error LP Parameters Encoder st. LP analysis Excitation To Channel parameters LP Synthesis model 37

RELP Analyzer (type 2): 2) S(n) Buffer And window f (n; m) st. LP

RELP Analyzer (type 2): 2) S(n) Buffer And window f (n; m) st. LP analysis Inverse Filter Prediction Residual Lowpass Filter To Decimator DFT Encoder Channel LP Parameters 38

Synthesizer for a RELP vocoder From Channel Decoder Buffer And Controller Residual Interpolator Rectifier

Synthesizer for a RELP vocoder From Channel Decoder Buffer And Controller Residual Interpolator Rectifier Highpass Filter ∑ LP model Parameter updates LP synthesizer Excitation 39

Multipulse LPC Vocoder n RELP needs to regenerate the highfrequency components at the decoder.

Multipulse LPC Vocoder n RELP needs to regenerate the highfrequency components at the decoder. âA crude approximation of the high frequencies n The multipulse LPC is a time domain analysis-by-synthesis method that results in a better excitation signal for the LPC vocal system filter. 40

Multipulse LPC Vocoder n The information concerning the excitation sequence includes: the location of

Multipulse LPC Vocoder n The information concerning the excitation sequence includes: the location of the pulses ¨ an overall scale factor corresponding to the largest pulse amplitude ¨ The pulse amplitudes relative to the overall scale factor ¨ n n n The scale factor is logarithmically quantized into 6 bits. The amplitudes are linearly quantized into 4 bits. The pulse locations are encoded using a differential coding scheme. The excitation parameters are updated every 5 msec. The LPC vocal-tract parameters and the pitch period are updated every 20 msec. The bit rate is 9600 bps. 41

Analysis-by-synthesis coder A stored sequence from a Gaussian excitation codebook is scaled and used

Analysis-by-synthesis coder A stored sequence from a Gaussian excitation codebook is scaled and used to excite the cascade of a pitch synthesis filter and the LPC synthesis filter n The synthetic speech is compared with the original speech n Residual error signal is weighted perceptually by a filter n 42

Obtaining the multipulse excitation: (Analysis by synthesis method) Input speech Buffer And LP analysis

Obtaining the multipulse excitation: (Analysis by synthesis method) Input speech Buffer And LP analysis Pitch Synthesis LP Synthesis filter - + ∑ Perceptual Weighting filter W(z) Multipulse Excitation generator Error minimization 43

Code Excited LP : n CELP is an analysis-by-synthesis method in which the excitation

Code Excited LP : n CELP is an analysis-by-synthesis method in which the excitation sequence is selected from a codebook of zero-mean Gaussian sequence. n The bit rate of the CELP is 4800 bps. 44

CELP (analysis-by-synthesis coder) : Speech samples LP Gaussian Excitation codebook Gain Buffer and LP

CELP (analysis-by-synthesis coder) : Speech samples LP Gaussian Excitation codebook Gain Buffer and LP analysis parameters Pitch Synthesis filter Spectral Envelope (LP) Synthesis filter Side information ∑ Perceptual Weighting Filter W(z) Computer Index of Energy Excitation (square and sum) sequence 45

Analysis-by-synthesis coder This weighted error is squared and summed over a subframe block to

Analysis-by-synthesis coder This weighted error is squared and summed over a subframe block to give the error energy n By performing an exhaustive search through the codebook we find the excitation sequence that minimize the error energy n 46

Analysis-by-synthesis coder n The gain factor for scaling the excitation sequence is determined for

Analysis-by-synthesis coder n The gain factor for scaling the excitation sequence is determined for each codeword in the codebook by minimizing the error energy for the block of samples 47

CELP (synthesizer) : From Channel decoder Buffer And controller Gaussian Excitation codebook Pitch Synthesis

CELP (synthesizer) : From Channel decoder Buffer And controller Gaussian Excitation codebook Pitch Synthesis filter LP parameters, gain and pitch estimate updates 48

CELP synthesizer n n n Cascade of two all-pole filter with coefficients that are

CELP synthesizer n n n Cascade of two all-pole filter with coefficients that are updated periodically First filter is a long-delay pitch filter used to generate the pitch periodicity in voiced speech This filter has this form 49

CELP Parameters of the filter can be determined by minimizing the prediction error energy,

CELP Parameters of the filter can be determined by minimizing the prediction error energy, after pitch estimation , over a frame duration of 5 msec n Second filter is a short-delay all-pole (vocal -tract) filter and has 10 -12 coefficients that are determined every 10 -20 msec n 50

Example: sampling frequency is 8 khz n subframe block duration for the pitch estimation

Example: sampling frequency is 8 khz n subframe block duration for the pitch estimation and excitation sequence is performed every 5 msec. n We have 40 samples per 5 -msec n The excitation sequence consist of 40 samples n 51

Example: A codebook of 1024 sequences gives good-quality speech n For such codebook size

Example: A codebook of 1024 sequences gives good-quality speech n For such codebook size , we require 10 bits to send codebook index n Hence the bit rate is reduced by a factor of 4 n The transmission of pitch predictor parameters and spectral predictor brings the bit rate to about 4800 bps n 52

Low-delay CELP coder CELP has been used to achieve toll-quality speech at 16000 bps

Low-delay CELP coder CELP has been used to achieve toll-quality speech at 16000 bps with low delay. n Although other types of vocoders produces high quality speech at 16000 bps these vocoders buffer 10 -20 msec of speech samples n 53

Low-delay CELP coder The one way delay is of the order of 20 -40

Low-delay CELP coder The one way delay is of the order of 20 -40 msec n With modification of CELP, it is possible to reduce the one-way delay to about 2 ms n Low-delay CELP is achieved by using a backward-adaptive predictor with a gain parameter and an excitation vector size as small as 5 samples n 54

Low-delay CELP coder Input Speech Buffer and window Excitation Vector quantizer codebook Gain adaptation

Low-delay CELP coder Input Speech Buffer and window Excitation Vector quantizer codebook Gain adaptation + LP (high-order) Synthesis filter - Predictor adaptation ∑ Perceptual Weighting Filter W(z) Error minimization 55

Low-delay CELP coder n Pitch predictor used in the conventional forward-adaptive coder is eliminated

Low-delay CELP coder n Pitch predictor used in the conventional forward-adaptive coder is eliminated n In order to compensate for the loss in pitch information, the LPC predictor order is increased significantly , to an order of 50 56

Low-delay CELP coder n LPC coefficients are updated more frequently, every 2. 5 ms

Low-delay CELP coder n LPC coefficients are updated more frequently, every 2. 5 ms n 5 -sample excitation vector corresponds to an excitation block duration of 0. 625 msec at an 8 -khz sampling rate 57

Low-delay CELP coder n The logarithm of the excitation gain is adapted every subframe

Low-delay CELP coder n The logarithm of the excitation gain is adapted every subframe excitation block by employing a 10 th-order adaptive linear predictor in the logarithmic domain n The coefficients of the logarithmic-gain predictor are updated every four blocks by performing an LPC analysis of previously quantized excitation signal blocks 58

Low-delay CELP coder The perceptual weighting filter is also 10 th order and is

Low-delay CELP coder The perceptual weighting filter is also 10 th order and is updated once every four blocks by employing an LPC analysis on frames of the input speech signal of duration 2. 5 msec n The excitation codebook in the low-delay CELP is also modified compared to conventional CELP. n 10 -bit excitation codebook is employed. n 59

Vector Sum Excited LP : n The VSELP coder and decoder basically differ in

Vector Sum Excited LP : n The VSELP coder and decoder basically differ in method by which the excitation sequence is formed. n In next block diagram of the VSELP, there are three excitation source. n One excitation is obtained from the pitch period state. n The other two excitation source are obtained from two codebook. 60

VSELP Decoder : Long-term Filter state Codebook 1 ∑ Pitch synthesis filter Spectral envelop

VSELP Decoder : Long-term Filter state Codebook 1 ∑ Pitch synthesis filter Spectral envelop (LP) synthesis filter Spectral Synthetic post filter Speech Codebook 2 61

VSELP Decoder LPC synthesis filter is implemented as a 10 -pole filter and its

VSELP Decoder LPC synthesis filter is implemented as a 10 -pole filter and its coefficients are coded and transmitted every 20 ms. n Coefficients are updated in each 5 -ms frame by interpolation n Excitation parameters are also updated every 5 ms n 62

VSELP Decoder 128 codewords in each of the two codebooks n codewords are constructed

VSELP Decoder 128 codewords in each of the two codebooks n codewords are constructed from two sets of seven basis codewords by forming linear combinations of the seven basis codewords n The long-term filter state is also a codebook with 128 codeword sequences n 63

VSELP Decoder n n In each 5 -msec frame, the codewords from this codebook

VSELP Decoder n n In each 5 -msec frame, the codewords from this codebook are filtered through the speech system filter and correlated with the input speech sequence The filtered codeword is used to update the history and the lag is transmitted to the decoder 64

VSELP Decoder Thus the update occurs by appending the best-filtered codeword to the history

VSELP Decoder Thus the update occurs by appending the best-filtered codeword to the history codebook n The oldest sample in the history array is discarded n The result is that the long-term state becomes an adaptive codebook n 65

VSELP Decoder The three excitation sequence are selected sequentially from each of three codebooks

VSELP Decoder The three excitation sequence are selected sequentially from each of three codebooks n Each codebook search attempts to find the codeword that minimizes the total energy of the perceptually weighted error n Once the codewords have been selected the three gain parameters are optimized n 66

VSELP Decoder Joint gain optimization is sequentially accomplished by orthogonalizing each weighted codeword vectors

VSELP Decoder Joint gain optimization is sequentially accomplished by orthogonalizing each weighted codeword vectors prior to the codebook search n These parameters are vector quantized to one of 256 eight-bit vectors and transmitted in every 5 -ms frame. n 67

Vector Sum Excited LP : n The bit rate of the VSELP is about

Vector Sum Excited LP : n The bit rate of the VSELP is about 8000 bps. ¨ Bit allocations for 8000 -bps VSELP Parameters Bits/5 -ms Frame Bits/20 ms 10 LPC coefficients Average speech energy Excitation codewords from two VSELP codebooks Gain parameters Lag of pitch filter - 38 5 14 8 7 56 32 28 Total 29 159 68

VSELP Decoder n Finally, an adaptive spectral post filter is employed in VSELP following

VSELP Decoder n Finally, an adaptive spectral post filter is employed in VSELP following the LPC synthesis filter this post filter is a pole-zero filter of the form 69

DEMO Speech Codec Male Speaker Female Speaker Music Original Speech/Music (16 -bit sampled at

DEMO Speech Codec Male Speaker Female Speaker Music Original Speech/Music (16 -bit sampled at 8 KHz) FS-1015 (LPC-10 e 2. 4 kb/s) FS-1016(CELP 4. 8 kb/s) IS-54 ( VSELP 7. 95 kb/s) G. 721 (32 kb/s ADPCM) 70

n n Standard Voice Algorithms G. 711 The most widely used digital representation of

n n Standard Voice Algorithms G. 711 The most widely used digital representation of voice signals is that of the G. 711 or ¨ PCM (Pulse Code Modulation). This codec represents a 4 k. Hz band limited voice ¨ ¨ n signal sampled at 8 k. Hz using 8 bits per sample A-law or m-law coding. G. 726 The protocol for the G. 726 codec requires a 64 kbps A-Law or m-law PCM signal to ¨ be encoded into four different bit rate options ranging from 2 bits per sample to 5 ¨ bits per sample. The algorithm is based on Adaptive Differential Pulse Code Modulation ¨ (ADPCM) and is based on 1 sample backward prediction scheme. ¨ 71

n G. 728 n n The G. 728 algorithm compresses PCM codec voice signals

n G. 728 n n The G. 728 algorithm compresses PCM codec voice signals to a bit rate of 16 kbps. This algorithm is based on a strong backward prediction scheme and is by far considered as one of the most complex voice algorithms to be produced by the ITU standard organization. n G. 729 n n For compression of voice signals at 8 kbps the G. 729 algorithm offers toll quality with built in algorithmic delays of less than 15 msec. Additional features described in the G. 729 Annex ensure VAD 1 and Comfort Noise Generation functionalities to enhance the quality and reduce the overall bit rate. n G. 723. 1 n The most widely used algorithm for band limited channels, such as Vo. IP and video conferencing, is that of G. 723. 1. The algorithm has two operating bit rates of 6. 3 kbps and 5. 3 kbps. Although the delay is not as low as that of the other ITU standards its quality is near toll quality for the given low bit rates, making it very efficient in bit usage. n n n n 72

n GSM 2—AMR n n The latest GSM standard is the multi rate Adaptive

n GSM 2—AMR n n The latest GSM standard is the multi rate Adaptive Code Excited Linear Prediction that provides compression in the range of 4. 75 to 12. 2 kbps. In total the codec provides 12 bit rates that cover the half rate to full rate channel capacity. n GSM—FR n The first digital codec used in a mobile environment is the GSM Full Rate vocoder. The codec compresses 13 bit PCM sample signals to a rate of 13 kbps. The algorithm is based on a very simple Regular Pulse Excited – Linear Prediction Coding technique. n n GSM—HR n To increase capacity, the GSM committee decided on a lower bit rate of 5. 6 kbps for the voice channel. The algorithm is based on the Vector Sum Excited Linear Predictive (VSELP) and is computationally as complex as other low bit rate algorithms. n n 73