Reconocimiento de voz - Extracción de características MFCC y PLP

1. Descripción

        El reconocimiento de voz es una tecnología que utiliza computadoras y sistemas de software para convertir el lenguaje hablado de las personas en texto o comandos legibles por computadora. Utiliza algoritmos de procesamiento de señales de voz para reconocer y comprender el habla humana y convertirlo a un formato procesable por computadora. La tecnología de reconocimiento de voz se usa ampliamente en muchos campos, como asistente de voz, control de voz, traducción de voz, búsqueda de voz, contestador telefónico automático, etc.

2. Preguntas básicas planteadas

Volviendo al reconocimiento de voz, nuestro objetivo es encontrar la mejor secuencia de palabras correspondientes al audio en función de los modelos acústicos y de lenguaje.

Para crear el modelo acústico, nuestra observación X se representa mediante una serie de vectores de características acústicas ( x₁, x₂, x₃, ... ). En el artículo anterior , analizamos cómo las personas expresan y perciben el habla. En este artículo, discutimos cómo extraer características de audio de lo que hemos aprendido.

3. Requisitos de reconocimiento de voz

Primero definamos algunos requisitos para la extracción de funciones en ASR (Reconocedor automático de voz). Dado un clip de audio, extraemos características de audio utilizando una ventana deslizante de 25 ms de ancho.

Este ancho de 25 ms es suficiente para que capturemos suficiente información, pero las características dentro de este marco deben permanecer relativamente estáticas. Si hablamos 4 palabras por segundo con 3 teléfonos, y cada llamada se subdivide en 3 fases, entonces hay 36 estados por segundo o 28 milisegundos por estado. Entonces, la ventana de 25 ms es correcta.

fuente

El contexto es muy importante en el habla. La pronunciación cambia según la pronunciación antes y después de la llamada. Cada ventana deslizante tiene una separación de aproximadamente 10 ms, por lo que podemos capturar la dinámica entre cuadros para capturar el contexto adecuado.

El tono varía de persona a persona. Sin embargo, esto hace poco para identificar lo que dijo. F0 está relacionado con el tono. No tiene ningún valor en el reconocimiento de voz y debe eliminarse. Más importantes son los formantes F1, F2, F3,... Para aquellos que tengan problemas para seguir estos términos, les recomendamos leer primero el artículo anterior .

También queremos que las características extraídas sean sólidas para quién es el orador y el ruido en el entorno. Además, como cualquier problema de ML, queremos que las funciones extraídas sean independientes de otras funciones. Es más fácil desarrollar modelos y entrenar esos modelos usando características independientes.

Un método popular de extracción de funciones de audio es el coeficiente cepstral de frecuencia Mel  (MFCC), que tiene 39 funciones. Los recuentos de características son lo suficientemente pequeños como para obligarnos a aprender información de audio. Doce parámetros están relacionados con la amplitud de frecuencia. Nos da suficientes canales de frecuencia para analizar el audio.

El siguiente es el proceso de extracción de características MFCC.

Los objetivos principales son:

  • Eliminar excitación de cuerdas vocales (F0) - información de tono.
  • Haga que las características extraídas sean independientes.
  • Se adapta a la forma en que los humanos perciben el volumen y la frecuencia del sonido.
  • Capture el movimiento (contexto) del teléfono.

4. Coeficiente de cepstrum de frecuencia Mel

        Vamos a repasarlo paso a paso.

Conversión de analógico a digital

La conversión A/D muestrea un clip de audio y digitaliza el contenido, convirtiendo una señal analógica en un espacio discreto. Normalmente se utiliza una frecuencia de muestreo de 8 o 16 kHz.

fuente

pre-énfasis

El preénfasis aumenta la energía en las frecuencias altas. Para segmentos sonoros como las vocales, las frecuencias más bajas tienen más energía que las frecuencias más altas. Esto se denomina inclinación espectral y está relacionado con la fuente glótica (cómo producen sonido las cuerdas vocales). El aumento de la energía de alta frecuencia hace que la información en formantes más altos sea más accesible para los modelos acústicos. Esto mejora la precisión de la detección de teléfonos móviles. En los humanos, cuando no podemos oír estos sonidos de alta frecuencia, empezamos a tener problemas de audición. Además, el ruido tiene una alta frecuencia. En ingeniería, usamos pre-énfasis para hacer que el sistema sea menos susceptible al ruido introducido más adelante en el proceso. Para algunas aplicaciones solo necesitamos deshacer el impulso al final.

El preénfasis utiliza un filtro para aumentar las frecuencias más altas. Aquí hay una señal de antes y después sobre cómo aumentar las señales de alta frecuencia.

Zhuravsky y Martin, fig. 9.9

ventana

La creación de ventanas implica cortar la forma de onda de audio en marcos deslizantes.

Pero no podemos simplemente cortarlo en el borde del marco. La caída repentina de la amplitud crea mucho ruido, que aparece en las frecuencias altas. Para cortar el audio, la amplitud debe reducirse cerca de los bordes del cuadro.

Sea  w  la ventana aplicada al clip de audio original en el dominio del tiempo.

Algunas alternativas a las ventanas son Hamming y Hanning. La siguiente figura muestra cómo se utilizan estas ventanas para cortar una forma de onda sinusoidal. Como se muestra, para las ventanas de Hamming y Hanning, la amplitud cae cerca de los bordes. (Los bordes de la ventana de Hamming tienen una ligera inclinación, mientras que la ventana de Hanning no.

 La ecuación correspondiente para w es:

Arriba a la derecha está la onda de sonido en el dominio del tiempo. Se compone principalmente de sólo dos frecuencias. Como se muestra, el marco de corte de Hamming y Hanning conserva mejor la información de frecuencia original con menos ruido que la ventana rectangular.

Fuente arriba a la derecha: señal que consta de dos frecuencias

Transformada discreta de Fourier (DFT)

A continuación, aplicamos DFT para extraer información en el dominio de la frecuencia.

Juego de filtros Mel

Como se mencionó en el artículo anterior, las medidas del dispositivo no son lo mismo que nuestra percepción auditiva. Para los humanos, el volumen percibido varía con la frecuencia. Además, la resolución de frecuencia percibida disminuye al aumentar la frecuencia. Es decir, los humanos son menos sensibles a frecuencias más altas. La imagen de la izquierda muestra  cómo la escala Mel asigna frecuencias medidas a frecuencias que percibimos en el contexto de resolución de frecuencia.

fuente

Todas estas asignaciones son no lineales. En la extracción de características, aplicamos filtros de paso de banda triangulares para ocultar la información de frecuencia para imitar la percepción humana.

fuente

Primero, elevamos al cuadrado la salida de la DFT. Esto refleja la potencia del habla en cada frecuencia (x[k]²), lo que llamamos espectro de potencia DFT. Aplicamos estos bancos de filtros triangulares a escala de mel para convertirlo en un espectro de potencia a escala de mel. La salida de cada contenedor de espectro de potencia a escala de mel representa la energía de las múltiples bandas de frecuencia que cubre. Este mapeo se llama Mel binning . La ecuación exacta para la ranura  m  es:

El paso de banda angular de Trainang es más ancho a frecuencias más altas para reflejar el oído humano y menos sensible a frecuencias altas. Específicamente, se espacia linealmente por debajo de 1000 Hz y luego se gira logarítmicamente.

Todos estos esfuerzos intentan imitar cómo la membrana basilar de nuestros oídos detecta las vibraciones del sonido. Al nacer, la membrana basilar contiene aproximadamente 15 000 cabellos dentro de la cóclea. La siguiente figura muestra la respuesta de frecuencia de estos cabellos. Por lo tanto, la respuesta de la forma de la curva a continuación solo se aproxima mediante los triángulos en el banco de filtros Mel.

Imitamos cómo nuestros oídos perciben el sonido a través de estos pelos. En resumen, se modela mediante un filtro triangular utilizando un banco de filtros Mel.

fuente

registro

Espectro de potencia de salida del banco de filtros Mel. Los seres humanos no son tan sensibles a los pequeños cambios de energía a altas energías como lo son a niveles bajos de energía. De hecho, es logarítmico. Por lo tanto, nuestro siguiente paso será eliminar los registros de la salida del grupo de filtros Mel. Esto también reduce las variantes acústicas que no son importantes para el reconocimiento de voz. A continuación, debemos abordar otros dos requisitos. Primero, necesitamos eliminar la información F0 (tono) y hacer que las funciones extraídas sean independientes de otras funciones.

Cepstrum — IDFT

A continuación se muestra el modelo para la producción del habla.

fuente

Nuestra pronunciación controla la forma de nuestro tracto vocal. El modelo de filtro fuente combina las vibraciones producidas por las cuerdas vocales con los filtros producidos por nuestra pronunciación. La forma de onda de la fuente glótica será suprimida o amplificada a diferentes frecuencias por la forma del tracto vocal.

Ceps trum es el reverso de las primeras 4 letras de la palabra "spectrum". Nuestro siguiente paso es calcular el cepstrum que separa la fuente glótica y el filtro. La figura (a) es el espectro, donde el eje y es la magnitud. La figura (b) toma el logaritmo de la magnitud. Mirando de cerca, las ondas fluctúan entre 8 y 1000 unas 2000 veces. De hecho, alrededor de 1000 fluctuaciones por 8 unidades. Esto es alrededor de 125 Hz, la fuente de vibraciones de las cuerdas vocales.

pablo taylor [2008]

Como se observa, el espectro logarítmico (primer gráfico a continuación) se compone de información relacionada con el teléfono (segundo gráfico) y el tono (tercer gráfico). Los picos en el segundo gráfico identifican los formantes que distinguen las llamadas. Pero, ¿cómo los separamos?

fuente

Recuerde que los períodos en el dominio del tiempo o de la frecuencia se invierten después de la transformación.

Recuerde que la información de tono tiene un período corto en el dominio de la frecuencia. Podemos aplicar una transformada de Fourier inversa para separar la información de tono de los formantes. La información de tono se mostrará en el centro y a la derecha, como se muestra en la imagen a continuación. El pico en el medio en realidad corresponde a F0, y la información relacionada con el teléfono estará en el extremo izquierdo.

Aquí hay otra visualización. La línea continua en el gráfico de la izquierda es la señal en el dominio de la frecuencia. Consiste en la información del teléfono y la información del terreno de juego dibujada con líneas de puntos. Después de IDFT (Transformada de Fourier discreta inversa), la información de tono con un período de 1/T se convierte en un pico alrededor de T a la derecha.

fuente

Entonces, para el reconocimiento de voz, solo necesitamos el coeficiente más a la izquierda y descartamos los demás. De hecho, MFCC solo toma los primeros 12 valores cepstrales. Hay otra propiedad importante asociada con estos 12 coeficientes. El espectro de potencia logarítmica es real y simétrico. Su DFT inversa es equivalente a la Transformada discreta del coseno (DCT).

DCT es una transformada ortogonal. Matemáticamente, las transformaciones producen características no correlacionadas. Por lo tanto, las funciones de MFCC son muy irrelevantes. En ML, esto hace que nuestros modelos sean más fáciles de modelar y entrenar. Si modelamos estos parámetros utilizando una distribución gaussiana multivariante, todos los valores fuera de la diagonal en la matriz de covarianza serán cero. Matemáticamente, la salida de esta etapa es

A continuación se muestra una visualización de los 12 coeficientes cepstrales del cepstrum.

fuente

Elementos dinámicos (incrementales)

MFCC tiene 39 funciones. Terminamos con 12 y lo que son el resto. El parámetro 13 es la energía en cada cuadro. Nos puede ayudar a identificar teléfonos móviles.

En la pronunciación, la información contextual y dinámica es importante. Las articulaciones como cierre de parada y liberación pueden identificarse mediante transiciones de formantes. La caracterización de funciones a lo largo del tiempo proporciona información contextual para el teléfono. Los otros 13 valores calculan el valor incremental  d ( t ) a continuación. Mide el cambio de característica del cuadro anterior al cuadro siguiente. Esta es la primera derivada de la función.

Los últimos 13 parámetros son  la dinámica de d ( t ) desde el último cuadro hasta el siguiente. Actúa como  la segunda derivada de c ( t ).

Por lo tanto, los 39 parámetros de características de MFCC son 12 coeficientes cepstrales más el término de energía. Entonces también tenemos 2 conjuntos correspondientes a valores delta y doble delta.

Normalización de media y varianza cepstral

A continuación, podemos realizar la normalización de funciones. Normalizamos la característica por su media y la dividimos por su varianza.  La media y la varianza se calculan utilizando valores de característica j en todos los fotogramas en una sola oración  . Esto nos permite ajustar valores para combatir variaciones en cada registro.

Sin embargo, esto puede no ser confiable si el clip de audio es corto. En su lugar, podemos calcular los valores medios y de varianza de los altavoces o incluso de todo el conjunto de datos de entrenamiento. Este tipo de normalización de características cancelará efectivamente el énfasis previo realizado anteriormente. Así es como extraemos las características de MFCC. Una nota final es que los MFCC no son muy inmunes al ruido.

5. Predicción lineal perceptual (PLP)

Los PLP son muy similares a los MFCC. Motivado por la percepción auditiva, utiliza pre-énfasis de igual volumen y compresión de raíz cúbica en lugar de compresión logarítmica.

fuente

También utiliza regresión lineal para finalizar los coeficientes cepstrales. PLP tiene una precisión ligeramente mejor y una robustez de ruido ligeramente mejor. Pero otros ven a MFCC como una apuesta segura. En esta serie, cuando decimos extraer funciones MFCC, también podemos extraer funciones PLP.

6. Posdata

        ML crea modelos para dominios problemáticos. Para problemas complejos, esto es muy difícil y el método suele ser muy heurístico. A veces la gente piensa que estamos pirateando el sistema. El método de extracción de características en este documento se basa en gran medida en los resultados empíricos y las observaciones. Con la introducción del aprendizaje profundo, podemos entrenar modelos complejos con menos hacks. Sin embargo, ciertos conceptos siguen siendo válidos e importantes para el reconocimiento de voz de DL.

        Siguiente: Para obtener una comprensión más profunda del reconocimiento de voz, debemos examinar dos algoritmos de ML en detalle.

Supongo que te gusta

Origin blog.csdn.net/gongdiwudu/article/details/131980228
Recomendado
Clasificación