Buenas noches,

 

Ya he podido recopilar suficiente información sobre el sistema de reconocimiento de órdenes por voz como para poder comentároslo por aquí. Hasta que no me venga el chip no podré hacer las suficientes pruebas como para darlo por bueno, asique ésto es solo una aproximación teórica, de momento. El integrado que me permite reconocer comandos por voz, por hardware, es el HM2007, el cual utiliza una SRAM 8Kx8 para guardar hasta 40 comandos y su número asociado. Veamos los modos del Sistema de Reconocimiento por Voz:

 

El sistema puede ser primeramente de dos tipos, dependiente e independiente del hablante.

  • Dependiente del hablante significa que si dos personas con la misma lengua mandan comandos al HXBot, el robot sólo obedecerá al que haya programado sus comandos con su propia voz, e ignorará los comandos del segundo, ya que es sensible a, por ejemplo la diferencia de timbre, énfasis o dialecto lingüístico de una misma lengua.
  • Independiente del hablante implica que, sean dos personas mandando lenguajes con la misma lengua, son capaces de hacer reaccionar y por tanto controlar al HXBot.

NOTA: Como se puede comprobar, en éste caso conviene más un sistema dependiente, ya que así el usuario es entrenado junto con el HXBot y, en caso de varios HXBot, no hay lugar a confusión de comandos entre ellos.

 

Otra posible diferenciación de estos Sistemas, son los llamados Isolated, Connected, y Continuous:

 

  • Isolated. Llamados también Aislados. El reconocimiento se hace palabra a palabra, una aislada de la otra, habiendo una pausa notable entre una y otra.
  • Continuous. Los sistemas de reconocimiento Contínuos son capaces de reconoces frases seguidas, en lenguaje natural y fluido.
  • Connected. Este tipo está a medio camino entre los Aislados y los Continuos.

NOTA: Para el HXBot, con un sistema tipo Isolated basta, ya que las órdenes serán precisas, claras y concisas, habiendo claras diferencias fonéticas entre unas y otras.

 

 

Este sistema funciona  tal y como sigue:

 

Programando el HM2007

  • Se debe programar los comandos. Para ello, pulsa el nº del comando que quieras programar, pulsa la tecla # y di en voz alta la palabra asociada a dicho comando.
  • Sigue hasta hacerlo con todos los comandos.

 

Probando el HM2007

  • Decir en voz alta la palabra asociada al comando, y el HXBot la ejecutará.

 

El circuito que conseguido encontrar es el siguiente …

… aunque el que ofrece la página oficial [1] del sistema es el siguiente:

 

La 1º imagen corresponde al circuito para poder utilizarlo con Arduino, y el 2º al sistema de prueba que te proponen en su página. Como pueden comprobar, los pines que van del teclado numérico al HM2007 son los mismos que dan interfaz del Arduino al chip. Sin embargo, observo algunas discrepancias en la imagen 1, sobre todo en el envio del comando al microcontrolador. Cuando lo tenga en mis manos veremos si dicho esquema funciona bien, o realmente hay algo que no va tan bien.

 

 

Ahora mismo no puedo dar muchos más detalles como ya dije, por el hecho de que se están retrasando todos los pedidos con esto de las Navidades y la Pascua. Por lo menos me llegó el Arduino Mega (un gran alivio) con todos los componentes que traía la oferta más las piezas de la arquitectura K`nex, y he podido ponerme a crear un pequeño programa que me controle mediante un par de potenciómetros los servos de un prototipo de pata, y así poder los vectores de posición de ellas. De dicho programa hablaré en próximas entradas y entraré en detalles con la estructura del programa del HXBot.

 

Hasta entonces, gracias por leerme.

 

Un saludo,

Ángel Cayetano

 

[1]: http://www.imagesco.com/articles/hm2007/SpeechRecognitionTutorial02.html

Anuncios