# Linux Voice Assistant Experimental Linux voice assistant for [Home Assistant][homeassistant] that uses the [ESPHome][esphome] protocol. Runs on Linux `aarch64` and `x86_64` platforms. Tested with Python 3.13 and Python 3.11. Supports announcments, start/continue conversation, and timers. See [the tutorial](docs/linux-voice-assistant-2mic-install.md) to build a satellite using a [Raspberry Pi Zero 2 W](https://www.raspberrypi.com/products/raspberry-pi-zero-2-w/) and a [ReSpeaker 2Mic HAT](https://wiki.keyestudio.com/Ks0314_keyestudio_ReSpeaker_2-Mic_Pi_HAT_V1.0). This fork introduces the ability to use Wyoming OpenWakeWord instead of MicroWakeWord. ## Installation Install system dependencies (`apt-get`): * `libportaudio2` (for `sounddevice`) * `build-essential` (for `pymicro-features`) * `libmpv-dev` (for `python-mpv`) Clone and install project: ``` sh git clone https://github.com/OHF-Voice/linux-voice-assistant.git cd linux-voice-assistant script/setup ``` ## Running Use `script/run` or `python3 -m linux_voice_assistant` See `--help` for more options. ## Connecting to Home Assistant 1. In Home Assistant, go to "Settings" -> "Device & services" 2. Click the "Add integration" button 3. Choose "ESPHome" and then "Set up another instance of ESPHome" 4. Enter the IP address of your voice satellite with port 6053 5. Click "Submit" [homeassistant]: https://www.home-assistant.io/ [esphome]: https://esphome.io/