2026-10-04 · Creator Publishing Hub audio generation
Share existing speech-generation work across three compatible processors while reducing sustained load and preserving queue ownership.
What changed
- Add a private speech broker with persistent fair rotation across three fixed backends, one active inference and 30 seconds of quiet after each completion.
- Bound waiting work, quarantine failed backends and pause after uncertain synthesis outcomes instead of automatically repeating the same narration.
- Add isolated native Apple Silicon speech runtime guidance and a guarded launcher with one model worker, low CPU priority and bounded GPU memory.
- Provide operator setup, health checks, rollback guidance and checksums; preserve existing article queues and provider choices.
- Reduce article work to single-item batches and 1,000-character narration segments; slow rapid timers to a three-minute interval while retaining an existing slower site cadence.
- Make competing audio timer jobs defer cleanly when the existing queue lock is busy, avoiding long lock waits and misleading provider failures.
- Use a bounded Fish-only HTTP transport with an explicit whole-request deadline so delayed narration responses can finish without a separate fetch header timeout.
- Retain reduced CPU priority, thread and memory limits while using a less restrictive process scheduling class for native speech workers.
Verification
- All 19 broker checks, 11 Fish transport checks, six existing audio checks, 16 existing Reel checks and 13 native runtime guard checks passed. Broker and transport checks also passed on the production Node 22 runtime.
- Three actual hosts generated valid, non-silent WAV outputs using unchanged model checkpoints and voice references. Matched isolated Torch and Torchaudio 2.6.0 resolved the tested Apple Silicon decoder compatibility limit.
- Three requests through the installed broker rotated across all three hosts and returned MP3 files that passed full decode checks. Persistent rotation and counters survived an idle service restart.
- Both native services and private connections passed health checks. Effective timer, batch and timeout settings were verified before resuming all previously active audio timers. A production synthesis request has completed; complete-article attachment remains under observation.
- An actual operating-system and service-manager lock check confirmed busy admission returns its configured clean defer status without dispatching another worker; dispatch resumes after the lock is free.
- A controlled scheduling comparison returned a byte-identical seeded MP3 with faster native synthesis while retaining the configured CPU, memory and quiet limits.
Rollout
Controlled shared-pool rollout. All three hosts passed speech and broker routing tests. Production callers are configured for the shared endpoint; new Fish timer admissions are paused while a long-response caller timeout is corrected and the active generation finishes. Complete-article attachment remains under observation.
Updating
- This is an operator-managed audio runtime update; no WordPress plugin or browser extension update is required.
- Back up the current audio endpoint and timer settings before changing them. Keep voice references consistent across backends.
- Keep existing queue locks, use private backend connections and verify generated audio before resuming the slower timers.
Scope and limitations
- This release does not introduce parallel ownership of a WordPress audio queue; job claims are still required before that can change.
- The tested Apple Silicon runtimes use native Metal acceleration without CUDA compilation. Unified GPU memory does not imply faster synthesis; the Mac outputs took longer than the CUDA backend in these tests.
- Health responses and synthesis results do not prove a WordPress attachment or Facebook publication. Existing publication rules remain in effect.