diff --git a/persistent-memory.md b/persistent-memory.md index 86603b3..9ccfeff 100644 --- a/persistent-memory.md +++ b/persistent-memory.md @@ -324,6 +324,22 @@ _25 older entries archived to archival-memory.md._ ## Tried and abandoned +- `[2026-06-02]` **Context-priming at chunk joins (chatterbox-fast §1.6) — + ABANDONED (discard-cut leaks the prefix).** To give a chunk backward prosodic + context, prepend the prior sentence, generate `prefix+content` together, then + discard the prefix audio. Built + opt-in shipped (commit d707439), live-A/B'd, + reverted (090e70a). The kill: `generate()` returns one finished waveform with + NO marker for where the prefix ends, and the model renders the same prefix with + different timing solo vs followed-by-content — so locating the cut (generate + prefix solo → measure duration → snap to nearest energy-min pause within ±0.4s) + is a guess that left a whole clause of prefix in the output ("...without a trace + of sarcasm," spoken twice; operator caught it). A reliable cut needs token-level + boundaries (= the abandoned native-streaming arc) or per-chunk ASR/forced- + alignment (heavy, imperfect, eats the latency budget). → Coherence loss at joins + stays an ACCEPTED limitation; cold adaptive-chunk streaming judged "really good". + Scheduler-side work that DID land + survive: affordability-gated priming math + (a 2nd pass can't starve the buffer) — sound, but moot without a working cut. + - `[2026-06-02]` **Native frame-level streaming on Chatterbox-TURBO — ABANDONED (turbo isn't built for streaming).** Long R&D arc; record so it's not re-derived. (1) The model's flow is CosyVoice2-derived but `S3GenStreamer` is