Skip to content
/ bla Public

Biblioteca liviana para reconocimiento de habla en español | Lightweight library for speech recognition | Cortex M4F | EDU-CIAA

Notifications You must be signed in to change notification settings

gzalo/bla

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BLA

Biblioteca liviana para Reconocimiento de Habla en español.

La idea es poder integrar de forma sencilla a una aplicación embebida ya existente el reconocimiento de palabras aisladas. Implementando únicamente lo mínimo requerido y de forma optimizada, se espera lograr tasas de errores muy bajas con consumo bajo de recursos.

Se incluye código de prueba para un microcontrolador de 32 bits LPC4337 (ARM Cortex M4/M0) como el de la Computadora Industrial Abierta Argentina (CIAA), en ejemplos/EDU-CIAA-baremetal.

Documentación básica de la API

El proyecto fue desarrollado como trabajo final para la materia "Seminario de Sistemas Embebidos" de la Facultad de Ingeniería de la UBA (FIUBA), en Buenos Aires, Argentina.

Detalles técnicos:

  • Reconocimiento de palabras aisladas, independiente del hablante.
  • La estrategia para detecctar comienzo/fin de palabras se basa en una ventana deslizante, a la cual se le toma la energía. Dicha energía se compara con un umbral (con histéresis).
  • El reconocimiento se basa en calcular los coeficientes MFCC de la señal capturada, y en base a los modelos ocultos de Markov, encontrar la palabra que es más probable que haya generado las observaciones.
  • Los modelos de cada fonema están basados en varios estados que emiten mezclas de Gaussianas, con matrices de covarianza diagonales (internamente almacenada como sus inversas, para usar solo productos y no divisiones)
  • Se corre el algoritmo de Viterbi por cada palabra, lo que encuentra la probabilidad del camino más probable. En base a esta probabilidad se ordenan las distintas palabras.
  • Los cálculos de probabilidades se implementaron en espacios logarítmicos, para evitar problemas numéricos.
  • La señal de audio debe estar muestreada a 16 KHz, de lo contrario es necesario reentrenar los modelos con otros datos de entrenamiento.

Desarrollador: Gonzalo Ávila Alterach / gzalo

About

Biblioteca liviana para reconocimiento de habla en español | Lightweight library for speech recognition | Cortex M4F | EDU-CIAA

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages