Microphone Passthrough issues with HA Assist (Whisper/openWakeWord) on Proxmox VM

I’m running Home Assistant (OS 17.2) as a VM on Proxmox 9.1.1 (Hardware: Intel N100, 16GB RAM, 512GB SSD). I am using Whisper (3.1.0) and openWakeWord for voice control.

The issue is that the microphone input isn’t working for ‘Assist’. It seems my local PC’s microphone is being used instead of the hardware connected to the N100 host.

How can I properly pass through a USB microphone to the HA VM and ensure it’s used for the wake word trigger?

stage: wake_word
run:
  pipeline: 01kptkq4x6am5m1e611ftqvvpr
  language: he
  conversation_id: 01KPV1PNCMFT1Y3MANKGXW5GKA
  satellite_id: assist_satellite.assist_microphone
  tts_output:
    token: RQOoU0uGQeZw6zXElpADQw.wav
    url: /api/tts_proxy/RQOoU0uGQeZw6zXElpADQw.wav
    mime_type: audio/x-wav
    stream_response: false
events:
  - type: run-start
    data:
      pipeline: 01kptkq4x6am5m1e611ftqvvpr
      language: he
      conversation_id: 01KPV1PNCMFT1Y3MANKGXW5GKA
      satellite_id: assist_satellite.assist_microphone
      tts_output:
        token: RQOoU0uGQeZw6zXElpADQw.wav
        url: /api/tts_proxy/RQOoU0uGQeZw6zXElpADQw.wav
        mime_type: audio/x-wav
        stream_response: false
    timestamp: "2026-04-23T02:58:02.209897+00:00"
  - type: wake_word-start
    data:
      entity_id: wake_word.openwakeword
      metadata:
        format: wav
        codec: pcm
        bit_rate: 16
        sample_rate: 16000
        channel: 1
      timeout: 0
    timestamp: "2026-04-23T02:58:02.209963+00:00"
started: 2026-04-23T02:58:02.209Z
wake_word:
  entity_id: wake_word.openwakeword
  metadata:
    format: wav
    codec: pcm
    bit_rate: 16
    sample_rate: 16000
    channel: 1
  timeout: 0
  done: false
[19:32:13] INFO: e[32mSuccessfully send discovery information to Home Assistant.e[0m
s6-rc: info: service discovery successfully started
s6-rc: info: service legacy-services: starting
s6-rc: info: service legacy-services successfully started
s6-rc: info: service legacy-services: stopping
s6-rc: info: service legacy-services successfully stopped
s6-rc: info: service discovery: stopping
s6-rc: info: service discovery successfully stopped
s6-rc: info: service whisper: stopping
[05:59:38] INFO: e[32mService exited with code 256 (by signal 15)e[0m
s6-rc: info: service whisper successfully stopped
s6-rc: info: service legacy-cont-init: stopping
s6-rc: info: service legacy-cont-init successfully stopped
s6-rc: info: service fix-attrs: stopping
s6-rc: info: service fix-attrs successfully stopped
s6-rc: info: service s6rc-oneshot-runner: stopping
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 whisper: starting
s6-rc: info: service whisper successfully started
s6-rc: info: service discovery: starting
e[0;93m2026-04-23 05:59:45.281579588 [W:onnxruntime:Default, device_discovery.cc:164 DiscoverDevicesForPlatform] GPU device discovery failed: device_discovery.cc:89 ReadFileContents Failed to open file: "/sys/class/drm/card0/device/vendor"e[m
INFO:__main__:Ready
[05:59:47] INFO: e[32mSuccessfully send discovery information to Home Assistant.e[0m
s6-rc: info: service discovery successfully started
s6-rc: info: service legacy-services: starting
s6-rc: info: service legacy-services successfully started
[18:52:53] INFO: e[32mService exited with code 256 (by signal 15)e[0m
s6-rc: info: service openwakeword successfully stopped
s6-rc: info: service legacy-cont-init: stopping
s6-rc: info: service legacy-cont-init successfully stopped
s6-rc: info: service fix-attrs: stopping
s6-rc: info: service fix-attrs successfully stopped
s6-rc: info: service s6rc-oneshot-runner: stopping
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
INFO:root:Ready
[18:58:10] INFO: e[32mSuccessfully sent discovery information to Home Assistant.e[0m
s6-rc: info: service discovery successfully started
s6-rc: info: service legacy-services: starting
s6-rc: info: service legacy-services successfully started
s6-rc: info: service legacy-services: stopping
s6-rc: info: service legacy-services successfully stopped
s6-rc: info: service discovery: stopping
s6-rc: info: service discovery successfully stopped
s6-rc: info: service openwakeword: stopping
[05:57:50] INFO: e[32mService exited with code 256 (by signal 15)e[0m
s6-rc: info: service openwakeword successfully stopped
s6-rc: info: service legacy-cont-init: stopping
s6-rc: info: service legacy-cont-init successfully stopped
s6-rc: info: service fix-attrs: stopping
s6-rc: info: service fix-attrs successfully stopped
s6-rc: info: service s6rc-oneshot-runner: stopping
s6-rc: info: service s6rc-oneshot-runner successfully stopped
[05:57:54] INFO: e[32mSuccessfully sent discovery information to Home Assistant.e[0m