En el reconocimiento automático del habla se utiliza un modelo acústico para representar la relación entre una señal de audio y los fonemas u otras unidades lingüísticas que componen el habla. El modelo se aprende a partir de un conjunto de grabaciones de audio y sus transcripciones correspondientes. Se crea tomando grabaciones de audio del habla y sus transcripciones de texto, y utilizando software para crear representaciones estadísticas de los sonidos que componen cada palabra.
Los sistemas de reconocimiento de voz modernos utilizan tanto un modelo acústico como un modelo de lenguaje para representar las propiedades estadísticas del habla. El modelo acústico modela la relación entre la señal de audio y las unidades fonéticas del lenguaje. El modelo de lenguaje es responsable de modelar las secuencias de palabras del lenguaje. Estos dos modelos se combinan para obtener las secuencias de palabras de mayor rango correspondientes a un segmento de audio determinado.
La mayoría de los sistemas de reconocimiento de voz modernos funcionan con el audio en pequeños fragmentos conocidos como fotogramas con una duración aproximada de 10 ms por fotograma. La señal de audio sin procesar de cada fotograma se puede transformar aplicando el cepstrum de frecuencia mel . Los coeficientes de esta transformación se conocen comúnmente como coeficientes cepstrales de frecuencia mel (MFCC) y se utilizan como entrada para el modelo acústico junto con otras características.
Recientemente, el uso de redes neuronales convolucionales ha dado lugar a grandes mejoras en el modelado acústico. [1]
El audio se puede codificar a distintas frecuencias de muestreo (es decir, muestras por segundo; las más comunes son: 8, 16, 32, 44,1, 48 y 96 kHz) y a distintos bits por muestra (los más comunes son: 8 bits, 16 bits, 24 bits o 32 bits). Los motores de reconocimiento de voz funcionan mejor si el modelo acústico que utilizan se entrenó con audio de voz que se grabó a la misma frecuencia de muestreo/bits por muestra que el habla que se está reconociendo.
El factor limitante para el reconocimiento de voz basado en telefonía es el ancho de banda en el que se puede transmitir la voz. Por ejemplo, un teléfono fijo estándar solo tiene un ancho de banda de 64 kbit/s a una frecuencia de muestreo de 8 kHz y 8 bits por muestra (8000 muestras por segundo * 8 bits por muestra = 64000 bit/s). Por lo tanto, para el reconocimiento de voz basado en telefonía, los modelos acústicos deben entrenarse con archivos de audio de voz de 8 kHz/8 bits.
En el caso de la voz sobre IP , el códec determina la frecuencia de muestreo/bits por muestra de la transmisión de voz. Los códecs con una frecuencia de muestreo/bits por muestra más alta para la transmisión de voz (que mejoran la calidad del sonido) requieren modelos acústicos entrenados con datos de audio que coincidan con esa frecuencia de muestreo/bits por muestra.
Para el reconocimiento de voz en una PC de escritorio estándar, el factor limitante es la tarjeta de sonido . La mayoría de las tarjetas de sonido actuales pueden grabar a frecuencias de muestreo de entre 16 kHz y 48 kHz de audio, con velocidades de bits de 8 a 16 bits por muestra y reproducir hasta 96 kHz.
Como regla general, un motor de reconocimiento de voz funciona mejor con modelos acústicos entrenados con datos de audio de voz grabados a frecuencias de muestreo/bits por muestra más altas. Pero usar audio con una frecuencia de muestreo/bits por muestra demasiado alta puede ralentizar el motor de reconocimiento. Es necesario llegar a un compromiso. Por lo tanto, para el reconocimiento de voz de escritorio, el estándar actual son los modelos acústicos entrenados con datos de audio de voz grabados a frecuencias de muestreo de 16 kHz/16 bits por muestra.