Spaces:
Runtime error
Runtime error
| title: Ebook2audiobookXTTS-dev-env-3-testing | |
| emoji: πΈπ | |
| colorFrom: red | |
| colorTo: yellow | |
| sdk: gradio | |
| sdk_version: 4.44.0 | |
| app_file: app.py | |
| pinned: false | |
| license: mit | |
| short_description: dev env 3 testing for proper chinese | |
| Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference | |
| # π ebook2audiobookXTTS | |
| Convert eBooks to audiobooks with chapters and metadata using Calibre and Coqui XTTS. Supports optional voice cloning and multiple languages! | |
| ## π Features | |
| - π Converts eBooks to text format with Calibre. | |
| - π Splits eBook into chapters for organized audio. | |
| - ποΈ High-quality text-to-speech with Coqui XTTS. | |
| - π£οΈ Optional voice cloning with your own voice file. | |
| - π Supports multiple languages (English by default). | |
| - π₯οΈ Designed to run on 4GB RAM. | |
| ## π οΈ Requirements | |
| - Python 3.x | |
| - `coqui-tts` Python package | |
| - Calibre (for eBook conversion) | |
| - FFmpeg (for audiobook creation) | |
| - Optional: Custom voice file for voice cloning | |
| ### π§ 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. **Optional: Install Mecab** (for non-Latin languages): | |
| - **Ubuntu**: `sudo apt-get install -y mecab libmecab-dev mecab-ipadic-utf8` | |
| - **macOS**: `brew install mecab`, `brew install mecab-ipadic` | |
| - **Windows** (Admin Powershell): `choco install mecab` (Note: Japanese support is limited) | |
| 5. **Install Python packages**: | |
| ```bash | |
| pip install tts==0.21.3 pydub nltk beautifulsoup4 ebooklib tqdm | |
| ``` | |
| **For non-Latin languages**: | |
| ```bash | |
| python -m unidic download | |
| pip install mecab mecab-python3 unidic | |
| ``` | |
| ## π Supported Languages | |
| - **English (en)** | |
| - **Spanish (es)** | |
| - **French (fr)** | |
| - **German (de)** | |
| - **Italian (it)** | |
| - **Portuguese (pt)** | |
| - **Polish (pl)** | |
| - **Turkish (tr)** | |
| - **Russian (ru)** | |
| - **Dutch (nl)** | |
| - **Czech (cs)** | |
| - **Arabic (ar)** | |
| - **Chinese (zh-cn)** | |
| - **Japanese (ja)** | |
| - **Hungarian (hu)** | |
| - **Korean (ko)** | |
| Specify the language code when running the script. | |
| ## π Usage | |
| ### π₯οΈ Gradio Web Interface | |
| 1. **Run the Script**: | |
| ```bash | |
| python custom_model_ebook2audiobookXTTS_gradio.py | |
| ``` | |
| 2. **Open the Web App**: Click the URL provided in the terminal to access the web app and convert eBooks. | |
| ### π Basic Usage | |
| ```bash | |
| python ebook2audiobook.py <path_to_ebook_file> [path_to_voice_file] [language_code] | |
| ``` | |
| - **<path_to_ebook_file>**: Path to your eBook file. | |
| - **[path_to_voice_file]**: Optional for voice cloning. | |
| - **[language_code]**: Optional to specify language. | |
| ### π§© Custom XTTS Model | |
| ```bash | |
| python custom_model_ebook2audiobookXTTS.py <ebook_file_path> <target_voice_file_path> <language> <custom_model_path> <custom_config_path> <custom_vocab_path> | |
| ``` | |
| - **<ebook_file_path>**: Path to your eBook file. | |
| - **<target_voice_file_path>**: Optional for voice cloning. | |
| - **<language>**: Optional to specify language. | |
| - **<custom_model_path>**: Path to `model.pth`. | |
| - **<custom_config_path>**: Path to `config.json`. | |
| - **<custom_vocab_path>**: Path to `vocab.json`. | |
| ### π³ 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: | |
| -Run with CPU only | |
| ```powershell | |
| docker run -it --rm -p 7860:7860 athomasson2/ebook2audiobookxtts:latest | |
| ``` | |
| -Run with GPU Speedup (Nvida graphics cards only) | |
| ```powershell | |
| docker run -it --rm --gpus all -p 7860:7860 athomasson2/ebook2audiobookxtts:latest | |
| ``` | |
| This command will start the Gradio interface on port 7860.(localhost:7860) | |
| #### π₯οΈ Docker GUI | |
| <img width="1401" alt="Screenshot 2024-08-25 at 10 08 40β―AM" src="https://github.com/user-attachments/assets/78cfd33e-cd46-41cc-8128-3820160a5e40"> | |
| <img width="1406" alt="Screenshot 2024-08-25 at 10 08 51β―AM" src="https://github.com/user-attachments/assets/dbfad9f6-e6e5-4cad-b248-adb76c5434f3"> | |
| ### π οΈ For Custom Xtts Models | |
| Models built to be better at a specific voice. Check out my Hugging Face page [here](https://huggingface.co/drewThomasson). | |
| To use a custom model, paste the link of the `Finished_model_files.zip` file like this: | |
| [David Attenborough fine tuned Finished_model_files.zip](https://huggingface.co/drewThomasson/xtts_David_Attenborough_fine_tune/resolve/main/Finished_model_files.zip?download=true) | |
| More details can be found at the [Dockerfile Hub Page]([https://github.com/DrewThomasson/ebook2audiobookXTTS](https://hub.docker.com/repository/docker/athomasson2/ebook2audiobookxtts/general)). | |
| ## π Fine Tuned Xtts models | |
| To find already fine-tuned XTTS models, visit [this Hugging Face link](https://huggingface.co/drewThomasson) π. Search for models that include "xtts fine tune" in their names. | |
| ## π₯ Demos | |
| https://github.com/user-attachments/assets/8486603c-38b1-43ce-9639-73757dfb1031 | |
| ## π 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. | |
| - **Example Output**:  | |
| ## π Special Thanks | |
| - **Coqui TTS**: [Coqui TTS GitHub](https://github.com/coqui-ai/TTS) | |
| - **Calibre**: [Calibre Website](https://calibre-ebook.com) |