A voice for your home.
Give Home Assistant's Assist live transcription and spoken replies. Keep wake-word detection, voice activity detection, and intent matching local. waven.ai handles transcription (speech-to-text) and narration (text-to-speech) on models we host on our own GPUs.
What runs where
The HACS integration runs inside Home Assistant. The Wyoming add-on runs as a separate proxy. Both send the post-wake utterance to waven.ai for transcription and the response text for narration. The speech models run on our servers, so your Home Assistant Green or Raspberry Pi does not need a GPU for them.
Your wake word, voice activity detection, and intent matching stay in Home Assistant. Your automations stay there too.
Make Assist sound like home
- Live transcription. The HACS integration streams multilingual transcription and lets you choose the speech model.
- A voice for each reply. Choose stock voices or saved cloned voices for acknowledgements, confirmations, announcements, and errors. You can override the voice for a single call.
- A daily limit you set. The integration defaults to a 30-minute household cap for transcription and narration combined. It notifies you at 80% and pauses cloud voice at 100% until local midnight. Your automations keep running.
- Recent requests, in Home Assistant. A local audit log shows the timestamp, model, and duration of voice requests.
Start with an API key
Every plan includes API keys. Free includes one key for transcription and stock-voice narration. Voice cloning is available on Personal, Pro, Studio, and Enterprise. Both install paths use your waven.ai account's minute allowances. Compare plans and pricing.
Create an account, accept the current Terms of Service and Privacy Policy in the dashboard, then create a waven.ai API key before connecting Home Assistant.
Using a restricted API key?
Give the integration these scopes: account:read, tts:generate, stt:stream, stt:transcribe, and voices:read.
Install with HACS
The recommended path, with live transcription, voice routing, and daily-cap notifications inside Home Assistant.
- In HACS, add https://github.com/waven-ai/home-assistant-waven as a custom repository with category Integration. Install Waven and restart Home Assistant.
- Open Settings → Devices & Services → Add Integration → Waven and paste your
wvn_…API key. - Open Configure to assign voices by response category, choose the speech model, and set the daily cap.
- In your Assist pipeline, select Waven for both speech-to-text and text-to-speech.
Install the Wyoming add-on
The standalone proxy connects through Home Assistant's built-in Wyoming Protocol integration. It returns one final transcript per utterance and uses a single default voice.
- Open Settings → Add-ons → Add-on Store → ⋮ → Repositories and add https://github.com/waven-ai/waven-wyoming-proxy. Install Waven Wyoming Proxy.
- In the add-on's Configuration tab, paste your API key, choose a default voice, and start it.
- Supervisor discovery announces the add-on. Open Settings → Devices & Services and configure the Wyoming Protocol card under Discovered. Select its speech-to-text and text-to-speech services in your Assist pipeline.
In the add-on's Network settings, clear host port 10300 unless a client outside Home Assistant needs it. Home Assistant connects over the internal add-on network; the host port has no authentication.
Read the add-on guide for manual connection and Docker setup. Plain Docker does not use Supervisor discovery.
Your audio and privacy
By default, we do not use your inputs, reference audio, transcribed audio, or generated outputs to train or improve our models.
Generated audio files have a 72-hour retention period followed by scheduled cleanup. Read the privacy policy for retention and deletion details, and the integration's privacy guide for audio-cache controls.