1.5 KiB
skald — engine/tortoise variant
This branch is the Tortoise-TTS backend variant of
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.
docker compose up -d # skald + postgres
# bring up the Tortoise sidecar from engines/tortoise/
License
AGPL-3.0-or-later — see LICENSE.