skald/README.md

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.