Probando Amazon Alexa (en una Beaglebone Black)

En España aún no se comercializa Amazon Echo, pero si dispones de una placa de desarrollo Beaglebone Black (o una Raspberry Pi),  tienes la posibilidad de experimentar con Alexa, el asistente de voz de Amazon detrás de  de su nueva plataforma Amazon Voice Service.  Hace unas semanas tuve que preparar una entrevista para Amazon Alexa, así que decidí instalar un cliente de Alexa en mi Beaglebone para poder conocer de primera mano el producto. Documento brevemente en esta entrada el proceso por si a alguien le interesa.

En la web para desarrolladores de Amazon puedes encontrar varios ejemplos de clientes para Alexa, aunque yo he usado como base AlexaPi, un proyecto que, a diferencia de los proporcionados por Amazon,  está escrito en Python y usa librerías de código abierto (como pocketsphinx) para la detección del comando de voz  que “despierta” a Alexa (aunque el reconocimiento de voz en Alexa se realiza en la nube, el comando inicial se procesa sobre el hardware local).

Sólo son necesarias unas pequeñas modificaciones para adaptar el código de AlexaPi a la Beaglebone Black:

https://github.com/fcojersanchez/AlexaPi

La instalación es muy sencilla. Añadiendo una tarjeta de sonido USB a nuestra Beaglebone Black, y conectando un micro y un speaker, podemos comenzar a interactuar con Alexa (eso sí, en inglés o alemán, los dos únicos idiomas implementados hasta la fecha):

Aunque con más retraso que el deseable entre pregunta y respuesta (debido a que hay que optimizar el código que corre en la Beaglebone), el cliente de Alexa funciona bastante bien sobre este hardware.

Además de question answering (responder a peticiones realizadas usando lenguaje natural: este artículo describe como funciona el QA de Evi, uno de los sistemas que forman parte de Alexa), la posibilidad de desarrollar e instalar nuevas aplicaciones (o skills, como las denomina Amazon) basadas en Alexa, hace de ésta una potente plataforma doméstica.

A pesar de este enorme potencial, Alexa está encontrando algunos problemas (MIT Tech Review: AI voice assistant apps have a big problem) en la interacción con el usuario, por lo que es posible que Amazon esté ya usando la gran cantidad de datos provenientes de Alexa para mejorar este producto.