En el siguiente artículo veremos el proceso a seguir para crear nuestros propios audiolibros a partir de un archivo pdf.
El proceso que seguiremos para poder conseguir nuestro objetivo es el que describe a continuación:
- Mediante la herramienta pdftotext convertiremos un fichero .pdf a formato .txt
- Seguidamente dividiremos el archivo de texto .txt en varias partes. Cada parte contendrá una página del archivo pdf inicial.
- A continuación usaremos el sintetizador de voz pico2wave para transformar cada uno de los archivos de texto a un archivo .wav.
- Finalmente, mediante lame transformaremos cada uno de los archivos .wav a .mp3.
La totalidad del proceso que acabo de mencionar lo realizaremos de forma automática mediante un script. De esta forma podremos transformar nuestros archivos pdf en audiolibros de forma sencilla y efectiva.
INSTALACIÓN DE LOS PAQUETES NECESARIOS
El primer paso consiste consiste en instalar los paquetes necesarios para que podamos ejecutar el script sin problemas. Para ello ejecutamos el siguiente comando en la terminal:
sudo apt-get install python poppler-utils lame libttspico-utils coreutils mawk gawk
Una vez instaladas las dependencias necesarias ya podemos descargar el script.
DESCARGAR E INSTALAR EL SCRIPT PARA CONVERTIR ARCHIVOS PDF EN AUDIOLIBROS MP3
Abrimos una terminal y ejecutamos el siguiente comando:
git clone https://github.com/jccall80/pdf2mp3
Una vez descargado el script le damos permisos de ejecución ejecutando el siguiente comando en la terminal:
cd pdf2mp3 && sudo chmod +x pdf2mp3
Seguidamente copiamos el script dentro de la ubicación /usr/bin ejecutando el siguiente comando en la terminal:
sudo cp pdf2mp3 /usr/bin/
En estos momentos el proceso de instalación del script ha finalizado. Ahora tan solo tenemos que ejecutar el script y convertir los archivos pdf que queramos en audiolibros que tendrán el formato .mp3.
CONVERTIR UN ARCHIVO PDF A UN AUDIOLIBRO EN MP3
Tan solo tenemos que abrir una terminal y ejecutar un comando del siguiente estilo:
pdf2mp3 ruta y nombre del archivo pdf
Por lo tanto si en mi caso que convertir el libro de la biografía de Steve Jobs en un audiolibro, tan solo tengo que ejecutar el siguiente comando:
pdf2mp3 '/home/joan/Escritorio/Steve Jobs. La Biografia, Walter Isaacson.pdf'
Nota: Recuerden que con simplemente arrastrar un archivo sobre la terminal se copia la ruta y el nombre del archivo a convertir.
Justo al ejecutar el comando empezará la conversión del archivo .pdf a .mp3.
Una vez finalizado el proceso encontraremos los archivos de audio en la ubicación /tmp/pdf2mp3. Para acceder a esta ubicación ejecutamos el siguiente comando en la terminal:
cd /tmp/pdf2mp3/
A continuación, si ejecutamos el comando ls veremos que en mi dispongo de 839 archivos mp3. Cada archivo corresponde a una página del archivo pdf que he convertido en audiolibro:
Para juntar estos 839 archivos en un único archivo ejecutamos el siguiente comando en la terminal:
cat *.mp3 > final.mp3
Después de ejecutar el comando, dentro de la ubicación /tmp/mp3 encontraremos el archivo final.mp3 que contiene la totalidad de paginas de nuestro libro.
Este archivo lo podemos copiar y escuchar tranquilamente en cualquier reproductor de mp3 como por ejemplo nuestro teléfono, nuestro ordenador, el equipo de audio de nuestro coche, etc.
De esta forma tan sencilla podemos transformar la totalidad de nuestros archivos pdf en audiolibros.
RESULTADO OBTENIDO
A continuación les dejo una muestra del resultado que obtendremos al aplicar el procedimiento de este artículo.
Como pueden observar el resultado obtenido es aceptable y superior al de la gran mayoría de herramientas online que realizan este tipo de conversión.
AJUSTES QUE SE PUEDEN REALIZAR AL SCRIPT
El script usado para convertir archivos pdf a audiolibros en mp3 funcionará a la perfección siempre y cuando el idioma del pdf a transformar esté en Español.
Si el pdf a transformar está en otro idioma deberemos realizar pequeñas modificaciones en el script para obtener resultados aceptables.
Para realizar las modificaciones abriremos el contenido del script original y localizaremos la siguiente línea:
pico2wave -l=es-ES -w="$WAVE" "`cat $FIRST_FILE.lock`"
Una vez encontrada la deberemos modificar en función del idioma en que esté el pdf a transformar. De este modo:
Si el pdf a transformar está en Inglés deberemos reemplazar es-ES por en-US:
pico2wave -l=en-US -w="$WAVE" "`cat $FIRST_FILE.lock`"
En el caso que el pdf a transformar esté en Francés deberemos reemplazar es-ES por fr-FR:
pico2wave -l=fr-FR -w="$WAVE" "`cat $FIRST_FILE.lock`"
En el hipotético caso que el pdf a transformar esté en Italiano deberemos reemplazar es-ES por it-IT:
pico2wave -l=it-IT -w="$WAVE" "`cat $FIRST_FILE.lock`"
Finalmente, si el pdf a transformar está en Alemán deberemos reemplazar es-ES por de-DE:
pico2wave -l=de-DE -w="$WAVE" "`cat $FIRST_FILE.lock`"
Realizando estás simples modificaciones obtendremos resultados aceptables en la totalidad de idiomas que acabo de citar.
Las maravillas que puede hacer la inteligencia artificial =)
Genial,
Tengo una duda, los archivos txt y wav que se hace en el proceso de llegar al .mp3 se eliminan al finalizar el proceso de conversión o hay que borrarlos manualmente y si es así donde se almacenan, muchas gracias por el aporte.
Hola
Los archivos .wav y los .txt los borra. Los .mp3 los debes borrar tú.
Saludos
Hola, Joan Carles.
Me parece muy interesante esta entrada, pero yo estoy buscando precisamente lo contrario. Estos programas en los que basas tu script ¿permiten también generar texto a partir de audio? Porque me vendría genial para generar subtítulos en la plataforma de vídeo que gestiono.
Bueno, ya me dirás. Enhorabuena por el blog, he aterrizado de casualidad y creo que me será muy útil seguirlo.
Saludos.
Hola
No, ninguna de las utilidades que uso puede hacer lo que tu buscas. Tampoco se como hacer lo que tu necesitas. Lo que quieres hacer me parece interesante, pero lo máximo a que llego es a usar en programa que todo lo que le hables por el micro te los escribe, pero nada más.
Saludos
Hola, esta bien explicado y seguí todas las instrucciones al pie de la letra. Uso LinuxMint 18.1 KDE 64 y en el proceso no me dió ningún error, todo se bajó e instaló.
Gracias, me fue muy útil.
Seguiré visitando tu página. Excelente material.
(Y sin egoísmos jeje)
Gracias por tu comentario Gerson,
Saludos
Hola Joan Cales:
Antes que nada felicitarte por esta magnífica «luz en la oscuridad» para los novatos en linux.
Un pensamiento: «¿ Por qué he tardado tanto en abandonar GÚítrows?
Muchas Gracias!
Excelente!!! me fue muy útil y lo mejor es que lo hice en Ubuntu bash de Windows 10 lo recomendaré por todas partes.
Muchas Gracias
Gracias por el dato Rubén.
Saludos
Hola,
«Me funciona» en Linux Mint.
¡La elocución es de muy buena calidad!
¡Genial!
Quiero usarlo en francés y no sé como se abre el contenido del script original para poder hacer la modificación. ¿Me lo puedes decir?
Muchas Gracias
Hola Jesús,
Con cualquier editor de textos podrás abrir y modificar el script. Puedes usar gedit, leafpad, Kate, etc.
Saludos
Hola Joan Carles,
Gracias por contestar…,aunque tuve que espabilarme:
Ignoro si hay una mejor manera pero lo que hice fue lo siguiente:
En mi capeta personal creé un archivo «pdfmp3b» en el cual copié el script modificado y en el terminal reproduje el proceso a partir de «damos permisos de ejecución…», cambiando, en la linea de comandos, todos los «pdf2mp3» por «pdf2mp3b» y ha funcionado.
Me sirvió para aprender algo.
Muchas gracias.
Saludos.
Hola Jesús
Si te funciono perfecto. Como te dije para modificar un script tan solo tienes que abrirlo con el editor de textos que prefieras.
Otra opción seria modificar el script para que antes de ejecutarse te pregunte el idioma en que quieres ejecutarlo. Esta opción require de conocimientos básicos de programación.
Saludos
Hola, Joan. He leído otros artículos tuyos, siempre muy útiles.
Te hago una pregunta de novato. ¿Cómo hago para cambiar las voces del sintetizador de speech?
Gracias.
Hola
El programa sintetizador de voz no permite cambiar la voz.
Saludos
Hola,
Cuando voy a realizar el paso de pasar el pdf a mp3 me sale »permiso denegado», lo he probado arrastrando el archivo pdf a la terminal. Con los anteriores pasos no he tenido problema. Uso Zorin OS.
Un saludo
Hola,
Si te pasa esto tienes que dar los permisos de ejecución correspondientes al usuario con que quieres ejecutar pdf2mp3.
Saludos
Perfecto. me salio a la primera. Hago 2 horas de diarias en el auto mil gracias
excelente, Me salio a la primera. Una pena que no encontré la opción de traducción para el portugués. saludos y muchas gracias.