3.8 Recovering From No Speech

Keep the isolated launcher as your known starting point. Find the first stage that failed rather than adding configuration at several layers at once.

./bin/emacsvox --diagnose fails

No audio or interactive Emacs has started. Under WSL2, begin with ./bin/emacsvox-wsl-install --check and resolve its first reported item. Otherwise, correct the selected EMACS, the EMACS value in local.mk, or the installed Emacs version. When the speech server is not executable, finish installing Omnivox, put it on PATH, or set OMNIVOX_PROGRAM to its absolute executable. The guided WSL2 installer records that selection in a per-user file; rerunning it repairs a missing installation or selection without requiring a shell startup edit.

The diagnostic passes, but --check errors or is inaudible

Diagnose the speech server before Emacs configuration. Follow Backend Diagnostics And Responsibilities until both tone and speech are audible.

The audible check passes, but “Emacsvox is ready” is absent

Run ./bin/emacsvox --diagnose again from the same checkout and shell. Remove an unintended TTS_PROGRAM override if it does not select omnivox. Request a startup backtrace with:

./bin/emacsvox -- --debug-init

Could not find speech server executable means the server visible during that start cannot be executed. Correct its reported path rather than adding more init-file configuration. For an Omnivox process error, inspect the private log directory described below.

The ready message is heard, but one mode lacks spoken feedback

Run M-x emacsvox-startup-status RET. It names failed startup work or package integrations and retains the original error. Select the report and inspect its lines or paragraphs. M-x emacsvox-speak-buffer RET can read a short report; large requests have the limits described in Short reading and buffer limits. Correct the named package, configuration, or Emacsvox problem, then verify in a fresh session. For source edits, follow the byte-code build procedure before testing. Repeating startup or restarting the speech server does not retry failed integrations: an interrupted load can leave some hooks or advice installed. Keep the original error when requesting help.

The ready message is heard, but speech later stops

If Emacs reports that a speech server exited, inspect the Omnivox session log and run M-x tts-restart RET after correcting the server 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.

The isolated launcher works, but a customised Emacs start does not

Remove or comment out the Emacsvox environment and load-file forms from your init file. This rollback leaves the checkout and known-good ./bin/emacsvox path intact. Re-add the forms in the order shown in Persistent Startup; server selection must precede loading setup.