From b91cc1adc32247954e8f1ccfea1fbe423d4d792d Mon Sep 17 00:00:00 2001 From: ducoterra Date: Tue, 14 Oct 2025 12:37:55 -0400 Subject: [PATCH] add install wakeword notes to wyoming --- active/systemd_wyoming/wyoming.md | 66 ++++++++++++++++++++----------- 1 file changed, 43 insertions(+), 23 deletions(-) diff --git a/active/systemd_wyoming/wyoming.md b/active/systemd_wyoming/wyoming.md index 17d534a..97380a5 100644 --- a/active/systemd_wyoming/wyoming.md +++ b/active/systemd_wyoming/wyoming.md @@ -2,11 +2,11 @@ - [Wyoming Satellite](#wyoming-satellite) - [Data Flow](#data-flow) + - [Install wakeword](#install-wakeword) - [Install Wyoming](#install-wyoming) - [Hardware](#hardware) - [Bluetooth keepalive](#bluetooth-keepalive) - [Bluetooth autoconnect](#bluetooth-autoconnect) - - [On-device wake word](#on-device-wake-word) - [Systemd](#systemd) - [Debugging](#debugging) - [Volume](#volume) @@ -52,30 +52,63 @@ sequenceDiagram end ``` +## Install wakeword + + + +Note that --debug-probability will output thresholds for tuning. + +```bash +git clone https://github.com/rhasspy/wyoming-openwakeword.git +uv venv --python 3.9 +source .venv/bin/activate +uv pip install . + +# Copy the model +cp ~/Homelab/active/systemd_wyoming/jarvis_v2.tflite ~/wyoming-openwakeword/wyoming_openwakeword/models + +# typical wake word command +script/run \ +--uri 'tcp://127.0.0.1:10400' \ +--threshold '0.8' \ +--preload-model 'jarvis_v2' \ +# --debug-probability +``` + ## Install Wyoming -typical wyoming command: - ```bash +git clone https://github.com/rhasspy/wyoming-satellite.git +uv venv --python 3.9 +source .venv/bin/activate +uv pip install . +uv pip install webrtc-noise-gain==1.2.3 + +# Copy listen and done sounds +cp ~/Homelab/active/systemd_wyoming/{listening.wav,finished.wav} ~/wyoming-satellite/sounds + +# typical wyoming command # Add wake-uri and wake-word-name to your wyoming run script/run \ --name 'Living Room' \ --uri 'tcp://0.0.0.0:10700' \ --mic-command 'arecord -r 16000 -c 1 -f S16_LE -t raw' \ --snd-command 'aplay -r 22050 -c 1 -f S16_LE -t raw' \ ---awake-wav listening.wav \ ---done-wav finished.wav \ ---mic-auto-gain 5 \ ---mic-noise-suppression 2 \ ---mic-volume-multiplier 2 \ +--awake-wav sounds/listening.wav \ +--done-wav sounds/finished.wav \ --synthesize-command tee \ --transcript-command tee \ --wake-uri 'tcp://127.0.0.1:10400' \ --wake-word-name 'hey jarvis' \ ---wake-refractory-seconds 1 \ ---threshold 0.9 +--wake-refractory-seconds 1 + +# Allow through firewall +sudo firewall-cmd --new-zone=wyoming --permanent +sudo firewall-cmd --zone=wyoming --add-source=10.2.0.230/32 --permanent +sudo firewall-cmd --zone=wyoming --add-port=10700/tcp --permanent +sudo firewall-cmd --reload ``` ## Hardware @@ -193,19 +226,6 @@ Enable it systemctl --user enable --now speakerconnect.service ``` -## On-device wake word - - - -Note that --debug-probability will output thresholds for tuning. - -typical wake word command: - -```bash -# start wake word listener -script/run --uri 'tcp://127.0.0.1:10400' --preload-model 'alexa' -``` - ## Systemd ```bash