Cada bloco/frame é descodificado individualmente e a sequência dos
blocos/frames de voz, quando reproduzida (ou sintetizada), irá assemelhar-se ao sinal de voz dado como input.
O descodificador, efectua a síntese LPC usando os
parâmetros de produção de voz que recebe do codificador para construir
um filtro, o chamado filtro LPC, que tenta imitar o tracto vocal no processo de
produção de voz humana.
O filtro LPC não passa de um filtro digital, uma técnica usada em
'Digital Signal Processing' (DSP).
Esta técnica consiste geralmente numa transformação de um número de
samples adjacentes a uma sample do sinal de input.
Os filtros designados de Finite Impulse Response(FIR) baseiam-se apenas
no sinal de input.
Os filtros designados de Ïnfinite Impulse Response, são um caso
particular dos anteriores e baseiam-se no sinal de input e nas samples anteriores do sinal de output.
O filtro LPC, quando lhe é passado o sinal de excitação correcto é capaz de
reproduzir o sinal de voz original (imitando então o processo de produção de
voz humana).
Mais propriamente, a excitação ou turbulência do ar que percorre o
tracto vocal é a fonte do som. Esta pode ser periódica, quando se
produz sons vozeados, ou aleatória, quando se produz sons não
vozeados.
Cada frame é então analisado para determinar se é vozeado ou não
vozeado conforme o parâmetro do pitch.
Isto exactamente para distinguir o tipo de excitação que deve ser
usada no filtro LPC.
Para frames considerados vozeados é usada uma sequência de impulsos
como excitação. O cálculo do pitch no codificador serve agora
para determinar a frequência de cada impulso. Caso não seja vozeado, é
usado uma sequência de números pseudo-aleatórios.
A sequência de impulsos é uma sequência como: 0, ...,0,1,0, ...
,0,1, ...em que o ``um'' ocorre com a frequência que se quiser.
Por exemplo, caso se considere frames de 160 samples (equivalente a 20
msec) e uma frequência de 50 Hz, um impulso ocorrerá 50 vezes por
segundo no inicio da sequência.
Cada segmento de voz tem um filtro LPC diferente que é produzido usando os coeficientes e o ganho que são recebidos do codificador.
O último passo para descodificar um segmento de voz é passar o sinal de excitação no filtro de maneira a sintetizar a voz.
Para garantir que estamos a fazer a síntese correctamente, pode-se
comparar a onda do sinal de voz dado como input e a onda de voz
sintetizada. Isto pode ser feito por exemplo usando o GNU Octave e o
GNU Plot (ver apêndice 1).