I’ve just setup home assistant (in proxmox), and got rhasspy up and running with a usb mic and a speaker(all via USB).
I’m looking to set up around 4 speakers / mics around the house and don’t know where to start…
Does anyone have any advice or tutorials I can start from a hardware perspective, I’m handy with a soldering iron but the more off the shelf ( Amazon echo and Google dot aside) I can get the better…
I’ve looked into re-speakers and a few others but I’m really not sure where to start…
No obvious recommendation.
I have 3 satellites using various combinations of Raspberry Pi and reSpeaker (and look-alike) HATs. They work and were fairly easy to setup … but you should be aware:
The driver for reSpeaker devices does NOT include any of the Digital Signal Processing (DSP) features to take advantage of the multi-microphones.
I was very disappointed to find that seeed had abandoned support for the reSpeaker range several years before, advising customers to downgrade to 2018 OS to install their seeed drivers. I then found that HinTak has taken on the task of updating the reSpeaker drivers for newer OS kernels, but is not actively developing.
And pretty much all of the other multi-mic boards seem to be based on the same seeed driver
RasPi (if you can get them) and reSpeaker combo is more expensive than alexa/google home/homekit, with inferior sound processing. Personally i think the future will be ESP32-S3 and similar chips which combine processor and ADC, with enough AI grunt to do the DSP on-chip.
There are a few mic arrays with DSP built in - but most are commercial conferencing microphones, are intended for a quiet environment, and come at a much higher price.
With multiple satellites you are likely to find that sometimes two will respond to the same command (or respond to a misheard version of that command). While this is often amusing, it could also be serious.
Background noise (especially TV dialog) does cause annoying false voice commands. My automation now turns off my living room rhasspy when the TV turns on; and I have added a remote button with automations to pause (pause TV/turn light on dim/enable rhasspy), un-pause, and turn off.
Please don’t think I’m trying to talk you out of Rhasspy voice assistant - it does work well, and I would really miss it - just be aware that today there is a definite trade-off to get local processing and control.
as for the speaker/mic itself, I am using a Jabra 510.
besides that, I tried to use raspi0 as the satellite. However, that led to some issues so I also tried rpi3b. same result here. basically, the device gets unresponsive after some hours (sometimes even after days).
I have RasPi zero, 3A+ and 3B as satellites. The Zero is very noticably slower, and 3B is overkill for a satellite.
I also found that they would become unavailable to SSH; and my search suggested that it was the RasPi wi-fi going into power-save mode. Power-save makes sense for battery operated devices where the communication is always going from the satellite to server - but not so much for a mains-powered RasPi.
The next issue is that there is more than one method to disable the power-save mode, leading to confusion about which method to use. The method I used is to add ONE line to /etc/rc.local
/sbin/iwconfig wlan0 power off