Hola a toda la comunidad, hace un tiempo he estado desarrollando una aplicacion, que mas que nada surgio por la inquietud de un amigo que necesitaba de un proyecto para la escuela, primero programe un reconocimiento de voz para jugar Mario Bros, pero no todos los juegos son aptos, o mas bien no quedan con este tipo de cosas jeje.
Bueno, despues de reestructurar mucho codigo y optimizarlo, he logrado controlar mediante comandos de voz el videojuego de crysis 2.
Su funcionamiento se basa mas que nada en el "Microsoft speech recognition" o "Reconocimiento de voz" que viene incorporado en las versiones de windows vista y windows 7, como solamente esta destinado a dictar y controlar el entorno de windows, es muy limitado en este aspecto, en realidad le falta pulir mucho esta caracteristica a microsoft, pero creo que es un desperdicio solo utilizarlo para dictar y moverse en windows, creo que puede sacarse el maximo y llegar a controlar la mayoria de las aplicaciones que tengamos disponibles.
Lo mas complicado o dificil es trabajar con videojuegos, porque las señales para enviar acciones se manejan mediante librerias ajenas al entorno y tambien depende mucho de las caracteristicas del videojuego, pero ya que encontre la forma de hacerlo funcionar no hay limites
¿Que utilice?
Bueno pues primero que nada el SDK que ofrece microsoft y su API Microsoft Speech
¿Como funciona?
Refina lo que seria su diccionario, para solo realice una accion predeterminada segun la frase o palabra filtrada por el reconocimiento de voz, mi programa se conecta con el para comprobar que en verdad se esta diciendo eso y ejecuta :D
Aun no puedo liberar una version, porque deseo que mediante una interfaz puedan configurarlo segun su aplicacion, sin necesidad de hacer un programa o mover codigo por cada programa que queramos utilizar con estas caracteristicas de reconocimiento de voz.
Esto es una pequeña demostracion de como funciona o puede llegar hacer, cuando madure este programa podran descargarlo aqui en Scenebeta :D
Les dejo el video, esperando sea de su agrado....
Comentarios
...
...
Juega con mando! Infinito
Juega con mando!
Infinito desprecio...
Jajajaja, muy chulo, espero que la publiques!
jejeje pues si de hecho me
jejeje pues si de hecho me gusta jugar mas con mando, pero en si trate de hacerlo para juegos tacticos, o donde tienes que controlar a un equipo, por ejemplo dragon rising....y alguna que otra aplicacion jeje. Elegi Crysis porque se ve mas llamativo por el uso del nanotraje jejeje.
Saludos!
Control de voz en Crysis 2
Asombroso la verdad
Asombroso la verdad
.jeje, gracias todavia falta
.jeje, gracias todavia falta mejorar mucho codigo :D, pero espero que dentro de poco tiempo pueda liberar una version mas o menos estable para la comunidad :D
Control de voz en Crysis 2
Pero
Eso es una API de Microsoft no? es decir, una funcion y un IF y debería de funcionar, yo creo que el problema es el sonido de la pantalla, no del codigo.
emmm pues no exactamente, el
emmm pues no exactamente, el chiste es cargar una diccionario y ademas, mandar la señal al juego tampoco es tan facil (autoit y ahk no sirven para este caso) a lo mejor para las aplicaciones que no sean juegos o no utilicen xinput seria sencillo, me refiero a que las señales y las acciones se tienen que pulir para que se responda mas rapido, para mi en lo particular se me hizo mas complicado hacer que el personaje hiciera algo a que reconociera la palabra clave jejeje
Saludos!
Control de voz en Crysis 2
Entonces
La API de Microsoft viene por defecto en ingles y tienes que añadirle un diccionario de Castellano...., que curioso. Y lo de mandar la señal al juego, no funciona un SendKeys.Send("{LO QUE SEA}") ?, que raro... pero vamos, que lo veia muy sencillo, y no lo era tanto ;)