From 8e54a42db2690e0ac7f09fd400b29ad2fb2c9c5a Mon Sep 17 00:00:00 2001 From: historia Date: Mon, 24 Aug 2026 03:08:29 -0400 Subject: chore: update backend docs with custom venv --- README.md | 14 ++------------ app/docs/backend-faster.md | 3 ++- app/docs/backend-qwen.md | 9 +++++---- 3 files changed, 9 insertions(+), 17 deletions(-) diff --git a/README.md b/README.md index 5d96ff8..5b020ab 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # tts-audiobook-generator -Generate audiobooks from books (epub, txt, pdf) using text-to-speech backends such as `audio.cpp` and `qwen-tts`. +Generate audiobooks from books (epub, txt, pdf) using text-to-speech backends such as `audio.cpp` and `qwen-tts`. Installs and manages ## Overview @@ -8,7 +8,7 @@ The converter sends text extracted from your books to a locally running TTS serv - Input: `.txt`, `.pdf`, or `.epub` - Output: `.m4b`, `.mp3`, `.ogg`, or `.flac` -- Supports [audio.cpp](https://github.com/0xShug0/audio.cpp), [qwen-tts](https://pypi.org/project/qwen-tts/), and [faster-qwen3-tts](https://github.com/andimarafioti/faster-qwen3-tts) backend servers (audio.cpp can host any of its TTS model families, not just Qwen3-TTS) +- Supports [audio.cpp](https://github.com/0xShug0/audio.cpp), [qwen-tts](https://pypi.org/project/qwen-tts/), and [faster-qwen3-tts](https://github.com/andimarafioti/faster-qwen3-tts) backend servers - Output a single file or one per chapter - Automatic metadata (title/artist/album tags, chapter track numbers) and a generated cover - Supports text-to-speech, voice cloning, voice design, and per-model controls like emotion/speed @@ -18,11 +18,7 @@ The converter sends text extracted from your books to a locally running TTS serv - Python 3.12+ - ffmpeg -## Installation -Clone the repo. No manual environment setup is needed — `audiobook.py` -creates and manages its own virtual environment (`app/envs/tts`) the first time -it runs, installing its requirements and any backend TTS packages into it. ```bash git clone https://git.historia.vg/git/tts-audiobook-generator @@ -35,12 +31,6 @@ installs `requirements.txt` into it, and re-launches itself inside that environment. Backend packages (`qwen-tts`, `faster-qwen3-tts[demo]`) are pip-installed into the same venv by their setup wizards. -To add extras manually (e.g. FlashAttention), pip-install into the managed -venv directly: - -```bash -app/envs/tts/bin/python -m pip install flash-attn -``` Put your book files (epub, etc.) in the `input/` directory. The output goes to `output/`. diff --git a/app/docs/backend-faster.md b/app/docs/backend-faster.md index b08e057..4d193b7 100644 --- a/app/docs/backend-faster.md +++ b/app/docs/backend-faster.md @@ -9,7 +9,8 @@ If you prefer to install the backend yourself (in your own environment, not the Install into your environment (the same one used for qwen-tts is fine): ```bash -conda activate audiobook +python -m venv audiobook +source audiobook/bin/activate pip install -U qwen-tts pip install "faster-qwen3-tts[demo]" ``` diff --git a/app/docs/backend-qwen.md b/app/docs/backend-qwen.md index 074004c..af5f63e 100644 --- a/app/docs/backend-qwen.md +++ b/app/docs/backend-qwen.md @@ -7,7 +7,8 @@ If you prefer to install the backend yourself (in your own environment, not the Install qwen-tts with pip into your environment: ```bash -conda activate audiobook +python -m venv audiobook +source audiobook/bin/activate pip install -U qwen-tts ``` @@ -32,7 +33,7 @@ Whisper (`faster_whisper` or `whisper`) is used automatically to transcribe the ## Custom voice (i.e. built-in voice) ```bash -conda activate audiobook +source audiobook/bin/activate qwen-tts-demo Qwen/Qwen3-TTS-12Hz-1.7B-CustomVoice --ip 127.0.0.1 --port 7860 [--no-flash-attn] ``` @@ -51,7 +52,7 @@ FlashAttention provides a *small* speed boost on the `qwen` backend. It is **not 1. Build from source (takes absolutely forever). If you run out of memory, lower MAX_JOBS until you don't. ```bash -conda activate audiobook +source audiobook/bin/activate pip install ninja packaging psutil MAX_JOBS=4 pip install --no-build-isolation flash-attn ``` @@ -59,7 +60,7 @@ MAX_JOBS=4 pip install --no-build-isolation flash-attn 2. pip install a prebuilt wheel matching your torch / CUDA / Python / CXX11-ABI combination: ```bash -conda activate audiobook +source audiobook/bin/activate python -c "import torch; print(torch.__version__, torch.version.cuda, torch._C._GLIBCXX_USE_CXX11_ABI)" ``` -- cgit v1.2.3