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