Sintesis de voz en la Beaglebone black

Con estas instrucciones conseguiremos que nuestro sistema GNU/Linux sea capaz de sintetizar texto que le proporcionemos, para ello utilizaremos la aplicacion Espeak.

robot

El procedimiento esta dirigido a realizarlo en la Beaglebone pero con minimos ajustes deberia funcionar en cualquier otra distribucion.

El primer paso es comprobar que la tarjeta de sonido esta correctamente configurada y si no es asi hacerlo. La Beaglebone no tiene una tarjeta de sonido propiamente dicha (tiene un dispositivo de audio asociado al interfaz HDMI) por lo que sera necesario adquirir una USB.

Para empezar instalaremos los paquetes necesarios (es posible que esten instalados por defecto):

# apt-get install alsa-base alsa-utils libasound2-dev espeak

Ahora utilizaremos una aplicacion llamada alsamixer para controlar el volumen y la activacion de la salida y entrada de la tarjeta USB.

$ alsamixer

Que nos mostrara una pantalla similar a esta:

alsamixer

Tenemos que seleccionar la tarjeta de sonido que queremos configurar, para ello presionamos F6 y seleccionamos el dispositivo USB.

Para desplazarnos en la nueva pantalla que aparecera solo necitamos las teclar de flechas. Estableceremos el volumen deseado, tanto para el altavoz como para el micro, y nos aseguraremos que los dispositivos esten activados (situandonos encima de los circulos rojos de la captura de mas abajo y pulsando M). El aspecto debe ser igual que el de la captura.

volumen

Con esto tendremos lista la tarjeta de sonido. Si ejecutamos el siguiente comando:

$ aplay –l

Podremos ver que aparecen dos dispositivos (el USB y el HDMI), para indicarle al sistema que siempre utilice por defecto el USB debemos crear el siguiente archivo: /etc/asound.conf y añadirle el siguiente contenido:

pcm.!default sysdefault:Device

Para comprobar que todo es correcto trataremos de grabar sonido por el micro. Este comando grabara 10 segundos de audio y lo guardara en un archivo llamado prueba.wav:

$ arecord -d 10 -r 48000 prueba.wav

Y trataremos de reproducirlo:

$ aplay test.wav

Vamos entonces con la configuracion del sintetizador de voz. Es una aplicacion muy facil de utilizar, para comprobar que todo es correcto solo debemos teclear:

$ espeak "kaixo laguna"

Y podremos disfrutar del euskera con una curiosa entonacion de Idaho   😉

La aplicacion tiene muchas opciones como coger el texto de un archivo o cambiar las voces a un monton de idiomas, pera ver las basicas solo hay que teclear:

$ espeak -h

Parece ser que hay un problema con los paquetes que provee en este momento la version de Debian para Beaglebone: kernel 3.14.26, espeak 1.46.02 y jackd 5, al ejecutar espeak da un error. No he encontrado ninguna manera de solventar el problema por lo que en este momento el sintetizador de voz esta roto en la Beaglebone.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.