Commit Graph
1 Commits
Author SHA1 Message Date
osobhandClaude Opus 4.7 87fb269a81 rtx-csm: Phase 9.1 spike — VoXtream port notes (Tier 2.1 prep)
Phase 9.1 is the foundation step for the Tier 2.1 (VoXtream-style
look-ahead) optimization from the Phase 8 plan. Same pattern as Phase
8.4: don't attempt the full port in one session; ship the architecture
analysis + ecosystem audit + ordered porting plan so a future session
starts cold from concrete data.

Phonemizer ecosystem audited (results in the doc):

  Crate                       Approach              Latency      Conflicts
  espeak-ng 0.1.1             pure Rust eSpeak NG   1-5 ms/word  none      <- PICK
  voirs-g2p 0.1.0-rc.1        neural, candle 0.9.2  10-50 ms/w   libc dep
  grapheme_to_phoneme 0.1.0   seq2seq RNN ARPAbet   2-8 ms/word  none      (abandoned 2020)
  phonetisaurus-g2p 0.1.1     FST                   sub-ms       none      (no pre-trained FST)

espeak-ng is the right pick: zero C linkage default, no conflicts with
candle 0.9 / sentencepiece-sys / hound / symphonia / ebur128, mature.
Per-word latency fits VoXtream's 102 ms first-packet target with room
to spare (5-10 word lookahead = 5-50 ms total phonemizer cost).

Doc captures:
  - Why this is worth doing (current ~600 ms TTS first chunk vs 102 ms
    claim from arXiv 2509.15969)
  - Three-piece integration architecture (phonemizer service, look-ahead
    window in Converse, optional Generator-side phoneme hint)
  - Three open questions that MUST be resolved before implementing
    (mechanism, CSM training compatibility, empirical win on this HW)
  - Six ordered porting tasks with hour estimates totaling 5-7 days
  - Alternative quick win: drop streaming chunk_frames from 4 to 2 or 1
    first; if that closes most of the gap, full VoXtream port may not
    be worth the complexity

Recommended order of attack written for the next session: try the
chunk_frames tuning before implementing the phonemizer. The cheapest
move is a 1-line config change.

Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>
2026-04-27 11:40:04 -07:00