domingo, 22 de junio de 2014

EasyVr y la instalación de su software

Después de tanto tiempo sin publicar una entrada, he tomado de nuevo las riendas del Blog. Y que mejor manera que empezar con este magnífico modulo de reconocimiento de voz. Así que nada después de esta pequeña introducción hay que ponerse manos a la obra.

Lo primero de todo vamos a analizar físicamente el módulo Easy VR, yo adquirí la el modelo que viene en shield, es un poquito mas caro, pero es mucho mas cómodo para conectar en el Arduino.
En la imagen obtenida del datasheet, podemos ver que el módulo esta dividido en varios conectores.


J1, J2,J3, J4-> Corresponden al Shield,. son los pines de nuestro Arduino.
J9-> Conector Jack de 3.5mm para auriculares de 16 a 32 ohmios
J10-> Salida del altavoz, tenemos que conectar un Speaker de 8 ohmios.
J11-> Es la conexión de micrófono.
J12-> Esta opción es bastante importante, según la posición del Jumper establecemos el modo de trabajo del módulo.
    -UP:  Flash Update Mode, es usada para actualizar el firmware o descargar las tablas de sonido.
    -PC:  Pc Connection Mode, en este modo estaremos conectados directamente con el módulo EasyVR.
    -HW: Hardware Serial Mode, controlaremos el módulo(sketch) a través de los puertos serie físicos.
    -SW: Software Serial Mode, por último con esta modo controlamos el módulo desde los puertos serie por software (pines 12-13)
J13-> Pines I/O 3.0 VDC TTL Level

Una vez hecho un pequeño análisis físico vamos a instalar el software que nos facilita el fabricante TIGAL Veear de nuestro módulo de reconocimiento de voz. Lo podemos descargar en la página Web http://www.veear.eu/downloads/, nos descargaremos EasyVrComander, que es el soft que nos permite programar el módulo de voz, cuando digo programar me refiero acceder al contenido de lo que tiene almacenado en memoria, para añadir Triggers o comandos de reconocimiento de voz, tablas de sonidos...
La versión que voy a descargar es la de abril de 2014, esto es importante ya que al principio cuando comencé a utilizar el módulo instalé la versión EasyVR-Commander-3.3.7 la cual daba muchos problemas con W7 y no había otra que runearla en Windows Xp. Ahora mismo estoy en Windows Xp, pero lo he probado en Windows7 y con esta última versión de EasyVR Commander funciona perfectamente.
Descomprimimos el Comander y nos ponemos a instalarlo,durante la instalación nos va a preguntar si queremos instalar varios paquetes adicionales Quickshyntesis, fluentChip,Quick2TSI, obviamente si.


Una vez que terminamos la instalación, abriremos EasyVrComander para irnos familiarizando con él y realizar la primera comunicación con nuestro módulo de voz.


Vamos a alizar la primera comunicación y veremos lo que yo tengo almacenado en este momento.
Tenemos que fijarnos en los Jumper de la izquierda del módulo(J12), y lo cambiaremos a la posición PC. Una vez hecho simplemente nos dirigimos a EasyVr Commander, seleccionamos el puerto Com de nuestro Arduino, en mi caso es el COM5 y hacemos click en connect, si la comunicación se ha completado con éxito nos aparecerá abajo en la ventana a la derecha "Connected to Easy VR  on Com5", tal y como vemos en la imagen.

En el cuadro Group List a nuestra izquierda lo encontramos dividido en 3 columnas, Index, Description y Commands. Aquí aparecen registradas tanto las palabras de reconocimiento de voz que tenemos entrenadas en nuestro dispositivo, así como la tabla de sonidos.
Podemos ver que tengo simplemente un comando de Trigger, es decir mi módulo cuando se encuentra encendido y en reposo, esta a la espera del reconocimiento de una palabra que yo he definido como Trigger, en este caso es "ARDUINO".
Justo debajo encontramos 15 grupos, donde almacenaremos nuestras palabras que entrenemos en nuestro módulo, para su posterior sincronización con el Sketch de código.
También podemos establecer una password, y por último tenemos la tabla de sonidos que hemos quemado en la memoria, más adelante explicaré como hacerlo. Podemos escuchar los sonidos de la Sound table, para ello seleccionamos el grupo soundtable, escogemos un sonido y hacemos click en la opción Play, nuestro sonido será reproducido a través del módulo EasyVR, obviamente tenemos que tener conectado un altavoz para poderlo escuchar, yo tengo conectado uno de 8ohmios, tal y como se indica en el manual.


Bien ahora voy a explicar como entrenar una palabra, es bastante sencillo. Seleccionamos el Grupo donde queremos crear la instrucción, en mi caso va a ser en Group 1 y hacemos click en "Add Command", podemos poner el nombre que queremos, en mi caso he puesto GAS.


Una vez hecho conectamos el micrófono a nuestro Pc y comprobamos en Windows u otro software que esta habilitado correctamente para grabación, y seleccionamos la opción "Train Command". Nos aparecerá una nueva ventana en la cual nos indica que pulsemos la opción Phase 1 para hacer la grabación de nuestro comando. Nos pide dos tomas, para que el entrenamiento sea correcto.


Si todo ha salido bien, nos tiene que aparecer nuestro nuevo comando de voz sin conflictos y entrenado 2 tiempos, igual que en el comando que yo he llamado temperatura.


Una vez que hemos entrenado el módulo y añadido nuestra tabla de sonidos, EasyVR Commander tiene una opción para generarnos el  código del Sketch directamente, que nos va a simplificar mucho las cosas a la hora de trabajar con el código, ya que yo la primera vez lo hice a mano y era bastante complejo.



Por último desconectamos el módulo con la opción Disconnect y colocamos el Jumper en la posición correcta dependiente lo que vayamos a hacer.

Ahora si abrimos con el programa de Arduino el Sketch generado con la opción "Generate Code", podemos ver el código creado con comentarios y simplemente ya nos podemos dedicar a modificar el programa a nuestro gusto, para darle el funcionamiento que queramos a nuestro Arduino.


No tenemos que olvidarnos que hay que descargar desde la página Web del fabricante las librerías para poder compilar nuestro Sketch...
En la siguiente entrada explicaré como crear y descargar al módulo la tabla de sonidos que queramos.
Ahora os dejo este vídeo del funcionamiento del módulo trabajando como un termómetro, al cual he conectado nuestro amigo el sensor de temperatura LM35. Arduino mide la temperatura con el sensor en la entrada analógica A0, la interpreta y nos da la respuesta en grados centígrados.

13 comentarios:

  1. Hola amigo me podrías ayudar? en que posición debo colocar el jumper a la hora de cargar mi código cuando ya lo he modificado a mi gusto??
    De antemano mis agradecimientos y saludos desde Ecuador!!
    mi mail: navarretej20@hotmail.com

    ResponderEliminar
  2. Hola me podrías pasar el código ya que no entiendo muy bien como colocar el comando "ARDUINO" en el trigger y luego que salte el sonido "beep", te agradecería un mundo ya que es para un proyecto de la U.
    jossbosi@gmail.com

    ResponderEliminar
  3. Hola... gracias por el tutorial, te comento, descargué e instalé el easyVR pero aún no tengo en físico el módulo del easyVR, también tengo la tabla de sonido pero NO puedo pasar la tabla del QuickSynthesis5 al easyVR ¿sabes por que no puedo hacer eso? ¿es necesario tener el físico del easyVR y conectarlo para hacer pruebas?
    PDTA:si lo ejecuté como administrador y ya importé las librerías en el arduino; gracias y espero su pronta respuesta

    ResponderEliminar
  4. Hola Jesús,
    si, me temo que necesitas tener el módulo físico para poder operar con el programa EasyVr. Cualquier otra duda puedes preguntar sin problemas, un saludo.

    ResponderEliminar
  5. me poridras ayudar a como borrar mi tabla de sonidos, para poder grabar otras.. TE LO AGRADECERIA GRACIAS

    ResponderEliminar
  6. Muy buen post!
    Tengo una pregunta
    Necesito hacer un proyecto con este módulo, pero quisiera saber si el módulo puede funcionar como un grabador...
    En sí, necesito que este módulo pueda grabar en una tarjeta SD un archivo .mp3 para luego poder manipularlo y hacer otras aplicaciones

    Muchas gracias y saludos desde Ecuador!

    ResponderEliminar
  7. Que interesante!...se puede agregar mas de un micrófono? ¡como!... Saludos.

    ResponderEliminar
  8. Que interesante!...se puede agregar mas de un micrófono? ¡como!... Saludos.

    ResponderEliminar
  9. Hola jose Buenos dias muy interesante el modulo., me podrias ayudar en como instalo el modeluo para hacer un prototipo de ascensor para que trabaja con la voz humana

    ResponderEliminar
  10. Tambien mi correo es vacp_175@hotmail.com gracias..

    ResponderEliminar
  11. hola amigo buenas noches!! me podrias explicar como conecto el easyvr sin el shiel de antemano muchas gracias.
    email: victor.23514140797@ucaldas.edu.co

    ResponderEliminar
  12. hola amigo buenas noches!! me podrias explicar como conecto el easyvr sin el shiel de antemano muchas gracias.
    email: victor.23514140797@ucaldas.edu.co

    ResponderEliminar