Files
ratatoskr/persistent-memory.d/2026-08-11-tts-dots-migration.md
vh 6e2822cfcb memory: snapshot — dots-tts + config-voices/two-voice split shipped; WT #401 personal-WT deadlock routed
Captures this session's durable state: the RP-voice rebuild (chatterbox->dots
v0.22.2, config-driven voices + two-voice dialogue/narration split v0.22.3) and
the personal WT :8081 deadlock recovery + root-cause routing to worldtree-dev
(WT #401). New substrate foot-guns: dots :8198 is a fleet switchboard, dots'
language validator is an alias-mapper, per-origin TTS toggle, WT hang signature,
dots-streaming-pcm-not-headerless. Three detail files added under
persistent-memory.d/.
2026-08-13 22:59:28 -07:00

1.5 KiB
Raw Permalink Blame History

[2026-08-11] TTS migrated chatterbox-fast → dots-tts (v0.22.2, 38b78d8).

Operator-directed after an infra-ops A/B win ("very good"). dots-tts = rednote-hilab dots.tts-soar on irv-ml1, replacing chatterbox-fast. tts.py stays the single swap seam.

Deltas (everything else — streaming placeholder-header WAV shape, browser Web-Audio PCM decode, POST /api/tts, the DEC-5 serialize lock, INV-TTS-1..4 — unchanged):

  • Gateway body OpenAI-shaped: {input, voice, response_format:"wav", stream:true}input not chatterbox's text, response_format not format. Closer to the Zonos-era client. DOTS_TTS_URL = http://10.100.79.3:8198/v1/audio/speech replaced CHATTERBOX_TTS_URL.
  • Sample rate 24000 → 48000 Hz (browser SR = 48000 in index.html, else ~2× too fast).
  • Default voice glados_25sglados (dots voices: donut/glados/emmie/miranda). donut carries over.
  • Serialized single-consumer — dots renders one generation at a time; satisfied by the existing DEC-5 lock, no code change.
  • Affect stays dropped (DEC-7): dots has no emotion knob, same as chatterbox — NOT a fresh loss.

Live-verified end-to-end on :8765 (RIFF/WAVE 48kHz mono s16le through /api/tts); 520 tests green. Contract donut_voiced_interview.contract.md amended (migration banner + DEC-1/3/8/9a + FN blocks). chatterbox-fast :8197 kept as rollback, then reclaimed by infra-ops once operator ear-confirmed. Superseded next day by config-driven voices (see 2026-08-12-config-voices-two-voice).