- Progressive pause mode predicts g2pW readings per part from the same complete document (real-model gate: identical phones on five CCRD batches; local first-part pronunciation 8.8-16.1 s -> 0.07-0.79 s).
- Trim Kokoro's outer near-silence per part (~0.75-0.8 s) before deliberate pause_after silence; narration identity phrases-v10-trimmed.
- Optional GET /tts/jobs/{id}?after=N long-poll sharing the wait_first 8 s/16-waiter bound.
feat: reopen completed speech cache without admitting inference
Add strict opt-in cache-only lookup for exact original plans used by backward navigation. Misses return 410 without new work or joining pending jobs; retain rate, idempotency and cache bounds. Add API and normal connective-tone regressions. Models, actual phonemes, default synthesis, quote API and standalone reader remain unchanged.
feat: validate word-phrase plans and return first audio without polling
Support opt-in contiguous UTF-16 segment ends with numeric/surrogate protection and cache/retry identity. Keep the exact worker publication plan. Bounded asynchronous wait-first returns on an immutable published part, with 8-second/16-waiter fallback to ordinary 202. Preserve strict/default clients, quote API, model pins and CPU hardware.
feat: opt-in short pauses for unsupported speech characters
Keep strict default requests and original UTF-16 source spans. Replace only unavailable phonemes with commas in pause mode, encode intentional symbol-only PCM pauses, and bind the policy to bounded work/cache/idempotency. Preserve models, voices, pronunciation, single CPU worker and quote API.
Restrict parent origin/window/channel and frame ancestors; import bounded original text/context without auto synthesis or private bookmark restoration. Reuse existing independent player and require explicit active-speech replacement. Add cross-frame keyboard and collapse/stop controls while leaving inference and quote API unchanged.
feat: add optional duration-preserving CPU pitch audition
Preserve original text/UTF-16 positions and pinned CPU models. Keep dates, versions and labelled numeric IDs whole across source plans; use the same idempotent spoken forms in contextual and acoustic frontends. Add browser-only 0.5-2 playback rates and nonpersistent clip/deadline sleep timers with progress-safe cancellation.
feat: add source clip navigation, structural pauses and pause-aware prefetch
Keep original UTF-16 text and complete MP3 API. Publish source plans before synthesis, add safe source highlighting and previous/next/click seeks, vary supplemental silence by structure, and stop speculative tasks/audio preloads while paused. Release late job capabilities and ignore obsolete play promises without changing CPU, models, voices or quote data.
feat: publish completed speech parts and add resumable long reader
Preserve complete MP3 API, quote/data contracts and pinned two-thread CPU models. Add bounded atomic part publication with cancellation-safe leases, contextual adjacent batches and idempotent retries. Audition reader supports opt-in local bookmarks, at most one following batch and MP3 preload, and explicit recovery without skipping text.
feat: add contextual g2pW readings and use both CPU cores
Keep Kokoro voices and quote API/data unchanged. Add pinned offline g2pW ONNX polyphone disambiguation, preserve lexical tones and reviewed regional dictionary readings, retain source offsets across synthesis splits, and use two CPU threads sequentially in the existing single worker.
fix: clean up audition sessions and audio API schema
Preserve original quote routes and data. Add one isolated Kokoro CPU worker, checksum-pinned build assets, bounded admission/cache, job cancellation, native MP3/Range playback and cross-site CORS. Consolidate case-colliding readme into the HF README for Android development.