neural network - métodos simples de reconocimiento de voz
neural-network speech-recognition (2)
Sí, soy consciente de que el reconocimiento de voz es bastante complicado (como subestimación). Lo que estoy buscando es un método para distinguir entre quizás 20-30 frases. La capacidad de dividir palabras (el habla discreta está bien) sería agradable, pero no es obligatorio. El software dependerá del usuario (es decir, para su uso). No estoy buscando un software existente, sino una buena manera de hacerlo yo mismo. He analizado varios métodos existentes y parece que dividir el sonido en fonemas, aunque es común, es algo excesivo para mis necesidades.
Por algún contexto, solo estoy buscando una forma de controlar algunos aspectos de mi computadora con unos simples comandos de voz. Soy consciente de que Windows ya tiene un software de reconocimiento de voz, pero me gustaría ir sobre este como un ejercicio de aprendizaje. Los comandos serían simples como "Abrir Google" o "Silenciar". Lo que tenía en mente (no estoy seguro si esta es una buena idea) es que algunos comandos serían compuestos. Entonces "Mute" sería simplemente "Mute". Mientras que el comando "Abrir" podría reconocerse individualmente, y luego tener sus sufijos (Google, Photoshop, etc.). reconocido con otra red / modelo / lo que sea. Pero no estoy seguro si buscar prefijos / saltos de palabras de esta manera produciría mejores resultados que tener que lidiar con un mayor número de comandos individuales.
He estado investigando perceptrones, redes hopfield (aunque son algo anticuadas por lo que entiendo) y HMM, y si bien entiendo las ideas detrás de esto (he implementado las RNAs antes), realmente no sé cuál es El más adecuado para esta tarea. Asumo que los modelos lineales de cuantificación de vectores también serían apropiados, pero no puedo encontrar mucha literatura para este fin. Cualquier orientación / recurso sería muy apreciado.
Hace algún tiempo, leí un libro blanco sobre un sistema de vocabulario limitado, que utilizaba un proceso de reconocimiento simple. El sistema dividió cada enunciado en un pequeño número de bins (6 en tiempo, y 4 en magnitud, si recuerdo correctamente, para 24 en total), y todo lo que hizo fue contar el número de muestras de mediciones de audio en cada bin. Hubo una base de reglas de lógica difusa que luego interpretó cada enunciados 24 conteos de contenedores y generó una interpretación.
Imagino que (para algunas aplicaciones) un simple proceso de coincidencia podría funcionar igual de bien, en el cual los 24 conteos de bin del enunciado actual son simples comparados con los de cada uno de sus prototipos almacenados, y el que tiene la menor diferencia general es el ganador.
Hay algún proyecto de código abierto en reconocimiento de voz:
- HTK (Hidden Markov Models Toolkit)
- Esfinge
Ambos tienen decodificador, capacitación, kits de herramientas de lenguaje. Todo para construir un reconocedor de voz completo y robusto. Voxforge tiene modelos acústicos y de lenguaje para ambos kits de herramientas de reconocimiento de voz de código abierto.