Favicon of Willow

Willow

An open-source voice assistant for ESP32-S3-BOX hardware, with offline commands, self-hosted speech recognition, and Home Assistant integration.

Screenshot of Willow website

Willow is a self-hosted voice assistant platform for people who want home automation voice control on their own hardware. It runs on Espressif's ESP32-S3-BOX family and connects to Home Assistant, openHAB, or other services that accept speech results over HTTP. The project is open source under Apache 2.0.

You can choose where speech recognition happens. On-device recognition handles a configured set of commands and can work on a network without internet access. For speech beyond those commands, Willow Inference Server transcribes audio on a server you host. Tovera also provides a hosted inference service; that route sends audio off your hardware for processing.

Willow supports selectable wake words, including "Hi ESP" and "Alexa", and detects when you've finished speaking before taking action. Its far-field voice capture includes noise suppression and acoustic echo cancellation, useful for a device that sits across the room rather than beside your mouth. It also supports the ESP32-S3-BOX-3's color display and touchscreen.

The distinction from a cloud voice assistant is the choice between recognition entirely on the device and a separate speech server under your control. Generic REST API support lets it send recognized speech to applications beyond the named home automation systems. Willow Inference Server also supports text-to-speech and LLM tasks for Willow and other applications.

Similar to Willow