43 lines
1.5 KiB
Markdown
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`.
|