From b6795046bf20023fd7b2e083ead20e7362f0c0d7 Mon Sep 17 00:00:00 2001 From: historia Date: Thu, 27 Aug 2026 18:41:10 -0400 Subject: feat: simply generate audiobooks menu, move more config to settings menu --- README.md | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) (limited to 'README.md') diff --git a/README.md b/README.md index 251b3a2..dd51735 100644 --- a/README.md +++ b/README.md @@ -39,6 +39,8 @@ cd tts-audiobook-generator - `./output` - Audio files will output here - `./voices` - `.wav` files of voices to clone (10-20 seconds) +These directories (and output format, language, speed, debug, and more) can be changed any time in `app/converter/config.py` or the TUI's **Settings** menu. + 3. Run `audiobook.py`. It will automatically create the app's virtual environment and install its requirements (each pip-installed TTS backend later gets a managed venv of its own under `app/envs/`). ``` python audiobook.py @@ -63,13 +65,13 @@ Everything the TUI does can also be scripted with flags: `python audiobook.py -- | Flag | Description | | ---------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `--backend {audiocpp,qwen,faster}` | TTS server to use (default `audiocpp`). | -| `--format {mp3,m4b,ogg,flac}` | Output format (default `m4b`). | -| `--input ` | Directory containing the books to convert (default `./input`). | -| `--output ` | Directory to write finished audiobooks to (default `./output`). | -| `--speed ` | Playback speed, pitch-preserving (`1.0` = normal). A normal-speed copy is also output. | +| `--format {mp3,m4b,ogg,flac}` | Output format (default: the `AUDIO_FORMAT` setting in `app/converter/config.py`, `m4b`). | +| `--input ` | Directory containing the books to convert (default: the `INPUT_DIR` setting in `app/converter/config.py`, `./input`; relative paths resolve against the project root). | +| `--output ` | Directory to write finished audiobooks to (default: the `OUTPUT_DIR` setting in `app/converter/config.py`, `./output`). | +| `--speed ` | Playback speed, pitch-preserving (`1.0` = normal). A normal-speed copy is also output. Defaults to the `SPEED` setting in `app/converter/config.py`. | | `--single-file` | Merge all chapters into a single file. `m4b` is always one file. | | `--language ` | Output language for the synthesized speech. Can add an accent even if the text is English. | -| `--debug` | Dump each chunk's raw audio and sent text to `debug/` and log every request. | +| `--debug` | Dump each chunk's raw audio and sent text to `debug/` and log every request. Forces the `DEBUG` setting in `app/converter/config.py` on for this run. | | `--model ` | `audiocpp`: Choose the model from `server.json` | | `--instructions "..."` | `audiocpp`: voice design or style instruction (required for voice design models, task `vdes`). `qwen`: selects the VoiceDesign model and describes the voice to synthesize with. | | `--option KEY=VALUE` | `audiocpp`: Some models support custom options (e.g. `emotion=netural`) that can be passed with this flag | @@ -79,9 +81,9 @@ Everything the TUI does can also be scripted with flags: `python audiobook.py -- | `--no-transcription` | `qwen`: Skip auto-transcription of the reference audio. | | `--api-url ` | URL of the TTS server to talk to, overriding the configured endpoint for the selected backend. Accepts `host:port` or a full `http(s)://` URL. | -Other options — including backend server URLs, ports, and the remote-server URLs the hub probes for `[remote]` entries — are configured in `app/converter/config.py` (or the TUI's **Settings** menu, whose **Default Language** entry is the same static language picker). +Other options — including the input/output directories, output format, language, speed, debug, backend server URLs, ports, and the remote-server URLs the hub probes for `[remote]` entries — are configured in `app/converter/config.py` (or the TUI's **Settings** menu, whose **Language** entry is the same static language picker). -The **Generate Audiobooks** TUI form exposes the same per-run controls as these flags: for `audiocpp` the Model picker labels each entry's voice capability (`speaker` / `clone` / `design`), the Voice field is labelled **Built-in voice** on CustomVoice entries and **Voice to clone** everywhere else, Instructions work on every entry (required for `vdes`, optional style/delivery control elsewhere — or the voice itself on families without built-in speakers), a Request options field accepts `KEY=VALUE` items (the `--option` equivalent, shown only for model families whose audio.cpp spec declares request options), and Language (a static picker over the languages of audio.cpp's WebUI menus, hinting "Check model documentation for supported languages." while editing) overrides the global setting per run (hidden for `faster`, which owns language server-side). For `qwen-tts` a single **Model** picker selects which demo the server hosts — Base (voice cloning), CustomVoice (built-in voices) or VoiceDesign (design) — with the matching controls shown below it; the choice is remembered, and switching models restarts the managed server on its single port. The Instructions and Request options editors show dim hints with examples while editing. +The **Generate Audiobooks** TUI form exposes the per-run controls as flags: for `audiocpp` the Model picker labels each entry's voice capability (`speaker` / `clone` / `design`), the Voice field is labelled **Built-in voice** on CustomVoice entries and **Voice to clone** everywhere else, Instructions work on every entry (required for `vdes`, optional style/delivery control elsewhere — or the voice itself on families without built-in speakers), a Request options field accepts `KEY=VALUE` items (the `--option` equivalent, shown only for model families whose audio.cpp spec declares request options), and a **Combine all chapters** toggle mirrors `--single-file` (hidden for `m4b`, which is always a single file). Output format, Language, Speed, Debug, and Stop-server-and-exit are configured once in the **Settings** menu and apply to every run. For `qwen-tts` a single **Model** picker selects which demo the server hosts — Base (voice cloning), CustomVoice (built-in voices) or VoiceDesign (design) — with the matching controls shown below it; the choice is remembered, and switching models restarts the managed server on its single port. The Instructions and Request options editors show dim hints with examples while editing. ## Manual TTS Backend Setup -- cgit v1.2.3