PREPROCESO DE LA SEÑAL DE VOZ

 

1. Obtención de características mediante el preproceso.

2. Digitalización de la señal analógica.

3. Filtrado antialiasing.

4. Muestreo.

5. Cuantificación y codificación.

6. Preénfasis.

7. Segmentación.

8. Enventanado.


1. Obtención de características mediante el preproceso.

    Durante la fase de preproceso se aplican una serie de cálculos a la señal para obtener los coeficientes que componen unos vectores de características de la voz llamados vectores observación. Estos vectores representarán la señal de voz en las fases de entrenamiento y reconocimiento. La extracción de características de la señal de voz es una tarea difícil sobre la que se ha investigado mucho. También es una tarea importante porque todos los demás procesos de los que consta el reconocimiento dependen de la calidad de las características extraídas. Para realizar el preproceso la señal de voz se divide en una serie de segmentos solapados en el tiempo y se calcula un vector observación para cada uno de ellos. Las características extraídas pueden ser muy simples tales como el índice de cruces por cero o la energía, o más complejos como la transformada de Fourier o el análisis LPC.

    Los parámetros más útiles empleados en reconocimiento de voz se obtienen del dominio de la frecuencia. Incluso aunque algunas características de la señal, por ejemplo la energía, se pueden observar directamente en la forma de onda de la voz, es necesario realizar una transformación al dominio de la frecuencia para discriminar de forma precisa entre sonidos. El problema del análisis y la representación de la voz es todo un reto debido a la variabilidad que existe en las señales de voz, las limitaciones de las herramientas matemáticas actuales (transformada de Fourier, predicción lineal, etc.) al tratar con esta variabilidad, y nuestro conocimiento muy limitado acerca de la percepción y el análisis del habla humana.

    Entre los métodos más útiles de análisis de la voz están aquellos basados en el principio de predicción lineal. Estos métodos son importantes debido a su velocidad de cálculo y su buen rendimiento. La idea básica que hay detrás de la codificación de predicción lineal (LPC) es que una muestra de la señal de voz se puede aproximar como una combinación lineal de las pasadas p muestras anteriores. Minimizando el cuadrado de la diferencia entre las muestras actuales de la señal de voz y las predichas linealmente, se pueden determinar los coeficientes del predictor. Es decir, los coeficientes de peso de la combinación lineal. En primer lugar se digitaliza la señal de voz introducida por el micrófono y, después del análisis de la onda tanto en el dominio del tiempo como en el de la frecuencia, se obtiene un vector observación formado por una serie de coeficientes que resumen sus características. Los pasos que se llevan a cabo durante la fase de preproceso (una vez realizada la digitalización) son los siguientes:

[IMAGEN NO DISPONIBLE]

Figura 4-1. Preproceso de la señal de voz.

    En el preénfasis se reduce el ancho de banda de la señal digitalizada con objeto de aplanar su espectro. La segmentación consiste en dividir en bloques la señal filtrada en el paso anterior. El tamaño de los segmentos debe ser tal que contenga al menos dos periodos fundamentales de la señal de voz. La misión del enventanado consiste en disminuir los efectos perjudiciales de extraer una parte de la señal de todo el conjunto. Para lo cual se aplica una función de ventana que suaviza el comienzo y el final de la onda dentro del segmento. Después del enventanado se aplica a cada ventana la función de autocorrelación obteniéndose los coeficientes de autocorrelación LPC. A partir de éstos se hallan los coeficientes LPC y, a partir de los coeficientes LPC, se calculan los coeficientes cepstrales. A cada vector cepstral resultante se le aplica una función de peso que resalta los diferentes significados de cada coeficiente cepstral. A continuación se derivan con respecto al tiempo los vectores cepstrales ya pesados obteniéndose los coeficientes delta cepstrum. Cada vector observación resultante queda constituido por la concatenación del vector cepstral pesado y su correspondiente vector delta cepstrum.

    La secuencia de vectores observación que se obtienen aplicando estos pasos se convierte en la entrada de la fase de reconocimiento, donde cada palabra a reconocer se representa por un HMM. En la fase de reconocimiento se calculan las probabilidades de que, dado cada uno de los HMMs correspondientes a las palabras del diccionario, la observación de entrada haya sido producida por ese modelo. Al final se escoge la palabra correspondiente al modelo que ofrezca la máxima verosimilitud.

 

2. Digitalización de la señal analógica.

    La parte inicial de todo subsistema de preproceso de la señal de voz está siempre constituida por un micrófono, que convertirá la onda sonora de presión en una señal eléctrica, y un amplificador, que amplificará hasta niveles manejables la débil señal que proporciona el micrófono. Habiendo convertido la voz en una señal eléctrica analógica que la representa fielmente, y ya en el dominio de la electrónica, se pueden utilizar las herramientas que proporciona este campo. Aunque se podría realizar el preproceso de forma analógica existen dos razones básicas para representar digitalmente la señal de voz: primera, mediante el uso de pequeños ordenadores de propósito general se hace posible aplicar una amplia variedad de técnicas de procesamiento digital de la señal. Estas técnicas cubren un rango de complejidad y sofisticación que es imposible abordar con métodos analógicos. Segunda, los desarrollos recientes y futuros en tecnologías de integración de circuitos hacen posible realizar esquemas hardware de proceso de señal económicos, teniendo la misma sofisticación y flexibilidad que una implementación software.

 

3. Filtrado antialiasing.

    El efecto aliasing es una distorsión en el espectro de la señal muestreada debida al solapamiento de frecuencias al realizar el muestreo sin que se cumpla el criterio de Nyquist (expuesto en el siguiente punto). Por lo tanto es necesario realizar un filtrado paso bajo de la señal que asegure la limitación del ancho de banda de la misma, asegurando de esta forma que la señal no tenga componentes de frecuencia mayores a los deseados.

    El filtrado antialiasing se realiza automáticamente en el hardware de adquisición de sonido de acuerdo con la frecuencia con que se le ha indicado que se realice el muestreo. Es decir, la tarjeta de sonido aplica un filtro paso bajo, con frecuencia de corte igual a la mitad de la frecuencia de muestreo, con el objetivo de evitar que se produzcan distorsiones en la señal muestreada debidas a la presencia de frecuencias más altas que las que el muestreo puede manejar correctamente.

 

4. Muestreo.

    El muestreo se encarga de convertir la señal analógica, continua en el tiempo, en una señal discreta en el tiempo. Esto no es más que convertir una señal x(t) en una secuencia de valores x[n] de tal forma que: x[n] = x(nTs), donde Ts es el periodo de muestreo y n es un valor entero. Lo que se hace es tomar una serie de valores de amplitud de la señal correspondientes a instantes de tiempo equiespaciados, Ts, determinando, por lo tanto, la frecuencia con la que se toman las muestras: Fs = 1 / Ts, (frecuencia de muestreo).

    Cuando mayor es fs menor es el tiempo que transcurre entre muestras y se podrán tomar más muestras de la señal en un mismo tiempo, pudiendo reconstruir fielmente señales con un régimen de variación mayor. El principio fundamental del muestreo es el denominado teorema de Nyquist. Enuncia que si la frecuencia de muestreo es mayor o igual al doble del ancho de banda de la señal a muestrear, se podrá recuperar la señal en su totalidad mediante una interpolación basada en funciones seno. Este hecho es importante, ya que nos indica que si el muestreo se realiza de forma correcta no se pierde información. En concreto se podría reconstruir la señal x(t) a partir de sus muestras x[n], si durante el muestreo se cumple la condición de que fs sea mayor o igual a 2W, siendo W el ancho de banda de la señal. La reconstrucción puede llevar a cabo mediante un interpolador que cumpla, por ejemplo la siguiente expresión:

    Normalmente las señales de voz son muestreadas a 8 Khz. Puesto que previamente han sido filtradas a 4 Khz, ya que según el espectro de la señal de voz la mayoría de su energía se concentra entre los 20 y 4000 Hz. La frecuencia de muestreo se ha elegido en este TFC atendiendo a dos pautas fundamentales: por una parte la frecuencia debe ser lo suficientemente elevada como para no perder información importante para la inteligibilidad de la voz, por otra parte, es conveniente respetar los estándares establecidos en la plataforma sobre la que se va a operar.

    Los estudios sobre las características de las señales de voz han demostrado que la mayor parte de la información necesaria para la inteligibilidad del habla se encuentra por debajo de los 4 Khz. De hecho el ancho de banda disponible tradicionalmente en las líneas telefónicas es algo menor de 4 Khz. Es cierto que algunos sonidos emitidos por el aparato fonador presentan frecuencias mucho más elevadas, por ejemplo los sonidos fricativos pueden alcanzar los 10 Khz, pero la pérdida de esta información no supone un déficit sustancial en la información del habla. Por tanto teniendo en cuenta el teorema de Nyquist, con una frecuencia de muestreo de 11025 Hz (la menor frecuencia estandarizada en la plataforma Windows) sería suficiente para los propósitos de reconocimiento de voz.

    Las posibles mejoras que se obtendrían utilizando una frecuencia de muestreo mayor, no compensarían la carga computacional adicional debida a la mayor cantidad de datos a procesar. Las frecuencias de muestreo de 22050 y 44100 Hz se utilizan normalmente para conservar la calidad de las grabaciones musicales cuyas máximas componentes en frecuencia alcanzan los 20 Khz.

 

5. Cuantificación y codificación.

    Una vez se tiene la señal discretizada en el tiempo queda discretizarla en magnitud para tener una señal digital. En la cuantificación el rango total de la amplitud de la señal continua se divide en número finito de subrangos, y las amplitudes de las ondas que están en el mismo subrango se asignan al mismo valor de amplitud. Las características de la cuantificación dependen del número de niveles o de subrangos especificados y de la amplitud de los mismos.

    Para cuantificar una señal con K bits, el número de niveles que garantiza la mayor eficiencia en el uso de las palabra en código binario es 2K. La amplitud y el número de niveles se eligen a la vez para cubrir adecuadamente el rango de la señal. Si XMAX es el valor máximo de la amplitud de la señal, los parámetros de la cuantificación deben elegirse de acuerdo a la siguiente expresión:

donde K es el número de bits empleados en la cuantificación, y D es la amplitud de los intervalos. La diferencia entre el valor muestreado después de la cuantificación y el valor original analógico se conoce como error de cuantificación, ei. Si se han elegido K y D según la expresión (4-2) se tiene que:

    En definitiva, la cuantificación consiste en asignar un valor de entre los 2K valores posibles a las muestras tomadas anteriormente. El número de valores posibles (niveles) determina la precisión de la cuantificación. Se puede realizar la cuantificación de manera uniforme, donde los escalones de la cuantificación tienen el mismo tamaño, o de manera no uniforme, existiendo en este caso diferentes maneras de asignar tamaños a los escalones, beneficiando cada uno de ellos a distintos tipos de señales. Normalmente se usan escalones del mismo tamaño, y K suele tomar los valores 8 ó 16 (uno o dos bytes).

    La codificación consiste en asignar un código binario de K bits a cada uno de los escalones de la cuantificación. Existen múltiples formas de realizar la codificación que presentan distintas soluciones a distintos problemas, ya sean de recuperación de errores en la transmisión, múltiples pasos por cero de la señal, procesamiento matemático, etc. Teniendo en cuenta la relación de Nyquist se puede determinar el flujo de información (f ), en bits por segundo, resultante del proceso combinado de muestreo y cuantificación, como:

    Para señales de voz adquiridas directamente en el dominio del tiempo, este flujo suele oscilar entre 50 y 300 Kbits/s. En el caso de este TFC en el que fs = 11025 Hz y K = 16 bits, el flujo de información de la señal de voz es de 176’4 Kbits/s.

 

6. Preénfasis.

    Una vez digitalizada, la señal de voz presenta las irregularidades propias de un muestreo. Es entonces necesario aminorar el efecto de las rápidas variaciones que refleja la señal, para ello se aplica un filtro digital en el dominio de la frecuencia. De esta manera se aplana el espectro de la señal y ésta se hace más robusta a la hora de realizar el preproceso. El filtro que suele emplearse es el siguiente:

(en este TFC se ha aplicado con a = 0,95). Pasando esta función de transferencia del plano Z al dominio del tiempo se tiene que hay que pesar la señal de entrada según esta ecuación:

que constituye un filtro paso alto, donde S(n) es la señal de entrada y S’(n) es la resultante filtrada.

 

7. Segmentación.

    El análisis de la señal de voz, como ya se ha apuntado anteriormente, se desarrolla segmentando la señal en bloques que se tratan individualmente. Normalmente los segmentos se localizan espaciados uniformemente en el tiempo a intervalos regulares. Se sabe, por lo visto en el apartado 3.4 (Análisis por intervalos cortos de tiempo), que si un segmento es lo suficientemente pequeño, las propiedades de la señal permanecerán sustancialmente invariables. Esto es debido a que el aparato fonador invierte cierto tiempo en la transición desde un punto articulación a otro.

 

    Para elegir la duración de los segmentos es preciso considerar ciertas propiedades de la señal de la voz. Si se escoge una longitud de segmento de entre 10 y 45 ms hay bastantes posibilidades de conseguir una parte representativa de la señal. Sin embargo, si el intervalo de tiempo es demasiado corto, inferior a un periodo fundamental de la señal, se corre el peligro de que las características interesantes se oculten debido a las rápidas variaciones que se producen en la parte de la señal elegida. En el reconocedor diseñado en este TFC se ha optado por una longitud de segmento de 45 ms. Para calcular el número de muestras que componen cada intervalo hay que multiplicar la duración del segmento por la frecuencia de muestreo:

    Para evitar los efectos negativos provocados al tomar un segmento que contenga una transición de una zona de la señal cuasi-estacionaria a la siguiente, se usa la técnica del solapamiento de segmentos. Este método consiste en tomar una separación entre los comienzos de cada segmento menor que la longitud de los segmentos, con lo que se produce un solapamiento entre los mismos. En este caso se ha tomado una separación de 15 ms, es decir, un solapamiento de 30 ms (0’030 segundos x 11025 muestras/segundo » 330 muestras). De esta forma se logra evitar la pérdida de representatividad de un segmento que contenga una transición, debido a las distintas características de las dos zonas diferenciadas que presenta.

 

8. Enventanado.

    El proceso de segmentación supone extraer una parte de la señal separándola de todo el conjunto, esto provoca un efecto negativo para el análisis de la evolución en el tiempo de las características de la señal. La solución a este problema reside en aplicar a cada segmento una función ventana, que suaviza los bordes del intervalo haciendo que estos tiendan a cero, y resalta la parte central acentuando las propiedades características del segmento. La expresión matemática de la aplicación de una ventana es la siguiente:

donde Sl(n) es la señal segmentada, l es el índice que representa el comienzo de cada segmento, V(n) es la función ventana aplicada, y N es el tamaño en número de muestras del segmento. Debido a que lo que en definitiva se hace es una convolución de la señal de voz con la función ventana, la señal resultante incluirá la respuesta frecuencial de la ventana. Por tanto la elección del tipo de ventana a utilizar es importante puesto que influirá en los procesos posteriores. La función ventana más comúnmente utilizada en al análisis de la señal de voz, y la que se aplica en este TFC, es la llamada ventana Hamming. Su mayor virtud radica en que mantiene un buen equilibrio entre su duración temporal y su resolución en frecuencia. Su gráfica y la expresión correspondiente se muestran a continuación:

Figura 4-2. Representación gráfica de una ventana Hamming.