4.9 Backend Diagnostics And Responsibilities

Use the boundary at which speech failed to choose the next diagnostic:

omnivox is not found

Check PATH; on POSIX, an absolute OMNIVOX_PROGRAM can identify the installed executable. Keep its adjacent espeak-ng-data and third-party-licenses directories with it.

omnivox --check reports an error or is inaudible

The failure is below Emacsvox. Consult Omnivox’s build guide, platform status, and diagnostics guide. Do not diagnose Emacs configuration until the tone and speech check passes.

The check passes but Emacsvox is silent

Confirm that TTS_PROGRAM=omnivox was present before Emacsvox loaded, then use M-x tts-speak-version. Under WSL2, also run make verify-windows-omnivox-runtime and restart the speech process after restaging.

A process starts and later fails

The Emacsvox POSIX/WSL launcher writes private, bounded stderr logs below $XDG_STATE_HOME/emacsvox/omnivox, defaulting to ~/.local/state/emacsvox/omnivox. Spoken text is excluded unless OMNIVOX_LOG_SYNTHESIS_TEXT is explicitly enabled; enabling it can expose passwords, messages, and document contents.

Server selection, the POSIX/WSL launcher, Windows staging, and the bundled Lisp adapter are implemented and documented in Emacsvox. Native builds, engines, the command line, runtime data layout, and protocol specifications are documented in the Omnivox repository. Backend-local READMEs describe licensed runtimes and compatibility adapters. Follow those sources for versioned details rather than copying their contracts into installation instructions.