OpenWakeWord no longer triggers after changing Awake WAV in assist-microphone

Hi I’ve newly started HA and I find it as an amazing home automation project! I must admit that I am a noob to this and am learning more every day.

I have some trouble trying to get my openwakeword working. It was previously working flawlessly.
As someone with an itchy backside, I tinkered and tried various voices in assist microphone.
All was well until I attempted to change the Awake WAV from assist microphone config. At first it wasnt able to detect audio I’ve added into /usr/src/sounds/, so it got hung there looping with log message cannot find audio. I’ve finally changed it to another path to custom audio file, stored in /share/

But now, openwakeword would never trigger. I’ve tried resetting the awake WAV, reconfiguring wyoming, removed and reinstall add-on, none works. The OWW debug log shows many lines of client connected and disconnected.
The voice assistant debug pipeline looks like its stuck at wake_word. What should I do next to resolve this? Any pointers would be much appreciated.

openWakeWord debug log:

s6-rc: info: service s6rc-oneshot-runner successfully stopped
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, log_format='%(levelname)s:%(name)s:%(message)s', debug_probability=False, version=False, model=[])
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: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: 158551176019
DEBUG:wyoming_openwakeword.handler:Client disconnected: 158551176019
[19:32:01] 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: 163341643697
DEBUG:wyoming_openwakeword.handler:Sent info to client: 163341643697
DEBUG:wyoming_openwakeword.handler:Client disconnected: 163341643697
DEBUG:wyoming_openwakeword.handler:Client connected: 165503506669
DEBUG:wyoming_openwakeword.handler:Sent info to client: 165503506669
DEBUG:wyoming_openwakeword.handler:Client disconnected: 165503506669
DEBUG:wyoming_openwakeword.handler:Client connected: 165861890257
DEBUG:root:Loading hey_jarvis_v0.1 from /usr/local/lib/python3.11/dist-packages/wyoming_openwakeword/models/hey_jarvis_v0.1.tflite
DEBUG:wyoming_openwakeword.handler:Started thread for hey_jarvis_v0.1
DEBUG:wyoming_openwakeword.handler:Receiving audio from client: 165861890257
INFO: Created TensorFlow Lite XNNPACK delegate for CPU.
DEBUG:wyoming_openwakeword.handler:Client connected: 195438258029
DEBUG:wyoming_openwakeword.handler:Sent info to client: 195438258029
DEBUG:wyoming_openwakeword.handler:Client disconnected: 195438258029
DEBUG:wyoming_openwakeword.handler:Client connected: 227532037666
DEBUG:wyoming_openwakeword.handler:Sent info to client: 227532037666
DEBUG:wyoming_openwakeword.handler:Client disconnected: 227532037666
DEBUG:wyoming_openwakeword.handler:Client connected: 259619844149
DEBUG:wyoming_openwakeword.handler:Sent info to client: 259619844149
DEBUG:wyoming_openwakeword.handler:Client disconnected: 259619844149
DEBUG:wyoming_openwakeword.handler:Client connected: 291698658304
DEBUG:wyoming_openwakeword.handler:Sent info to client: 291698658304
DEBUG:wyoming_openwakeword.handler:Client disconnected: 291698658304
DEBUG:wyoming_openwakeword.handler:Client connected: 323760647913
DEBUG:wyoming_openwakeword.handler:Sent info to client: 323760647913
DEBUG:wyoming_openwakeword.handler:Client disconnected: 323760647913
DEBUG:wyoming_openwakeword.handler:Client connected: 355828741153
DEBUG:wyoming_openwakeword.handler:Sent info to client: 355828741153
DEBUG:wyoming_openwakeword.handler:Client disconnected: 355828741153
DEBUG:wyoming_openwakeword.handler:Client connected: 387956964626
DEBUG:wyoming_openwakeword.handler:Sent info to client: 387956964626
DEBUG:wyoming_openwakeword.handler:Client disconnected: 387956964626
DEBUG:wyoming_openwakeword.handler:Client connected: 420031399584

assist microphone debug log:

s6-rc: info: service s6rc-oneshot-runner successfully stopped
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 assist_microphone: starting
s6-rc: info: service assist_microphone successfully started
s6-rc: info: service discovery: starting
DEBUG:root:Namespace(mic_uri=None, mic_command='arecord -r 16000 -c 1 -f S16_LE -t raw', mic_command_rate=16000, mic_command_width=2, mic_command_channels=1, mic_command_samples_per_chunk=1024, mic_volume_multiplier=1.0, mic_noise_suppression=4, mic_auto_gain=31, mic_seconds_to_mute_after_awake_wav=0.5, mic_no_mute_during_awake_wav=False, mic_channel_index=None, snd_uri=None, snd_command='aplay -r 16000 -c 1 -f S16_LE -t raw', snd_command_rate=16000, snd_command_width=2, snd_command_channels=1, snd_volume_multiplier=1.0, wake_uri=None, wake_word_name=[], wake_command=None, wake_command_rate=16000, wake_command_width=2, wake_command_channels=1, wake_refractory_seconds=5.0, vad=False, vad_threshold=0.5, vad_trigger_level=1, vad_buffer_seconds=2, vad_wake_word_timeout=5.0, event_uri=None, startup_command=None, detect_command=None, detection_command=None, transcript_command=None, stt_start_command=None, stt_stop_command=None, synthesize_command=None, tts_start_command=None, tts_stop_command=None, tts_played_command=None, streaming_start_command=None, streaming_stop_command=None, error_command=None, connected_command=None, disconnected_command=None, timer_started_command=None, timer_updated_command=None, timer_cancelled_command=None, timer_finished_command=None, awake_wav='/share/danny-yes.wav', done_wav='/usr/src/sounds/done.wav', timer_finished_wav='/usr/src/sounds/timer_finished.wav', timer_finished_wav_repeat=[3.0, 0.75], uri='tcp://0.0.0.0:10700', name='assist microphone', area=None, no_zeroconf=True, zeroconf_name=None, zeroconf_host=None, debug_recording_dir=None, debug=True, log_format='%(levelname)s:%(name)s:%(message)s')
INFO:root:Ready
DEBUG:root:Connecting to mic service: ['arecord', '-r', '16000', '-c', '1', '-f', 'S16_LE', '-t', 'raw']
DEBUG:root:Connecting to snd service: ['aplay', '-r', '16000', '-c', '1', '-f', 'S16_LE', '-t', 'raw']
INFO:root:Connected to services
DEBUG:root:Using webrtc audio enhancements
DEBUG:root:Connected to mic service
Recording raw data 'stdin' : Signed 16 bit Little Endian, Rate 16000 Hz, Mono
[19:58:35] 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:root:Server set: 1758912463250
INFO:root:Connected to server
INFO:root:Streaming audio
DEBUG:root:Event(type='run-pipeline', data={'start_stage': 'wake', 'end_stage': 'tts', 'restart_on_end': True, 'snd_format': {'rate': 16000, 'width': 2, 'channels': 1}}, payload=None)
DEBUG:root:Ping enabled

Are you using Wyoming-Satellite or something else? I ask as the syntax is different than mine. I’m using Wyoming-Sattelite. i.e the flag for awake for it is --awake-wave /directory/awake.wav No quotes and a dash in the flag name, not underscore.

Here’s an example of my systemd file for my satellite service that works. Don’t worry about the “command” variables, that’s a system I setup for controlling the LED’s on my microphone array:

[Unit]
Description=Wyoming Satellite
Wants=network-online.target
After=network-online.target

[Service]
Type=simple
WorkingDirectory=/home/user/wyoming-satellite
ExecStart=/home/user/wyoming-satellite/.venv/bin/python script/run \
  --name 'nabupi1' \
  --uri 'tcp://0.0.0.0:10700' \
  --mic-command 'arecord -D plughw:CARD=ArrayUAC10,DEV=0 -r 16000 -c 1 -f S16_LE -t raw' \
  --snd-command 'aplay -D plughw:CARD=ArrayUAC10,DEV=0,DEV=0 -r 22050 -c 1 -f S16_LE -t raw' \
  --mic-auto-gain 2 \
  --mic-noise-suppression 0 \
  --wake-uri 'tcp://0.0.0.0:10400' \
  --wake-word-name 'ok_nabu' \
  --awake-wav /home/user/wyoming-satellite/sounds/awake.wav \
  --startup-command "/bin/sh -c 'echo off > /run/led_command/led_command'" \
  --detection-command "/bin/sh -c 'echo wakeup > /run/led_command/led_command'" \
  --stt-stop-command "/bin/sh -c 'echo listen > /run/led_command/led_command'" \
  --tts-start-command "/bin/sh -c 'echo speak > /run/led_command/led_command'" \
  --tts-played-command "/bin/sh -c 'echo off > /run/led_command/led_command'"
Restart=always
RestartSec=1

[Install]
WantedBy=default.target

Thank you for your response!
I think I got my understanding mixed up - it isn’t wyoming satellite but merely wyoming protocol integration in home assistant OS (run in Windows VBox). I’ve modified the configuration via webGUI for the addon, and the syntax checks out.

I have managed to resolve the issue. Here are the steps in my debug:

  1. I’ve lowered the trigger for OWW to 0, which causes the OWW to wake up everytime any audio (or noise) is sent to it. The idea here is to see what the assist-microphone is sending to the STT engine (OWW for this debug purpose) .

  2. The whisper STT log shows this:

[2025-10-06 10:37:39.687] [ctranslate2] [thread 7] [warning] The compute type inferred from the saved model is float16, but the target device or backend do not support efficient float16 computation. The model weights have been automatically converted to use the float32 compute type instead.
INFO:__main__:Ready
INFO:faster_whisper:Processing audio with duration 00:08.250
INFO:wyoming_faster_whisper.handler: You
INFO:faster_whisper:Processing audio with duration 00:15.000
INFO:wyoming_faster_whisper.handler: You
INFO:faster_whisper:Processing audio with duration 00:15.000
INFO:wyoming_faster_whisper.handler: You
INFO:faster_whisper:Processing audio with duration 00:15.000
INFO:wyoming_faster_whisper.handler: You
INFO:faster_whisper:Processing audio with duration 00:15.000
INFO:wyoming_faster_whisper.handler: You
  1. This symptom was similar to my Phone’s home assistant companion app whenever I trigger the assist but forgotten to disable “sensors off” setting (yes, I’m paranoid like that). It continues to wait for audio for ~15sec, fails to get any audio, then returns a “You”.
    This meant that the microphone was not working for my VBox, or HAOS isnt getting any mic inputs. I’ve debugged VBox with other virtual machines that I had and concluded that there were no issues with VBox, its settings nor the mic.

  2. Playing any TTS “try voice” or “announce” automation played audio through TTS with no issues. At least the TTS & output is OK.

  3. in HAOS, ha audio info returns no issue. It sees the mic, all configuration is ok.

  4. Then I performed ha audio volume input --index 1 --mute and then ha audio volume input --index 1 --unmute and then restart assist-microphone addon, all works fine with the customized awake WAV now.

I suppose something about the assist-microphone error looping triggered some invisible bug with the input being disabled.