If speech did not start, keep the isolated launcher as your known starting point and find the first command below that did not work:
./bin/emacsvox --diagnose failsNo audio or interactive Emacs has started. Follow the reported selection:
set EMACS, correct EMACS= in local.mk, or install Emacs 31
or newer when the Emacs check fails. When the speech backend is not
executable, finish installing Omnivox, put it on PATH, or set
OMNIVOX_PROGRAM to its absolute executable. Under WSL2, confirm the
pre-built executable selected in
Install An Omnivox Windows Release Under WSL2, or verify a
source-built staged runtime described in Building Omnivox For WSL2.
--check errors or is inaudibleThe speech server needs attention before Emacs configuration is relevant. Follow Backend Diagnostics And Responsibilities until the check produces both its tone and speech.
Run ./bin/emacsvox --diagnose again from the same checkout and shell.
Remove an unintended TTS_PROGRAM override if the report does not select
omnivox. Then request an Emacs startup backtrace with:
./bin/emacsvox -- --debug-init
An error saying Could not find speech server executable means the
backend visible during that start cannot be executed. Correct the reported
backend path rather than adding more init-file configuration. For an Omnivox
process error, inspect the private log directory described below.
If Emacs reports that an Emacsvox speech server exited, inspect the Omnivox
session log and type M-x tts-restart RET after correcting the backend
problem. Logs are below $XDG_STATE_HOME/emacsvox/omnivox, defaulting to
~/.local/state/emacsvox/omnivox. Spoken text is omitted unless explicit
text logging is enabled.
Remove or comment out the Emacsvox environment and load-file forms from
the personal init file. This is the rollback: it leaves the checkout and the
known-good ./bin/emacsvox path intact. Re-add the forms in the order
shown in Persistent Startup; backend selection must happen before setup
is loaded.