Local Voice in Home Assistant core
Voice in Home Assistant
Control HA with your voice without any cloud integration
I am running Home Assistant Core using the docker container, Is there any way that we HA-core peasants to run the add-ons for Whisper and Piper?
I have been using Raspberry Pi Zero, 3A and 3B models with Rhasspy as voice assistant satellites, and decided now is the time to swap to HA Voice Assist.
https://github.com/rhasspy/piper
or
https://github.com/rhasspy/wyoming-faster-whisper
https://github.com/rhasspy/wyoming-piper
The easier way is to use official docker image and you can run it on another host if you want, just specify the right IP address and ports when you will configure the integrations.
Im running Home Assistant in a Docker container behind a reverse proxy. I’ve installed external Piper and Whisper containers (rhasspy/wyoming-whisper, rhasspy/wyoming-piper) and connected them through up the wyoming protocol integration.
Table of Contents
Quick start
Step 1, we need to install Whisper and Piper.
When install piper in your network you have three options
Option
Install wyoming-piper and wyoming-faster-whisper locally with Python virtual environment detail
Install piper locally (and also whisper), with docker detail
Install piper locally (and also whisper), with add-on detail
Step 2,Run Whisper, Piper, and OpenWakeWord on external server -> external voice services
Run a single-container speech-to-text service on Docker
Run a single-container text-to-speech service on Docker
Step 3,Connect it to home assistant core via wyoming integration -> connects external voice services to Home Assistant
Step 4,Exposing your devices to Assist.
Hardware
A voice assistant needs hardware.such as Android phone or ESP32-S3-BOX or ESP32-S3-BOX-Lite
Software
docker image of the Whisper, Piper, and OpenWakeWord。https://hub.docker.com/r/rhasspy/wyoming-whisper
step by step
step 1.Run Whisper, Piper, and OpenWakeWord on external server
Run Whisper, Piper, and OpenWakeWord with Docker.Pull the container,change path to your path and run it.
step 2.Connect it to home assistant core via wyoming integration
Just use the ha core and setup the wyoming integration. For host I selected localhost and for port pointed at port10200 and 10300
Whisper and piper arre recognized in home assistant.
The Wyoming integration connects external voice services to Home Assistant using a small protocol.
http://localhost:4999/boards/topic/14594/voice-in-home-assistant#22634
Note
Note that these images are only supported on 64bit architectures
I’ve tries with Raspberry 3B+ and Raspberry OS (32bit) and seems images are only for ARM64.I can not pulling on a rpi3 b+ because it cannot find the arm version.
The issue is that the standard rpi OS is in 32 bit and the images for piper and whisper are 64 bit.
http://localhost:4999/boards/topic/15742/local-voice-functionality-in-home-assistant-corehow-to-manually-install-piper-and-whisper-on-home-as#22675
Useful links
source:https://developers.home-assistant.io/docs/voice/overview/
https://community.home-assistant.io/t/how-to-manually-install-piper/568040
https://www.home-assistant.io/blog/2024/06/26/voice-chapter-7/
Comments
Comments are closed