/ebook2audiobookEspeak

Create audiobooks with espeak in a gradio interface gui easy

Primary LanguagePython

📚 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

demo_mini_story_chapters_Drew.mp4

🙏 Special Thanks