IngDiaz

De Texto a voz en Ubuntu – Síntesis de voz o habla

Hola, Hola!

La síntesis de voz o síntesis de habla se define como la producción artificial del habla mismo. Quizás de las voces más comunes en Internet, tenemos a la voz de Carlos o Jorge, las voces usadas por la gente que hacen vídeos con Loquendo TTS (el típico Ja Ja Ja xd xd xd xd). En el mundo del software libre tenemos un programita llamado Festival; éste último, es un sistema de síntesis de voz de propósito general para múltiples lenguajes desarrollado originalmente por el Centro de Investigación de Tecnologías del Lenguaje de la Universidad de Edinburgo, la Universidad Carnegie Mellon así como otros centros de enseñanza han realizado contribuciones substanciales al proyecto.

En una entrada anterior, se comentó sobre esto mismo pero para plataforma Windows.

Para instalar en Ubuntu, en una terminal, digitar lo siguiente:

sudo apt install festival

Ya lo tenemos instalado; ahora necesitamos una voz en español. Desde éste momento les afirmo que ésta voz es de las más «pasables» que hay y que es opensource, por cuanto no pidan mucho xD

En la siguiente URL podrán encontrar la voz masculina y femenina que crearon la gente de Guadalinex (Hispavoces):

https://github.com/guadalinex-archive/hispavoces/tree/master/packages

Yo les recomiendo seguir éste proceso (instalar la voz masculina):

wget https://raw.githubusercontent.com/guadalinex-archive/hispavoces/master/packages/festvox-palpc16k_1.0-1_all.deb
sudo dpkg -i festvox-palpc16k_1.0-1_all.deb

Ahora probaremos si está funcionando bien…

echo "Hola. ¿Cómo está el árbol?" | iconv -f utf-8 -t iso-8859-1|festival --tts

Deberíamos oír la voz masculina respetando las tildes. Nota: antes de tts deben de llevar 2 guiones, no uno…

¡Y eso sería! Bueno, hay otras cositas que se pueden hacer aprovechando lo que ya tenemos…

Script para leer un texto agregado en la línea de comando

Crearemos un script para éste cometido. Todo en consola (y con privilegios de sudo…)

sudo -s
nano /usr/bin/hablar

Dentro de /usr/bin/hablar agregaremos:

echo $1 | iconv -f utf-8 -t iso-8859-1|festival --tts

Ahora le damos los permisos respectivos.

chmod +x /usr/bin/hablar

Ahora, verifiquemos:

hablar «Hola, ésta es la prueba número uno.»

 

Script pata leer el contenido de un archivo de texto

Crearemos un script para éste cometido. Todo en consola (y con privilegios de sudo…)

sudo -s
nano /usr/bin/hablar-texto

Dentro de /usr/bin/hablar-texto agregaremos:

cat $1 | iconv -f utf-8 -t iso-8859-1|festival --tts

Ahora le damos los permisos respectivos.

chmod +x /usr/bin/hablar-texto

Ahora, verifiquemos. Digamos que tenemos un archivo de texto (/opt/leer.txt) que queremos que nos lo lea:

hablar-texto /opt/leer.txt

 

Script para generar un archivo WAV del texto agregado en la línea de comando

Digamos que tenemos una frase que queremos que se haga un archivo de audio (WAV)… Crearemos un script para éste cometido. Todo en consola (y con privilegios de sudo…)

sudo -s
nano /usr/bin/hablar-wav

Dentro de /usr/bin/hablar-wav agregaremos:

echo $1 | iconv -f utf-8 -t iso-8859-1 | text2wave > $2

Ahora le damos los permisos respectivos.

chmod +x /usr/bin/hablar-wav

Ahora, verifiquemos. Digamos que queremos generar el archivo wav en /opt/salida.wav:

hablar-wav «Ésta es una frase.» /opt/salida.wav

 

Script para generar un archivo WAV de un archivo de texto

Crearemos un script para éste cometido. Todo en consola (y con privilegios de sudo…)

sudo -s
nano /usr/bin/hablar-texto-wav

Dentro de /usr/bin/hablar-texto-wav agregaremos:

cat $1 | iconv -f utf-8 -t iso-8859-1 | text2wave > $2

Ahora le damos los permisos respectivos.

chmod +x /usr/bin/hablar-texto-wav

Ahora, verifiquemos. Digamos que tengo un texto en /opt/leer.txt y queremos generar el archivo wav en /opt/salida.wav:

hablar-texto-wav /opt/leer.txt /opt/salida.wav

 

Sé que es básico, pero puede que le sirva a alguien. También se puede convertir de una vez a MP3, pero bueno… eso es todo! Saludos!

Comentarios por Facebook

comentarios