skald/README.md

43 lines
1.5 KiB
Markdown

# skald — `engine/tortoise` variant
This branch is the **Tortoise-TTS backend** variant of
[skald](https://git.sulkta.com/Sulkta-OSS/skald). It carries
engine-specific tuning for Tortoise that doesn't generalise to the
other backends; everything else tracks `main`.
For the full project — the story-writer, the schema, the narration
pipeline — see `main` and the root `README.md`.
## What's different here
Tortoise-TTS is the highest-quality narrator of the three backends,
at the cost of speed: it is far slower than real-time and is meant
for batched, overnight renders rather than interactive use. The
tuning in `engines/tortoise/server.py` covers:
- **Sentence chunking** — long passages are split so each chunk
conditions cleanly.
- **Device selection** — explicit GPU/CPU placement.
- **Pitch / rate modulation** — post-processing for single-voice
multi-character rendering.
Tortoise has ~25 named built-in voices, so no voice cloning is
required. On an 8GB GPU it wants the card largely to itself — stop
the other engines for the duration of a Tortoise run, or give it a
dedicated GPU.
## Usage
The Tortoise sidecar speaks the same `POST /synthesize` + `GET
/healthz` contract as the other engines (see `engines/README.md`).
Point skald's `TORTOISE_URL` at it and route `tortoise_*` voices to
it.
```bash
docker compose up -d # skald + postgres
# bring up the Tortoise sidecar from engines/tortoise/
```
## License
AGPL-3.0-or-later — see `LICENSE`.