Long-form story-writer with canon-keeping, sequel-continuity, and self-hosted narration. Database-is-source-of-truth — writer is the tooling.
Find a file
2026-06-28 21:38:51 -07:00
docs v0.2 scaffold: vendor clawdforge SDK + forge module + Whisper plan 2026-05-13 10:18:56 -07:00
engines skald (engine/kokoro): public release prep — AGPL-3.0, generic config, engine-variant README 2026-06-28 21:38:51 -07:00
migrations multi-voice: per-character dialogue rendering 2026-05-14 08:35:33 -07:00
seeds/authors v0.3 step 2: Orson Black soul + author-aware forge + skald continue CLI 2026-05-13 12:06:28 -07:00
skald skald (engine/kokoro): public release prep — AGPL-3.0, generic config, engine-variant README 2026-06-28 21:38:51 -07:00
skald-core multi-voice: per-character dialogue rendering 2026-05-14 08:35:33 -07:00
vendor/clawdforge skald (engine/kokoro): public release prep — AGPL-3.0, generic config, engine-variant README 2026-06-28 21:38:51 -07:00
.gitignore scaffold v0.1: postgres+pgvector inside-container, schema, markdown ingest, CLI 2026-05-13 09:04:28 -07:00
Cargo.lock multi-voice: per-character dialogue rendering 2026-05-14 08:35:33 -07:00
Cargo.toml skald (engine/kokoro): public release prep — AGPL-3.0, generic config, engine-variant README 2026-06-28 21:38:51 -07:00
compose.yml skald (engine/kokoro): public release prep — AGPL-3.0, generic config, engine-variant README 2026-06-28 21:38:51 -07:00
Dockerfile dockerfile: copy vendor/ during cache layer (path-dep needs full crate) 2026-05-13 10:30:58 -07:00
entrypoint.sh scaffold v0.1: postgres+pgvector inside-container, schema, markdown ingest, CLI 2026-05-13 09:04:28 -07:00
LICENSE skald (engine/kokoro): public release prep — AGPL-3.0, generic config, engine-variant README 2026-06-28 21:38:51 -07:00
README.md skald (engine/kokoro): public release prep — AGPL-3.0, generic config, engine-variant README 2026-06-28 21:38:51 -07:00

skald — engine/kokoro variant

This branch is the Kokoro-82M TTS backend variant of skald. It carries engine-specific tuning for Kokoro 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

Kokoro-82M is the fast, audiobook-quality narrator. At 82M parameters it's tiny and quick (~50x real-time on a modest GPU) but has a couple of rough edges this branch works around in engines/kokoro/server.py:

  • Question prosody — single ? reads flat, so interrogatives get a stronger rising contour applied at synth time.
  • Pacing gaps — paragraph / scene / breath gap durations tuned for long-form prose narration.
  • Pronunciation respellings — Kokoro's phonemizer treats consecutive capitals as initialisms, so proper-noun respellings are seeded lowercase-syllabified.

Usage

The Kokoro sidecar speaks the same POST /synthesize + GET /healthz contract as the other engines (see engines/README.md). Point skald's KOKORO_URL at it and route kokoro_* voices to it.

docker compose up -d            # skald + postgres
# bring up the Kokoro sidecar from engines/kokoro/

License

AGPL-3.0-or-later — see LICENSE.