aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhistoria <historiavg@proton.me>2026-08-24 03:08:29 -0400
committerhistoria <historiavg@proton.me>2026-08-24 03:08:29 -0400
commit8e54a42db2690e0ac7f09fd400b29ad2fb2c9c5a (patch)
tree0aaf78bf801c5a0eecc26528750de587c5b6c1d1
parentf00249db9d1ea051d29aa1bcca869fc4b88e83eb (diff)
downloadtts-audiobook-generator-8e54a42db2690e0ac7f09fd400b29ad2fb2c9c5a.tar.gz
chore: update backend docs with custom venv
-rw-r--r--README.md14
-rw-r--r--app/docs/backend-faster.md3
-rw-r--r--app/docs/backend-qwen.md9
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)"
```