Cómo convertir TXT a WAV, MP3, OGG, AAC o FLAC en Ubuntu

Convertir archivos de texto a audio es algo que puede resultar de utilidad no sólo para personas con problemas de visión sino también para cualquiera que desee estudiar o aquellos que siendo lo suficientemente perezosos para leer o careciendo del mínimo espacio de comodidad para hacerlo, disfrutan que les “lean” mientras van en el tren, en el subte, etc.¡Por fin vas a poder guardar en tu reproductor de música tus libros favoritos, resúmenes de la facu, etc. y los vas a poder llevar con vos a donde quieras!

El método que les voy a enseñar en esta oportunidad utiliza el motor Espeak. Existen básicamente 2 maneras de utilizarlo, a través de un GUI (Gespeaker) o a través de un terminal.


Pasos previos:

Espeak ya viene instalado en las últimas versiones de Ubuntu, por eso lo elegimos. Así que lo que resta por instalar y configurar es muy poco.

Utilizando el GUI Gespeaker

1) Instalar Gespeaker:
Ir a la página oficial del proyecto, bajar el paquete .DEB e instalarlo.

Una vez instalado, buscar y ejecutar Gespeaker, disponible en Aplicaciones > Audio y Video > Gespeaker

Al correrlo, se van a dar cuenta de que su utilización es muy intuitiva. Sólo hay que elegir la voz con la que queremos reproducir el texto; en nuestro caso, podría ser spanish o spanish-latin-american. Luego, escribir el texto en la caja de texto principal y, de ser necesario, configurar las opciones “avanzadas” que regulan la velocidad, el volumen, el tono y el “delay” entre palabras de la voz. Finalmente, presionar Play y ¡voilá!

Para guardar ese texto en un archivo de audio, sólo basta con presionar “Record” y elegir la ruta de destino.

2) Instalar las voces Mbrola

Habrán notado que las voces originales suenan un tanto “robóticas”, al estilo “Stephen Hawking”. Para “suavizar” este problema, una posible solución es utilizar las voces Mbrola.

Para ello, primero tenemos que instalar el motor Mbrola. Abrir el terminal y escribir:

sudo apt-get install mbrola

Luego, bajar las voces de Mbrola “es1” y “es2” (si así lo desean también pueden bajar otras),  descomprimir y copiar sólo los archivos del mismo nombre y sin extesión a la carpeta “/usr/share/mbrola”, que deberemos crear en caso de no existir.

Para hacer todo eso bien rápido desde el terminal, copien y peguen todo este choclo:

wget http://www.tcts.fpms.ac.be/synthesis/mbrola/dba/es1/es1-980610.zip &&
wget http://www.tcts.fpms.ac.be/synthesis/mbrola/dba/es2/es2-989825.zip &&
unzip es1-980610.zip &&
unzip es2-989825.zip &&
sudo mkdir /usr/share/mbrola &&
sudo cp ~/es1/es1 /usr/share/mbrola &&
sudo cp ~/es2/es2 /usr/share/mbrola

3) Tunear Gespeaker

Antes de continuar, les recomiendo cerrar Gespeaker si lo tenían abierto. Vuelvan a abrirlo y vayan a Edit > Preferences. En Audio player, pueden elegir entre ALSA y PulseAudio. Mi recomendación es que elijan “PulseAudio”. Todo lo demás puede quedar igual.

Sólo falta ver si Gespeaker detectó correctamente el motor y las voces de Mbrola. Para ello, vayan a la pestaña “Mbrola voices”. Donde dice “Mbrola main application” debe aparecer un mensaje que diga “Package mbrola installed”. Luego, vayan hasta el final de la lista para ver si detectó las voces “spanish-mbrola-1” y “spanish-mbrola-2”. De ser así, vamos por el buen camino.

4) Probar todo…

Finalmente, seleccionar las voces Mbrola en Gespeaker. En la ventana principal del programa, elegir del listado “Language” la voz “Spanish-mbrola-1” o “Spanish-mbrola-2”.

Utilizando el terminal

1) Aprendiendo a usar Espeak desde el terminal

Reproducir el texto ingresado:

espeak --stdout 'Usemos Linux es lo más' | aplay

Reproducir el texto a medida que lo escribís en el terminal:

espeak --stdout | aplay

Reproducir un documento

espeak --stdout -t midocumento.txt | aplay

Reproducir un documento y generar archivo WAV

espeak -t midocumento.txt -w miaudio.wav

Listar todas las voces disponibles

espeak --voicestext

Reproducir utilizando una “voz” determinada

espeak -v en-uk --stdout 'Usemos Linux es el mejor blog del mundo' | aplay

Establecer la cantidad de palabras por minuto reproducidas

espeak -s 140 -f midocumento.txt | aplay

Listar las voces disponibles en un idioma en particular

espeak --voice=es

2) Instalar las voces Mbrola

Para hacerlo, deben seguir los mismos pasos desarrollados en el punto 2 anterior.

Usar las voces Mbrola desde el terminal.

Esto puede resultar un tanto más engorroso, pero a mí me funcionó mejor que Gespeaker. Si bien el motor de conversión es el mismo (espeak + mbrola), la voz de Gspeaker se escuchaba peor, probablemente porque no se puede reducir el delay entre palabras a un número menor a 5. Por eso, les recomiendo que guarden esta página en favoritos para poder acceder a ella en tiempos de necesidad.

Para convertir un archivo de texto a un archivo .WAV usando las voces Mbrola:

espeak -v mb-es1 -f archivotexto | mbrola -e /usr/share/mbrola/es1 - salida.wav

Para simplemente reproducir un archivo de texto usando las voces Mbrola:

espeak -v mb-es1 -f archivotexto | mbrola -e /usr/share/mbrola/es1 - - | aplay -r16000 -fS16

El parámetro -e impide que mbrola se detenga en caso de encontrar un fonemas que no comprenda o reconozca correctamente.

Aunque no es el caso de “es1” y “es2”, es importante tener en cuenta que algunas voces mbrola utilizan un sample rate de 22050 Hz. En tal caso, deberán poner -r22050 en vez de -r16000.

Cómo convertir el resultado final (.WAV) a un .MP3, .OGG, etc.

El método más sencillo es utilizando Sound Converter, una GUI para las librerías gstreamer.

Abrir un terminal e ingresar:

sudo apt-get install soundconverter

Luego ir a Aplicaciones > Audio y Video > Sound Converter y correr el programa. Para configurar los parámetros de conversión ir a Edición > Preferencias. Luego seleccionar el o los archivos a convertir y presionar el botón “Convertir”


5 comentarios

  1.   Usemos Linux dijo

    Buen dato! Gracias Facundo!

  2.   Facundo Peiretti dijo

    Muy bueno!!
    Pero quisiera aclarar una cuestión: Para instalar las otras voces de Mbrola tuve que colocar TODO el contenido del .zip en la carpeta /usr/share/mbrola, ya que de lo contrario (al pegar solo el archivo sin extensión) el programa me decía q no estaba instalado ese “idioma”.

  3.   Helena dijo

    Muy bueno, seguro que le doy mucha utilidad. Gracias.

  4.   edwina dijo

    Excelente aportacion muchas gracias.

  5.   Daniel Esteban Buccafusca dijo

    Buenos días, e seguido todos los pasos, inclusiva instale el gespeaker por terminal pero no se corre este programa, el espeaker, desde el terminal se escucha.

Deja un comentario

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

*

*

  1. Responsable de los datos: Miguel Ángel Gatón
  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.