drewThomasson's picture
Update README.md
7539214 verified

A newer version of the Gradio SDK is available: 5.28.0

Upgrade
metadata
title: Ebook2audiobookEspeak
emoji: βš‘πŸ“–
colorFrom: blue
colorTo: yellow
sdk: gradio
sdk_version: 4.44.0
app_file: app.py
pinned: false
license: mit
short_description: Convert ebook to audiobook with espeak

Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference

πŸ“š eBook to Audiobook Converter with eSpeak-ng

Convert eBooks to audiobooks with chapters and metadata using Calibre and eSpeak-ng. Supports multiple languages and customizable voice settings!

🌟 Features

  • πŸ“– Converts eBooks to text format using Calibre.
  • πŸ“š Splits eBooks into chapters for organized audio.
  • πŸŽ™οΈ High-quality text-to-speech using eSpeak-ng.
  • 🌍 Supports multiple languages and accents.
  • πŸŽ›οΈ Customizable voice, speed, and pitch settings.
  • πŸ–₯️ User-friendly Gradio web interface.
  • ⚑ Designed to run lighting fast on only 100 MB ram.

πŸ› οΈ Requirements

  • Python 3.x
  • gradio Python package
  • Calibre (for eBook conversion)
  • FFmpeg (for audiobook creation)
  • eSpeak-ng (for text-to-speech)

πŸ–₯️ Gradio Web Gui

Screenshot 2024-08-17 at 4 42 16β€―PM Screenshot 2024-08-17 at 4 42 22β€―PM

πŸ”§ Installation Instructions

  1. Install Python 3.x from Python.org.

  2. Install Calibre:

    • Ubuntu: sudo apt-get install -y calibre
    • macOS: brew install calibre
    • Windows (Admin Powershell): choco install calibre
  3. Install FFmpeg:

    • Ubuntu: sudo apt-get install -y ffmpeg
    • macOS: brew install ffmpeg
    • Windows (Admin Powershell): choco install ffmpeg
  4. Install eSpeak-ng:

    • Ubuntu: sudo apt-get install -y espeak-ng
    • macOS: brew install espeak-ng
    • Windows (Admin Powershell): choco install espeak-ng
  5. Install Python packages:

    pip install gradio bs4 pydub nltk beautifulsoup4 ebooklib tqdm
    

    For non-Latin languages:

    python -m nltk.downloader punkt
    

🌐 Supported Languages and Voices

eSpeak-ng provides a variety of voices for different languages and accents:

  • Afrikaans: af
  • Amharic: am
  • Arabic: ar
  • Bengali: bn
  • Bosnian: bs
  • Catalan: ca
  • Chinese (Mandarin): cmn
  • Croatian: hr
  • Czech: cs
  • Danish: da
  • Dutch: nl
  • English (Great Britain): en-gb
  • English (America): en-us
  • Esperanto: eo
  • Finnish: fi
  • French: fr
  • German: de
  • Greek: el
  • Hindi: hi
  • Hungarian: hu
  • Icelandic: is
  • Italian: it
  • Japanese: ja
  • Korean: ko
  • Latvian: lv
  • Macedonian: mk
  • Norwegian (BokmΓ₯l): nb
  • Polish: pl
  • Portuguese (Brazil): pt-br
  • Portuguese (Portugal): pt
  • Russian: ru
  • Spanish (Spain): es
  • Swedish: sv
  • Turkish: tr
  • Vietnamese: vi
  • Welsh: cy

πŸš€ Usage

πŸ–₯️ Gradio Web Interface

  1. Run the Script:

    python gradio_launch.py
    
  2. Open the Web App: Click the URL provided in the terminal to access the web app and convert eBooks.

🐳 Using Docker

You can also use Docker to run the eBook to Audiobook converter. This method ensures consistency across different environments and simplifies setup.

πŸš€ Running the Docker Container

To run the Docker container and start the Gradio interface, use the following command:

docker run -it --rm -p 7860:7860 athomasson2/ebook2audiobookespeak:latest

This command will start the Gradio interface on port 7860. (localhost:7860)

For more details, visit the Docker Hub Page.

πŸ“š Supported eBook Formats

  • .epub, .pdf, .mobi, .txt, .html, .rtf, .chm, .lit, .pdb, .fb2, .odt, .cbr, .cbz, .prc, .lrf, .pml, .snb, .cbc, .rb, .tcr
  • Best results: .epub or .mobi for automatic chapter detection

πŸ“‚ Output

  • Creates an .m4b file with metadata and chapters.

πŸŽ₯ Demo

https://github.com/user-attachments/assets/4decbfc3-b934-498a-935e-180336ecadc4

πŸ™ Special Thanks