feat(tts): map ratatoskr:sindra -> miranda voice

Sindra now voices with the dots "miranda" voice (operator-directed);
donut stays on "donut", other agents fall to the "glados" default.
One entry in _TTS_VOICE_MAP + a test; contract DEC-8 updated.
Live-verified on :8765 (/api/tts with agent_id=ratatoskr:sindra -> 200
audio/wav @ 48kHz).
This commit is contained in:
2026-08-10 21:55:11 -07:00
parent 38b78d8a4a
commit 3e69bc9c01
3 changed files with 18 additions and 2 deletions
@@ -174,7 +174,8 @@ each independently shippable. Slice order is chosen for fastest visible result.
dots clones a voice server-side from a reference clip + transcript; the client just
passes a voice NAME (GET /v1/voices lists them: donut/glados/emmie/miranda). The
`donut` voice carries over from chatterbox, so `_TTS_VOICE_MAP` maps
`ratatoskr:donut → "donut"` unchanged. NOTE the case: lowercase `"donut"` (Zonos used
`ratatoskr:donut → "donut"`; `ratatoskr:sindra → "miranda"` (operator-directed
2026-08-10). NOTE the case: lowercase `"donut"` (Zonos used
`"Donut"`). Non-interview agents fall to the dots default `"glados"` (was chatterbox
`"glados_25s"` / Zonos `"Cora"`, neither of which exists on dots). New voices are a
one-line request to infra-ops (derived from the canonical voice corpus).