If you’re like me and you decided to support Nabu Casa by buying the Home Assistant Yellow when it was first crowd funded, you probably wonder if it is possible to run the new Assist pipeline on it to enable local voice control of your home. Happily, the answer is yes, though it does have a few caveats.
I am currently running 2024.1.5, though it should work on any version that supports Whisper, Piper, and openwakeword. I will also say that it might not be as fast as a dedicated device if you have a lot of add-ons installed.
Install Whisper and start the add-on with the default model “tiny-int8”. This will give you Speech to Text.
Install Piper and go to the Configuration tab. The first option is “Voice”. Select the voice that you want from the list, preferably one with “-low” at the end, since these are the faster models. Some languages also have the option of an “-x_low” voice, but if you speak English, that is not available to you. Remember which voice you chose, as you will need this later on. Save the configuration and start the add-on.
Install openwakeword and start it, as the defaults seem to work fine.
Next, go to the Integrations section and enable the Wyoming Protocol Integrations which should have been discovered.
Now, test the voice generation by opening the Media Browser and going to the Text to Speech option and choosing “piper”. It should display a default sentence or two for testing purposes and have a language and voice selection option. Make sure the the voice it displays is the same one you installed in Piper and click “Say”. It may take a few seconds, but it should speak the line of text over the local speaker or headphones connected to your PC.
Now comes the best part: creating the voice pipeline itself. Go to Settings, Voice assistants and click the button to create a new voice assistant, or you can edit the default one; either option will work.
Name the new voice assistant; I named mine “Local Voice”… Then select the Home Assistant Conversation Agent. For Speech to Text, select “faster-whisper”. For Text to Speech, select piper, your language, and the voice you set up for the piper add-on. For wake word engine, select “openwakeword”, then one of the default options. Then save the Voice Assistant.
I may do a video to show the steps if there is enough interest in it.