Wakeword not being detected
The wake words "OK nabu" and "hey jarvis" are never detected.
Command:
script/run --host 192.168.0.30 --token IUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiI0NDredactedG9kg22mvNO --awake-sound sounds/awake.wav --done-sound sounds/done.wav --vad webrtcvad --debug
Hardware, raspberrypi 3b with Razer blackshark microphone + earphones headset.
speaker-test -t wav -c 2 plays audio succesfully
arecord --format=S16_LE --duration=5 --rate=16000 --file-type=raw out.raw records good quality audio
Homeassistant running on raspberry pi 4.
Using --debug-recording-dir <DIR> successfully records audio that I can playback and listen to that is of good quality.
OpenWakeWord Debug Logs - lots of connections and disconnections (wired network)
s6-rc: info: service s6rc-oneshot-runner: starting
s6-rc: info: service s6rc-oneshot-runner successfully started
s6-rc: info: service fix-attrs: starting
s6-rc: info: service fix-attrs successfully started
s6-rc: info: service legacy-cont-init: starting
s6-rc: info: service legacy-cont-init successfully started
s6-rc: info: service openwakeword: starting
s6-rc: info: service openwakeword successfully started
s6-rc: info: service discovery: starting
DEBUG:root:Namespace(uri='tcp://0.0.0.0:10400', models_dir=PosixPath('/usr/local/lib/python3.11/dist-packages/wyoming_openwakeword/models'), custom_model_dir=['/share/openwakeword'], preload_model=['ok_nabu'], threshold=0.5, trigger_level=1, output_dir=None, debug=True, debug_probability=False, model=[])
DEBUG:root:Loading ok_nabu from /usr/local/lib/python3.11/dist-packages/wyoming_openwakeword/models/ok_nabu_v0.1.tflite
DEBUG:wyoming_openwakeword.handler:Started thread for ok_nabu
DEBUG:root:Loading /usr/local/lib/python3.11/dist-packages/wyoming_openwakeword/models/melspectrogram.tflite
DEBUG:root:Loading /usr/local/lib/python3.11/dist-packages/wyoming_openwakeword/models/embedding_model.tflite
INFO:root:Ready
DEBUG:wyoming_openwakeword.handler:Client connected: 2372413966959250
DEBUG:wyoming_openwakeword.handler:Client disconnected: 2372413966959250
[23:33:50] INFO: Successfully sent discovery information to Home Assistant.
s6-rc: info: service discovery successfully started
s6-rc: info: service legacy-services: starting
s6-rc: info: service legacy-services successfully started
DEBUG:wyoming_openwakeword.handler:Client connected: 2372414857528512
DEBUG:root:Loading ok_nabu_v0.1 from /usr/local/lib/python3.11/dist-packages/wyoming_openwakeword/models/ok_nabu_v0.1.tflite
DEBUG:wyoming_openwakeword.handler:Started thread for ok_nabu_v0.1
DEBUG:wyoming_openwakeword.handler:Receiving audio from client: 2372414857528512
INFO: Created TensorFlow Lite XNNPACK delegate for CPU.
DEBUG:wyoming_openwakeword.handler:Client disconnected: 2372414857528512
DEBUG:wyoming_openwakeword.handler:Client connected: 2372418018292914
DEBUG:wyoming_openwakeword.handler:Receiving audio from client: 2372418018292914
DEBUG:wyoming_openwakeword.handler:Client disconnected: 2372418018292914
DEBUG:wyoming_openwakeword.handler:Client connected: 2372421131344396
DEBUG:wyoming_openwakeword.handler:Receiving audio from client: 2372421131344396
DEBUG:wyoming_openwakeword.handler:Client disconnected: 2372421131344396
DEBUG:wyoming_openwakeword.handler:Client connected: 2372424245476678
DEBUG:wyoming_openwakeword.handler:Receiving audio from client: 2372424245476678
DEBUG:wyoming_openwakeword.handler:Client disconnected: 2372424245476678
DEBUG:wyoming_openwakeword.handler:Client connected: 2372427366806785
DEBUG:wyoming_openwakeword.handler:Receiving audio from client: 2372427366806785
DEBUG:wyoming_openwakeword.handler:Client disconnected: 2372427366806785
DEBUG:wyoming_openwakeword.handler:Client connected: 2372430477170133
DEBUG:wyoming_openwakeword.handler:Receiving audio from client: 2372430477170133
DEBUG:wyoming_openwakeword.handler:Client disconnected: 2372430477170133
DEBUG:wyoming_openwakeword.handler:Client connected: 2372433635466737
DEBUG:wyoming_openwakeword.handler:Receiving audio from client: 2372433635466737
DEBUG:wyoming_openwakeword.handler:Client disconnected: 2372433635466737
DEBUG:wyoming_openwakeword.handler:Client connected: 2372436748400230
DEBUG:wyoming_openwakeword.handler:Receiving audio from client: 2372436748400230
DEBUG:wyoming_openwakeword.handler:Client disconnected: 2372436748400230
DEBUG:wyoming_openwakeword.handler:Client connected: 2372439864739777
DEBUG:wyoming_openwakeword.handler:Receiving audio from client: 2372439864739777
DEBUG:wyoming_openwakeword.handler:Client connected: 2372442225860357
DEBUG:wyoming_openwakeword.handler:Sent info to client: 2372442225860357
DEBUG:wyoming_openwakeword.handler:Client disconnected: 2372439864739777
DEBUG:wyoming_openwakeword.handler:Client connected: 2372442978494943
DEBUG:wyoming_openwakeword.handler:Receiving audio from client: 2372442978494943
DEBUG:wyoming_openwakeword.handler:Client disconnected: 2372442225860357
DEBUG:wyoming_openwakeword.handler:Client disconnected: 2372442978494943
DEBUG:wyoming_openwakeword.handler:Client connected: 2372446138718724
DEBUG:wyoming_openwakeword.handler:Receiving audio from client: 2372446138718724
DEBUG:wyoming_openwakeword.handler:Client disconnected: 2372446138718724
DEBUG:wyoming_openwakeword.handler:Client connected: 2372449253325951
DEBUG:wyoming_openwakeword.handler:Receiving audio from client: 2372449253325951
DEBUG:wyoming_openwakeword.handler:Client disconnected: 2372449253325951
DEBUG:wyoming_openwakeword.handler:Client connected: 2372455369511985
DEBUG:wyoming_openwakeword.handler:Receiving audio from client: 2372455369511985
DEBUG:wyoming_openwakeword.handler:Client disconnected: 2372455369511985
DEBUG:wyoming_openwakeword.handler:Client connected: 2372458505329691
DEBUG:wyoming_openwakeword.handler:Receiving audio from client: 2372458505329691
DEBUG:wyoming_openwakeword.handler:Client disconnected: 2372458505329691
DEBUG:wyoming_openwakeword.handler:Client connected: 2372461624311120
DEBUG:wyoming_openwakeword.handler:Receiving audio from client: 2372461624311120
DEBUG:wyoming_openwakeword.handler:Client connected: 2372471783886166
DEBUG:wyoming_openwakeword.handler:Receiving audio from client: 2372471783886166
DEBUG:wyoming_openwakeword.handler:Client connected: 2372474472219707
DEBUG:wyoming_openwakeword.handler:Sent info to client: 2372474472219707
DEBUG:wyoming_openwakeword.handler:Client disconnected: 2372474472219707
DEBUG:wyoming_openwakeword.handler:Client disconnected: 2372471783886166
DEBUG:wyoming_openwakeword.handler:Client connected: 2372489405350065
DEBUG:wyoming_openwakeword.handler:Receiving audio from client: 2372489405350065
DEBUG:wyoming_openwakeword.handler:Client disconnected: 2372489405350065
DEBUG:wyoming_openwakeword.handler:Client connected: 2372508261553845
DEBUG:wyoming_openwakeword.handler:Receiving audio from client: 2372508261553845
DEBUG:wyoming_openwakeword.handler:Client connected: 2372510596387034
DEBUG:wyoming_openwakeword.handler:Sent info to client: 2372510596387034
DEBUG:wyoming_openwakeword.handler:Client disconnected: 2372510596387034
DEBUG:wyoming_openwakeword.handler:Client disconnected: 2372508261553845
DEBUG:wyoming_openwakeword.handler:Client connected: 2372516750043089
DEBUG:wyoming_openwakeword.handler:Receiving audio from client: 2372516750043089
DEBUG:wyoming_openwakeword.handler:Client disconnected: 2372516750043089
DEBUG:wyoming_openwakeword.handler:Client connected: 2372520505958312
DEBUG:wyoming_openwakeword.handler:Receiving audio from client: 2372520505958312
Ok so it seems like just a very low sensitivity, getting like 1 in 20. Likely a openwakeword problem, I'll do some more testing tomorrow.
script/run --host 192.168.0.30 --token eyJhbGciOiJIUzI1redacted --done-sound sounds/done.wav --vad webrtcvad --debug --mic-device plughw:CARD=Device --debug-recording-dir records --noise-suppression 2 --auto-gain 25 --volume-multiplier 4
Ok, so I'm getting about a 50% hit rate with this command, using a tiny usb omnidirectional microphone and thrshold set in OpenWakeWord to 0.01
I have never got a second wake word to work.
I had to remove the awake sound as I was hitting this issue: https://github.com/synesthesiam/homeassistant-satellite/pull/1
script/run --host 192.168.0.30 --token eyJhredactedr94zQ --done-sound sounds/done.wav --vad webrtcvad --debug --mic-device plughw:CARD=Device --debug-recording-dir records --noise-suppression 2 --auto-gain 25 --volume-multiplier 6
So this command is working well with this microphone: https://www.amazon.co.uk/Recording-Microphone-Omnidirectional-Portable-Conferencing-BLACK/dp/B088D6SJBQ/ref=sr_1_3?crid=2BBB3RVD5RGEK&keywords=usb+microphone+raspberry+pi&qid=1697203109&sprefix=usb+microphone+rasp%2Caps%2C73&sr=8-3
Getting about a 70% pickup rate with a threshold of 0.5.
For anyone else with the same issue...
I also had problems with wakeword being detected using a cheap USB microphone. I used the "--debug-recording-dir <DIR>" option (mentioned at the very bottom of the homeassistant-satellite page) to listen to the recording and found quite bad audio effects which the audio enhancement options weren't able to clean up :-(
I swapped to a different microphone, and audio is now clear and no enhancements necessary.