You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
/explore seed (Dean, 2026-09-06): two more community-shelf kinds in the ad-pack mould — jingle packs (short instrumentals and station jingles for background music under spots and imaging) and voice packs (custom Kokoro voices designed with https://github.com/n33kos/kokoro-voice-designer).
Why one epic
Both are catalog kinds with the same install path (manifest + assets → the box), and both have waiting consumers: #708 (generated spots get ducked background music) picks from installed jingle packs; #702 (ad cast pool) and persona cards pick from installed voice packs.
What a voice pack is
The designer exports a plain .pt voice tensor built by PCA-blending Kokoro's 54 stock voices (no training, no model swap). A pack = one or more .pt files + a manifest (name, gender/age hints, a demo clip, provenance) + licence text.
Plumbing already there
kokoro-fastapi rescans its voices directory on every request (demo log: "Scanning for voices in path" per call) — a dropped .pt is live without a restart.
GET /api/voices proxies Kokoro's live listing (KokoroVoiceLister), so the persona editor and the ad cast picker see new voices for free.
Catalog kind tooling from catalog#74 (schemas, KindSpec, index branch, diff-scope guard, selftest, docs) is the template.
To settle in /explore
Shared voices volume. Kokoro's voices dir is not mounted today; the api needs write, Kokoro read — the tts: volume pattern in compose.
Jingle-pack assets. Licensing (CC0/CC-BY only?), size caps, formats, cue/loudness enrichment on install so beds are cue-trimmed and level-matched like every other authored row.
/explore seed (Dean, 2026-09-06): two more community-shelf kinds in the ad-pack mould — jingle packs (short instrumentals and station jingles for background music under spots and imaging) and voice packs (custom Kokoro voices designed with https://github.com/n33kos/kokoro-voice-designer).
Why one epic
Both are catalog kinds with the same install path (manifest + assets → the box), and both have waiting consumers: #708 (generated spots get ducked background music) picks from installed jingle packs; #702 (ad cast pool) and persona cards pick from installed voice packs.
What a voice pack is
The designer exports a plain
.ptvoice tensor built by PCA-blending Kokoro's 54 stock voices (no training, no model swap). A pack = one or more.ptfiles + a manifest (name, gender/age hints, a demo clip, provenance) + licence text.Plumbing already there
.ptis live without a restart.GET /api/voicesproxies Kokoro's live listing (KokoroVoiceLister), so the persona editor and the ad cast picker see new voices for free.KindSpec, index branch, diff-scope guard, selftest, docs) is the template.To settle in /explore
tts:volume pattern in compose..ptis Kokoro-only; if Spike: TTS bake-off — build a scored bench harness, run the self-hosted field against Kokoro #614's bake-off moves the house engine, voice packs become an engine-scoped kind — the manifest wants anenginefield from day one.Sequencing: this epic first, then #708 and #702's pack-backed parts.