Sintesis de voz usando Linear Predictive Coding LPC

El sistema de Codificación Lineal Predictiva (Linear Predictive Coding) conocido como LPC, (1971) es uno de los diferentes métodos para la producción de voz de manera artificial. Éste sistema parte  de una aproximación electrónica al sistema fisiológico en donde la vibración de las cuerdas vocales es una señal sinusoidal que produce los sonidos vocales y una fuente de ruido blanco para los no-vocales. El tracto vocal es modelado mediante un sistema de filtrado cuyas bandas corresponden directamente a las frecuencias formantes del fonema a reproducir. La característica fundamental de LPC es que la señal de voz viene reducida a su expresión más simple. Se conservan solamente las frecuencias formantes del fonema a producir y se deja de lado la vibración que la produjo.

Esto se hace con objeto de ahorrar información, ya que LPC privilegia el contenido del discurso sobre naturalidad del hablante es por eso que la síntesis por LPC tiene esa característica “robótica” en su timbre. Abajo se muestra un ejemplo de una frase codificada usando LPC:

La implementación en software de un sistema LPC está basada en la expresión matemática (1). Donde S(n) representa la señal de voz original, la suma de dicha señal  retrasada k muestras pasadas desde 1 hasta p multiplicadas por sus amplitudes Ak es su aproximación artificial. Finalmente e(n) es la diferencia o error existente entre ambas.

  (1)

La función de transferencia está representada en la ecuación (2), en donde la expresión (1) puede entenderse como un filtro A(z) cuya entrada es E(z) y su salida S(z).

 (2)

La reconstrucción de la señal es obteniendo los valores de los diferentes coeficientes del filtro Ak se hace mediante un sistema de ecuaciones simultáneas que se resuelve por matrices. El método de resolución se conoce como Levinson-Durbin y está ampliamente documentado en la literatura especializada. Generalmente se eligen 13 coeficientes para conservar la inteligibilidad de la frase como fue el caso en el audio arriba mostrado. Éste ejemplo fue implementado en Matlab por Carlos Acosta en el Laboratorio de Tecnologías del Lenguaje de la Facultad de Ingeniería de la UNAM.

El sistema LPC ha sido ya superado por otros sistemas de síntesis de voz que son capaces de reconstruir la señal de voz con mucha mayor naturalidad e inteligibilidad. Se menciona en éste texto dado que es la base teórica de la parametrización de voz del Par Espectral Lineal o Linear Spectral Pair (LSP) el cual sostenemos que es una buena alternativa vigente que puede fácilmente coexistir con los coeficientes de Frecuencia Mel Mel Frequency Cepstral Coefficients (MFCC) que son un estándar en parametrización de voz.

El sistema de filtrado de una señal sinusoidal/ruido blanco sigue en uso y es muy eficiente para la producción de sonidos vocales, independientemente del sistema previo de selección de fonemas que se haya empleado. Este sistema por ejemplo es el recurso de hacer síntesis en el sistema HTS Hidden Markov Models as Text to Speech Synthesis.

 

 

Advertisements

One thought on “Sintesis de voz usando Linear Predictive Coding LPC

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s