Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/drewthomasson/ebook2audiobookespeak
Create audiobooks with espeak in a gradio interface gui easy
https://github.com/drewthomasson/ebook2audiobookespeak
audiobooks docker epub espeak gradio tts
Last synced: about 10 hours ago
JSON representation
Create audiobooks with espeak in a gradio interface gui easy
- Host: GitHub
- URL: https://github.com/drewthomasson/ebook2audiobookespeak
- Owner: DrewThomasson
- Created: 2024-08-17T20:31:56.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2024-10-29T22:21:55.000Z (10 days ago)
- Last Synced: 2024-10-30T00:41:48.466Z (10 days ago)
- Topics: audiobooks, docker, epub, espeak, gradio, tts
- Language: Python
- Homepage:
- Size: 51.8 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 📚 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
### 🔧 Installation Instructions
1. **Install Python 3.x** from [Python.org](https://www.python.org/downloads/).
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**:
```bash
pip install gradio bs4 pydub nltk beautifulsoup4 ebooklib tqdm
```**For non-Latin languages**:
```bash
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**:
```bash
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:
```bash
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](https://hub.docker.com/repository/docker/athomasson2/ebook2audiobookespeak/general).
## 📚 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
- **eSpeak-ng**: [eSpeak-ng GitHub](https://github.com/espeak-ng/espeak-ng)
- **Calibre**: [Calibre Website](https://calibre-ebook.com)
- **Inspiration from Smiling friends Spamtopia episode Season 2 Episode 7**
![maxresdefault](https://github.com/user-attachments/assets/a6c34117-36d6-4b20-b8c5-b58066a867fe)