Cómo crear tu propio asistente de lenguaje de código abierto con Raspberry Pi

Me hice adicto a Alexa. Una vez que empiezas a usar un altavoz inteligente para fijar recordatorios, reproducir los mensajes o encender las luces, es difícil volver atrás. Pero si quieres la conveniencia del control por voz sin el gigante de la tecnología de recopilación de datos entre bastidores, un proyecto de código abierto llamado Mycroft es una gran alternativa. Y puedes ejecutarlo directamente en un Pi de Frambuesa.

¿Qué es Mycroft?

Mycroft es un asistente de lenguaje de código abierto gratuito diseñado para su uso en dispositivos basados en Linux. Funciona de manera similar a la de Alexa de Amazon y la asistente de Google: Dices una frase como «Hey Mycroft» para despertarlo, le das una orden y él responde con su propia voz generada por computadora.

Mycroft existe desde hace algunos años, pero recientemente ha adquirido cierta notoriedad en Amazon y Google debido a las preocupaciones de privacidad relacionadas con la recopilación de datos. A diferencia de estos magos, Mycroft sólo recoge datos si usted decide hacerlo durante el proceso de configuración. Y para aquellos usuarios que decidan hacerlo, Mycroft promete no vender nunca sus datos a anunciantes o a terceros, sino que sólo los utiliza para ayudar a los desarrolladores a mejorar el producto. Mycroft incluso utiliza el motor de búsqueda orientado a la privacidad DuckDuckGo en lugar de Google como motor de búsqueda cuando se pide información.

Mycroft fabrica su propio altavoz inteligente llamado Mark I, aunque actualmente está agotado y un nuevo Mark II (video arriba) está en camino. Sin embargo, como es un proyecto de código abierto, puedes instalar Mycroft en casi cualquier máquina Linux, incluyendo el Raspberry Pi (gracias a una construcción pre-construida llamada Picroft).

El uso de Mycroft en los Pi es gratuito, pero también puedes suscribirte a un plan de 1,99 dólares al mes para ayudar a desarrollar los Pi – incluso obtendrás algunas cosillas como otras voces que suenan más realistas que la voz estándar de un robot.

Lo que necesitarás

Cómo crear tu propio asistente de lenguaje de código abierto con Raspberry Pi

Para poner en marcha Mycroft, necesitarás una tabla de pi de Frambuesa con todos los accesorios necesarios. Mycroft funciona mejor en un Pi 3 B+ de Frambuesa (aunque acaba de salir una nueva construcción para el Pi 4), así que recomiendo comprar un kit como este para facilitar las cosas. Si lo prefieres, puedes comprar todo pieza por pieza siguiendo las pautas que describimos en nuestra guía para principiantes del Raspberry Pi.

También necesitas un altavoz y un micrófono para que tu asistente de voz pueda hablar (y escuchar) tus órdenes. Mycroft tiene una lista de dispositivos compatibles aquí. Se recomienda encarecidamente que combines el PlayStation Eye con un altavoz analógico, ya que es la combinación más fácil de configurar.

Los altavoces Bluetooth no funcionan bien, pero si tienes un altavoz inalámbrico con una entrada de 3,5 mm, debería funcionar bien. Uso un altavoz de conferencia Jabra Speak 410 que tiene un aspecto limpio y un micrófono incorporado. Se ve bien, pero algunas personas han tenido problemas con él en el pasado, así que sólo iría por este camino si estás dispuesto a retocarlo un poco.

Finalmente, necesitas crear una cuenta en home.mycroft.ai. De esta manera, puedes instalar nuevas funciones en tu dispositivo y configurar ajustes como la zona horaria y otras personalizaciones. Crea esta cuenta ahora porque la necesitarás la primera vez que inicies Picroft.

Cómo instalar Mycroft

Cómo crear tu propio asistente de lenguaje de código abierto con Raspberry Pi

Instalar Mycroft en un Pi de frambuesa es como instalar cualquier otro proyecto Pi. Descargue la imagen del disco estable del sitio de Picroft, junto con Etcher en su computadora de escritorio. Inserta la tarjeta microSD en el PC, inicia Etcher y escribe la imagen de Picroft en la tarjeta. Cuando esté listo, puedes insertar la tarjeta en tu Pi de frambuesa, conectar el micrófono y el altavoz, y conectar la fuente de alimentación al Pi para encenderlo.

Utilicé un teclado y monitor externos para hacer la configuración inicial, pero si no tienes un teclado y monitor adicional por ahí, puedes usar SSH siempre y cuando el pi esté conectado vía Ethernet. Sólo usa «pi» como nombre de usuario y «mycroft» como contraseña. Para la configuración inicial, el pi debe estar conectado a través de Ethernet. Una vez que hayas configurado el Wi-Fi, puedes usar SSH sobre el Wi-Fi.

Cómo instalar Mycroft

Cómo crear tu propio asistente de lenguaje de código abierto con Raspberry Pi

Después de arrancar Pi, o si enciendes SSH, Mycroft te pondrá en una línea de comando y te preguntará si quieres ejecutar la configuración guiada. Pulsa Y para entrar en el asistente, que te ayudará a configurar tu Wi-Fi, configurar el micrófono y probar los altavoces, entre otras cosas. (En caso de duda, siga los ajustes recomendados por Mycroft)

Cuando hayas terminado, Mycroft te arrastrará a la consola normal de Linux (si estás conectado a un monitor) o a la línea de comandos de Mycroft (si estás usando SSH). Si estás en la línea de comandos de Mycroft – se puede saber por el hecho de que dice «Log Output» en la parte superior, con un montón de texto rosa y verde desplazándose por la pantalla – siempre puedes salir de la consola pulsando Ctrl+C para llegar a la línea de comandos de Linux.

Configura tu altavoz

Cómo crear tu propio asistente de lenguaje de código abierto con Raspberry Pi
Tenga en cuenta que algunos altavoces pueden requerir ajustes adicionales para que funcionen. En este caso, puedes simplemente saltarte estos pasos en el asistente. Por ejemplo, en mi Jabra 410 tuve que ejecutar algunos comandos desde la consola de Linux:

 

pactl set-default-sink 0

mycroft-config Set play_wav_cmdline «aplay %1»

mycroft-config Set play_mp3_cmdline «mpg123 %1»

 

Si tiene problemas con el micrófono o el altavoz que ha elegido, puede visitar la página de solución de problemas de audio de Mycroft aquí. Una vez que haya hecho estos cambios, puede que tenga que reiniciar Pi para que surtan efecto:

sudo shutdown -r now

Registro del dispositivo

Cómo crear tu propio asistente de lenguaje de código abierto con Raspberry Pi

Una vez que el audio funcione, oirás al mago de Mycroft pronunciar un código de registro de seis dígitos aproximadamente cada minuto. Necesitarás este código para conectar tu Pi a tu cuenta de Mycroft.

Ve a tu Tablero de Control de Mycroft, haz clic en el icono de usuario en la esquina superior derecha y selecciona Dispositivos. Haz clic en el botón grande de Agregar dispositivo y pasa por el asistente. Puedes establecer tu zona horaria, la palabra de alarma y demás. Cuando se te pida que introduzcas el código de emparejamiento, introduce el código hablado por tu asistente de Mycroft.

Comandos para probar

Cómo crear tu propio asistente de lenguaje de código abierto con Raspberry Pi

Cuando termines, tu asistente de Mycroft te hará saber que está listo para escuchar las órdenes básicas. Aquí hay algunas cosas para probar:

  • «Oye Mycroft, pon la alarma a las 6 pm.»
  • «Oye Mycroft, recuérdame recoger la leche a la 1pm.»
  • «Oye Mycroft, ¿quién era Abraham Lincoln?»
  • «Hola Mycroft, ¿cómo está el clima?»
  • «Oye Mycroft, reproduce las noticias.»

A veces hay un ligero retraso mientras Mycroft toma su respuesta, pero en todas mis pruebas Mycroft ha funcionado muy bien.

Puedes encontrar más ejemplos en la página de habilidades de Mycroft. Las habilidades con una marca verde ya están presentes en su dispositivo, pero puede instalar otras desde esta página – como esta habilidad que controla sus bombillas inteligentes LIFX, o esta que controla los dispositivos inteligentes de su hogar en su Wink Hub.

Definitivamente no es tan versátil como Alexa o el Asistente de Google, y puede que haga falta algún retoque para que ciertas características funcionen de la manera que quieres. Pero es un buen compromiso si te preocupa la privacidad, te entusiasma el código abierto o simplemente quieres hacer algo genial con tu Pi de Frambuesa. Si tiene problemas en la carretera, asegúrese de pedir ayuda a la comunidad de Mycroft ya que están trabajando constantemente para mejorar Mycroft.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)
Compártelo!

Deja un comentario