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/.
22 lines
1.5 KiB
Markdown
22 lines
1.5 KiB
Markdown
`[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_25s` → `glados`** (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]]).
|