Tutoriales

Audiogenipy: crea audiolibros en Linux usando Python y gTTS

Generar audiolibros a partir de archivos de texto es un proyecto divertido y práctico que puedes completar fácilmente con Pitón. Ya sea que quieras escuchar tu libro favorito, un documento extenso o un artículo que escribiste, Python te lo pone fácil. Convertir texto a voz. En esta guía paso a paso, explicaremos cómo Crear audiolibros a partir de archivos de texto Utilice un script de Python llamado audiología en linux. Los pasos que se indican a continuación también se aplican a macOS y Windows.

Qué necesitas

Antes de continuar, necesitará lo siguiente:

  1. Python está instalado: Asegúrese de que Python esté instalado en su computadora. En Linux, Python viene preinstalado. De lo contrario, puede instalarlo utilizando un administrador de paquetes preestablecido, p. sudo apt install python En sistemas basados ​​en DEB.
  2. audiología: Script Python para convertir archivos de texto en audiolibros.
  3. biblioteca gTTS: usaremos gTTS La biblioteca (Google Text-to-Speech) convierte texto a voz. necesitarás punto Instale esta biblioteca.
  4. archivo de texto: Prepare un archivo de texto que contenga contenido para convertirlo en un audiolibro.

¿Qué es Audiogenipy?

audiología es un script de Python simple que puede convertir fácilmente archivos de texto en audiolibros. Detrás de escena, Audiogenipy utiliza Texto a voz de Google (gTTS) biblioteca, que utiliza la avanzada tecnología de conversión de texto a voz de Google para convertir cualquier archivo de texto en audio de alta calidad.

La biblioteca gTTS proporciona voz natural en varios idiomas. A diferencia de otros servicios de Google, no necesita una clave API para usarlo gTTS. Funciona nada más sacarlo de la caja.

gTTS es una biblioteca gratuita de código abierto. Utiliza la API gratuita de texto a voz de Google, que también es gratuita para uso personal y no comercial.

Ya sea que desee escuchar su libro favorito, un documento extenso o su propio escrito, Audiogenipy convierte fácilmente texto en voz con una mínima intervención del usuario.

límite

a pesar de gTTS Es gratis, pero tiene algunas limitaciones:

  • límite de tasa: Google puede imponer un límite de tasa en la cantidad de solicitudes que puede realizar en un período de tiempo determinado.
  • Sin sonidos personalizados: esta biblioteca no admite sonidos personalizados o específicos del usuario. Sólo utiliza voces previamente entrenadas por Google.
  • Sin modo fuera de línea: gTTS Se requiere una conexión a Internet para funcionar, ya que depende de los servidores de Google para la conversión de texto a voz.

Paso 1: instale la biblioteca gTTS

El primer paso es instalar gTTS Biblioteca. Abra una terminal y ejecute el siguiente comando:

pip install gTTS

Esto instalará la biblioteca, que le permite convertir texto a voz utilizando la API de texto a voz de Google.

Paso 2: preparar el documento de texto

Crea un archivo de texto con el contenido que deseas convertir en un audiolibro. Por ejemplo, guarde el archivo como my_text_file.txt. Aquí hay un ejemplo de este archivo:

Hello! This is an example of a text file that will be converted into an audiobook.
You can add any text you want here.

Asegúrese de que el archivo de texto esté guardado en el mismo directorio que el script de Python o anote su ruta completa.

Paso 3: crea audiolibros a partir de texto usando Python

Podemos usar una función llamada audiología Convierte archivos de texto en audiolibros. El script es muy básico, sólo unas pocas líneas de código. El código está publicado en Conceptos básicos de OSTechNix GitHub Página. Puede descargarlo y modificarlo según sea necesario.

Aquí está el código completo:

#!/usr/bin/env python3

# ------------------------------------------------------------------
# Script Name: Audiogenipy
# Description: A Python Script to Create an Audiobook
# from a Text File using Python and gTTS.
# Website: https://gist.github.com/ostechnix
# Version: 1.0
# Usage: python audiogenipy.py
# ------------------------------------------------------------------

from gtts import gTTS
import os
import platform

def create_audiobook(text_file, output_file):
with open(text_file, 'r', encoding='utf-8') as file:
text = file.read()

tts = gTTS(text, lang='en')
tts.save(output_file)
print(f"Audiobook saved as {output_file}")

def generate_unique_filename(base_name):
"""Generate a unique filename by appending a number if the file already exists."""
if not os.path.exists(base_name):
return base_name

# Split the base name into name and extension
name, ext = os.path.splitext(base_name)
counter = 1

# Keep incrementing the counter until a unique name is found
while os.path.exists(f"{name}_{counter}{ext}"):
counter += 1

return f"{name}_{counter}{ext}"

# Ask the user for the input text file path
text_file = input("Enter the path to the text file: ")

# Automatically generate the output file name if not provided
if text_file.endswith('.txt'):
default_output_file = text_file[:-4] + ".mp3" # Remove .txt and add .mp3
else:
default_output_file = text_file + ".mp3" # Add .mp3 if not already .txt

# Ask the user for the output file path, or use the default
output_file = input(f"Enter the path to save the audiobook (default: {default_output_file}): ").strip()

# If the user didn't provide an output file name, use the default
if not output_file:
output_file = default_output_file

# Generate a unique filename if the output file already exists
output_file = generate_unique_filename(output_file)

# Call the function to create the audiobook
create_audiobook(text_file, output_file)

# Prompt the user to play the audiobook or exit
choice = input("Do you want to play the audiobook? (yes/no): ").strip().lower()

if choice == "yes":
# Open the audio file using the default media player based on the OS
if platform.system() == "Windows":
os.system(f"start {output_file}") # Windows
elif platform.system() == "Darwin": # macOS
os.system(f"open {output_file}")
elif platform.system() == "Linux":
os.system(f"xdg-open {output_file}") # Linux
else:
print("Unsupported operating system. Please open the file manually.")
else:
print("Exiting. Enjoy your audiobook!")

Cómo funciona el guión

  1. Leer archivo de texto: el script abre el archivo de texto que especifique y lee su contenido.
  2. Convertir texto a voz: este gTTS Biblioteca para convertir texto a voz.
  3. guardar audiolibro: la voz se almacena como un archivo MP3 (o formato especificado por el usuario) en la ubicación que especifique.
  4. entrada del usuario: El script le solicita la ruta al archivo de texto y el nombre del archivo de salida deseado.
  5. Reproducir audiolibros o Exit: Finalmente, se le preguntará al usuario si desea jugar o salir.

Paso 4: ejecuta el script

1. descargar audiología script o copie/pegue el contenido de este script en un archivo de texto .py extensión, p.e. audiogenipy.py.

2. Abra una terminal y navegue hasta el directorio donde está almacenado el script.

3. Ejecute el script usando el siguiente comando:

python audiogenipy.py

4. Cuando se le solicite, Ingrese la ruta al archivo de texto y quiero Nombre del archivo de salida. Por ejemplo:

Enter the path to the text file: /home/ostechnix/file.txt
Enter the path to save the audiobook (default: /home/ostechnix/file.mp3): file.mp3

5. El script producirá el audiolibro y le preguntará si desea reproducirlo o salir directamente.

Audiobook saved as file,mp3
Do you want to play the audiobook? (yes/no):

Paso 5: Escuche el audiolibro

Una vez que el script haya terminado de ejecutarse, encontrará el archivo del audiolibro (por ejemplo, file.mp3) en la ubicación especificada. ¡Ábrelo con tu reproductor multimedia favorito y disfruta escuchando el texto!

Guión personalizado

Puede personalizar el script para satisfacer sus necesidades de varias maneras:

1. Cambiar idioma

Si quieres audiolibros en otro idioma puedes modificar lang Parámetros en gTTS Función. Por ejemplo:

tamil:

tts = gTTS(text, lang='ta')

español:

tts = gTTS(text, lang='es')

2. Fusionar varios archivos de texto

Si tiene varios archivos de texto, puede modificar el script para leer y combinar sus contenidos antes de convertirlos a voz.

3. Añade música de fondo

Puede utilizar otras bibliotecas como pydub Añade música de fondo a tus audiolibros.

solución de problemas

  1. error de archivo no encontrado: Asegúrese de que el archivo de texto exista y que la ruta sea correcta.
  2. Idioma no admitido:examinar lang Parámetros en gTTS función para garantizar que coincida con su idioma de texto.
  3. El archivo de audio no se reproduce: asegúrese de que el archivo de salida esté guardado en un formato compatible (por ejemplo, MP3) y que su reproductor multimedia pueda abrirlo.

Preguntas frecuentes

1. ¿Puedo usar mi propia voz para audiolibros?

Desafortunadamente, gTTS La biblioteca no admite sonidos personalizados. Sin embargo, puedes grabar tu voz y luego combinarla con el discurso generado usando herramientas como: pydub.

2. ¿Cómo agregar música de fondo a los audiolibros?

puedes usar pydub La biblioteca superpone música de fondo en los archivos de audio generados.

3. ¿Este script puede ser multiplataforma?

Sí, este script funciona en Windows, macOS y Linux. Solo asegúrate de tener Python y gTTS La biblioteca está instalada.

en conclusión

Crear audiolibros a partir de archivos de texto utilizando el script Audiogenipy es un proyecto sencillo y divertido que cualquiera puede realizar. junto con gTTS biblioteca, puede convertir cualquier texto a voz y guardarlo como un archivo MP3. Ya sea que esté escuchando un libro, un documento o su propio escrito, este script convierte fácilmente texto en audio.

¡Pruébalo y usa tu imaginación! Puede utilizar este script para proyectos personales, fines educativos o incluso como herramienta para hacer más agradables sus tareas diarias.

Lectura relacionada:

Imagen destacada de Mahoma Hassan en Pixabay.

Publicaciones relacionadas

Deja una respuesta

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

Botón volver arriba