Convertir texto a voz. Algunas alternativas para Linux

Convertir texto a voz

Por diversos motivos; discapacidad, deseo de aprovechar el tiempo en viajes o espera o, simplemente por preferencia personal, la posibilidad que nos dan los ordenadores de convertir el texto en audio, ya sea leyéndolo o convirtiéndolo en un archivo para escuchar más adelante, es una característica muy utilizada.

Windows y Android disponen de manera nativa de la capacidad de lectura con voces que si bien conservan algunas características que siguen identificando su origen artificial, de todas formas resultan agradables al oído.

A esto, se le suma una serie de programas, gratuitos y de pago, que aprovechan al máximo esas características.

Después de recordar que Windows es de pago y Android recopila datos para Google, debemos decir que Linux todavía no está a la altura aunque, podemos arreglárnosla para alcanzar resultados pasables. Por otra parte, aunque existen opciones para Linux de calidad comercial (y, por supuesto, que hay que pagar) en este artículo vamos a  concentrarnos en opciones gratuitas y de código abierto.

Herramientas para convertir texto a voz

Speech-Dispatcher

Si usas el visor de libros electrónicos de Calibre, verás que en Linux te pide que instales un paquete llamado Speech-Dispatcher. Este demonio del sistema actúa como un enlace entre los programas que quieren convertir texto a voz y los programas que se encargan de la síntesis de voz.

De los programas comentados en este artículo funciona con Espeak y Festival.

Se trata de una aplicación que está en los repositorios por lo que puedes buscarla por su nombre para instalarlo desde el gestor de paqutes.

Espeak/Espeak NG

Para probar los siguientes comandos, deberás crear un archivo de texto, escribir algo y guardarlo como prueba.txt

Espeak es una utilidad de conversión de texto a voz utilizada por las herramientas de lectura de pantalla de muchas distribuciones Linux por lo que puedes instalarla desde sus repositorios. Se usa tanto desde la línea de comandos como por medio de programas con interfaz gráfica como Gespeaker o Kmouth (Ambas en repositorios).

La mayoría de las voces disponibles en Espeak suenan robóticas,  pero, se entienden bastante bien y, no hay restricción para su uso.

Espeak NG es una versión más compacta del anterior.

Para convertir un archivo de texto a voz
Español de España
espeak -f prueba.txt -v es -w prueba.wav

Español de latinoamérica
espeak -f prueba.txt -v es-419 -w prueba.wav

Ayuda y mas información
man espeak

Festival

Otra de las herramientas disponibles en los repositorios es Festival. Incluye las mismas característica de las dos anteriores, además de la posibilidad de leer lo que vamos escribiendo.

Podemos ver la lista de lenguajes instalados con:
ls /usr/share/festival/languages/

Leer un archivo
festival --language castillian_spanish --tts prueba.txt
Más información
man festival
La voz por defecto en español es clara, aunque robótica, pero tiene problemas con los diptongos. Festival no genera archivos de audio.

Pico Text to Speech Engine

Es el sintetizador de voz de la versión de código abierto de Android. La voz es mucho más natural,aunque pone restricciones a la extensión del texto. La encuentras en los repositorios bajo el nombre de ibttspico-utils.

Para convertir de texto a archivo de voz usamos el comando:
pico2wave -l es-ES -w prueba.wav "$(cat prueba.txt)"

Podemos encontrar más información escribiendo:
pico2wave –help

gTTS

Esta aplicación utiliza la misma biblioteca que el traductor de Google usa para demostrar la pronunciación de una palabra. Aunque está en los repositorios,  puede que por ser una versión antigua, no logre comunicarse con los servidores de Google por lo que es mejor instalarla desde los repositorios de PyPy.org

Para esto tenemos que asegurarnos que tenemos instalado el paquete python3-pip y después escribir:

sudo pip3 install gTTS

Luego hacemos lo siguientes:

sudo nano ~/.profile

Y agregamos esta línea

export PATH="$HOME/.local/bin:$PATH"

Guardamos con CTRL O y guardamos con  CTRL X

Podemos ver los lenguajes disponibles escribiendo

gtts-cli --all

Para convertir (en este caso a mp3) un archivo de texto, hacemos:

gtts-cli -f prueba.txt --l es --output test.mp3

Google pone límites al uso que podemos hacer del programa, pero  yo pude generar archivos de hasta una hora de duración.


Deja tu comentario

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

*

*

  1. Responsable de los datos: AB Internet Networks 2008 SL
  2. Finalidad de los datos: Controlar el SPAM, gestión de comentarios.
  3. Legitimación: Tu consentimiento
  4. Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal.
  5. Almacenamiento de los datos: Base de datos alojada en Occentus Networks (UE)
  6. Derechos: En cualquier momento puedes limitar, recuperar y borrar tu información.