Speech-dispatcher handling improved.

This commit is contained in:
Storm Dragon committed 2026-10-28 11:34:57 -04:00
1 parent 60abcc37d9
commit ec32c6e4c4
11 files changed
+638 -222

No files matched your search

+19
View File
@@ -369,6 +369,25 @@ See the [keyboard guide](../config/keyboard/Readme.md) for an example.
The default driver is `speech-dispatcher`. Select its module, language, and
voice in Speech settings; empty values use server defaults.
Fenrir uses `SPEECHD_ADDRESS` when set: `unix_socket:/absolute/path` selects a
Unix socket, and `inet_socket:HOST:PORT` selects TCP (default host `127.0.0.1`,
port `6560`). Invalid addresses report an error. Otherwise, `SPEECHD_SOCKET`
selects a Unix socket. Without either variable, Fenrir uses
`$XDG_RUNTIME_DIR/speech-dispatcher/speechd.sock`, falling back to
`$XDG_CACHE_HOME/speech-dispatcher/speechd.sock` or
`~/.cache/speech-dispatcher/speechd.sock` when the runtime directory is unset.
With sudo, the default remains `/run/user/$SUDO_UID/speech-dispatcher/speechd.sock`.
Sudo may remove address variables; preserve them explicitly if needed.
When opening speech, Fenrir first tries the selected server. If its socket is
missing or refuses connections, Fenrir requests `speech-dispatcher --spawn`
and briefly retries. The daemon's configuration controls whether spawning is
allowed. `SPEECHD_CMD` can select another executable. Autostart is limited to
Unix sockets and local loopback TCP servers. When sudo changes the account,
start Speech Dispatcher as the invoking user first; Fenrir will not launch a
root-owned daemon for that user. Settings discovery never starts a daemon or
interrupts the active speaking client.
Hardware driver IDs are `dectalk`, `dectalk-usb`, `litetalk`, `doubletalk`, and
`tripletalk`. Serial drivers require `presentation.speech.hardware_device`,
for example `/dev/ttyUSB0`, and default to 9600 baud when