Quickstart

You've installed horchd (see Install) and systemctl --user status horchd says it's active (running). Now register your first wakeword.

Option A — use a pretrained openWakeWord model

# Pull a pretrained model into the user models dir
mkdir -p ~/.local/share/horchd/models
oww=$(python -c 'import openwakeword, pathlib; print(pathlib.Path(openwakeword.__file__).parent / "resources/models")')
cp "$oww/hey_jarvis_v0.1.onnx" ~/.local/share/horchd/models/

# Register it with the daemon
horchctl wakeword add hey_jarvis --model ~/.local/share/horchd/models/hey_jarvis_v0.1.onnx
horchctl status

Option B — train your own

For a custom wakeword see openWakeWord's training pipeline. The export must be .onnx with shape (N, 16, 96) → (N, 1). Drop it in the models dir and register:

cp ~/Downloads/<name>.onnx ~/.local/share/horchd/models/
horchctl wakeword add <name> --model ~/.local/share/horchd/models/<name>.onnx --threshold 0.5

See Training a wakeword for the full path matrix.

Verify

horchctl monitor
# (speak the wakeword)

Each fire prints one line:

0.831423   hey_jarvis              ts=12894301527

React to fires from your own script

Subscribe to xyz.horchd.Daemon1.Detected on the session bus from any language that speaks D-Bus. See the Bash, Python, and Rust subscriber recipes.

Day-to-day

horchctl wakeword list                                      # tabular view
horchctl wakeword threshold hey_jarvis 0.6 --save           # tweak + persist
horchctl wakeword disable hey_jarvis --save                 # mute without unloading
horchctl wakeword enable  hey_jarvis --save
horchctl wakeword remove  hey_jarvis                        # keeps the .onnx on disk
horchctl reload                                             # re-read config.toml
horchctl device list                                        # list mic devices
horchctl device set "PipeWire Sound Server"                 # hot-swap input
journalctl --user -fu horchd                                # live logs
Found a bug? Improve a section?

These docs live at codeberg.org/NewtTheWolf/docs.horchd.xyz. File an issue or send a pull request — even a typo fix is welcome.

For bugs and feature requests against the daemon itself, head to the horchd issue tracker.