aboutsummaryrefslogtreecommitdiff
path: root/app/docs/backend-audiocpp.md
diff options
context:
space:
mode:
authorhistoria <historiavg@proton.me>2026-08-26 19:58:45 -0400
committerhistoria <historiavg@proton.me>2026-08-26 19:58:45 -0400
commit975bd960fd07e75799b8e3adc4c0033046b34792 (patch)
tree6d5a13c0ad6eb3a6afeb5659bd9e9e21e8c215bc /app/docs/backend-audiocpp.md
parent5af37bbd575eec89c6ac2fecf2d8c2eda4c1728d (diff)
downloadtts-audiobook-generator-975bd960fd07e75799b8e3adc4c0033046b34792.tar.gz
feat: language and option fields in tui, context-sensitive voice label
Diffstat (limited to 'app/docs/backend-audiocpp.md')
-rw-r--r--app/docs/backend-audiocpp.md6
1 files changed, 6 insertions, 0 deletions
diff --git a/app/docs/backend-audiocpp.md b/app/docs/backend-audiocpp.md
index c0c2360..f3b3c54 100644
--- a/app/docs/backend-audiocpp.md
+++ b/app/docs/backend-audiocpp.md
@@ -92,8 +92,14 @@ python audiobook.py --backend audiocpp --model Qwen3-TTS-12Hz-1.7B-Base-GGUF --v
# Qwen-TTS voice design
python audiobook.py --backend audiocpp --model Qwen3-TTS-12Hz-1.7B-VoiceDesign-GGUF \
--instructions "A warm adult female narrator with a British accent"
+
+# Per-model options passed through to the family (--option KEY=VALUE, repeatable)
+python audiobook.py --backend audiocpp --model <id> --voice narrator \
+ --option emotion=neutral --option speed=1.1
```
+In the hub's **Generate audiobooks** form the Model picker shows each entry's voice capability (`speaker` / `clone` / `design`). The Voice field is labelled **Built-in voice** on CustomVoice entries (listing the model's speakers) and **Voice to clone** everywhere else (listing the server's preset/voice_dir entries). Instructions are shown for every entry: required for `vdes` design models, an optional style/delivery instruction elsewhere — and on families without built-in speakers that read instructions, a description alone can define the voice, so leaving Voice empty is fine there. A Request options field accepts the same `KEY=VALUE` items as `--option` (e.g. `emotion=neutral, speed=1.1`), and Language overrides the global setting for this run only.
+
The hub also works with an audio.cpp server that runs somewhere else (another checkout, another machine): set `AUDIOCPP_REMOTE_URL` in `app/converter/config.py` (or the TUI **Settings** → "audio.cpp remote URL") to its `host:port`. The hub probes that URL and, when it answers, offers an `audio.cpp [remote]` entry in **Generate audiobooks…** whose models and voices are queried live (`GET /v1/models` and `GET /v1/audio/voices`) — alongside the managed `audio.cpp` entry, which keeps reading the local `server.json`. The remote URL defaults to `127.0.0.1:8080`, so a server started outside this tool on the local port is found automatically. On the CLI, pass `--api-url http://host:port` (and `--model`/`--voice` matching that server's config).
Before converting, `audiobook.py` asks the server to unload all currently loaded models (`POST /v1/tasks/unload_all_models`) so models left resident by earlier runs free their memory (e.g. VRAM on GPU backends) and only the selected entry loads. A server without that endpoint, or one busy unloading, only produces a warning. This behavior is controlled by the **Settings** → "Unload models" option (or `AUDIOCPP_UNLOAD_MODELS` in `app/converter/config.py`), which defaults to **Yes**; set it to **No** to keep other models resident across runs.