Internal Voice Assistant on Separate Server

Sort of the idea I think this post is getting at. I have a Home Assistant Yellow and just bought a Home Assistant Voice Preview Edition. I want to set up a local voice system, but I don’t want to wait 8 seconds for the Pi Compute Module in the Yellow to process sound. So, I figured I’d set up faster-whisper and piper on a separate amd64 server I have handy and somehow link Home Assistant to it…but the READMEs for those projects seem geared toward command-line usage, and the Getting Started guides from Home Assistant seem focused on either “local” (meaning on the same host as the Home Assistant service) or “cloud” (meaning somewhere out in the internet) and nothing in between.

Long story to short question: Where do I look for guidance for setting up faster-whisper and piper on a separate server on my LAN, then getting Home Assistant to use it for Voice Assistant? I feel like it’s going to be something along the lines of “fooling” a “cloud” setup into talking to a local server…

Thanks in advance for all tips!

Note: This post was authored with more reference links, but I’m a ‘new user’ and therefore limited to two links per post…

If you know what Docker is, you’ll find ready-made images on the github.
I also suggest you check out the large topics in this section. You will find a lot of useful information.

You might be interested in this, just to give you an idea of what could be involved:

Sadly, the project is no longer active since one of the main devs died, but the instructions still work providing you don’t use a version of Ubuntu later than 22.04.

I give you the link not to suggest that you do it (although it’s a fascinating exercise) but to give you an idea of how complex (and expensive!) it can be to get a really fast response from a local server. Mine is still working and response times are comparable with Alexa - some latency on the first one if the system has been idle for a while, but otherwise immediate.

I also have a huge and embarrassing gaming machine humming in the corner of my study, complete with multiple fans and flashing lights.

Hey, thanks a lot for responding with such informative links. Sadly they don’t have the one bit I think I’m missing.

Let me tell a bit more about my journey so far…

  • I have Home Assistant set up on Home Assistant Yellow hardware
  • I have Home Assistant Voice Assistant Preview Edition (I’ll call it VA) set up
  • At the moment, I am using the “local” option presented while setting up VA
  • It’s all working; I can turn things on and off by saying “Hey Mycroft…turn on [etc]”
  • It’s slow (obviously and expectedly)
  • I have whisper and piper set up on a random other server in my network

How do I tell Home Assistant to make use of whisper and piper on that other server?

That’s the one piece that none of the articles I’ve read so far seem to explain clearly. One article says “To connect to the services from Home Assistant, use the IP of the guest system + port numbers 10300 and 10200 respectively” but neglects to say where to put in that information. I assume it’s some other integration like Wyoming but for a network connection instead of a local pipe.

I realize the whisper and piper on the separate server still won’t be ultra fast, as it’s still just running on general purpose silicon (not a GPU), but it ought to be faster than the RPi Compute Module inside the Yellow. Once I can get that setup working, I’ll have the confidence to investigate a GPU- or NUC-powered approach.

Continued thanks!

Wyoming - name of protocol. Accordingly, all components are added to the integration with this name.