Hardware specification checlist

Hello community,

I am new to the world of Rhasspy and voice assistants however am looking to try and get some feedback or assistance please on hardware? I am bewildered by the collective knowledge here. I especially like the posts by @rolyan_trauts and @romkabouter in this space.

I have been having an extensive read of prior forum posts similar to my request but they all seem to be back in mid 2020, prior to the release of the most recent Rhasspy version.

I am looking to obtain hardware for a setup of master/satellite configuration. My master will be a 2014 Mac Mini running ubuntu 20.4. I will be looking to have 5 satellites from this server eventually, but first to have 2.

My use case is as follows:

  • Voice commands to run/activate my homeassistant commands
  • Streaming audio to multiple speakers at the same time (white noise for sleep for 3 bedrooms) - Speakers are available to be used - bluetooth speakers that have aux in
  • Respond to weather requests from my home weather station

I was assuming from initial reading that I could use a pi zero w and respeaker 2 mic but am now concerned that this will not support snapcast and rhasspy satellite? Having read posts from may 2020 it seemed that the CPU load pushed the zero w to 100% using this setup but I think this was before the slimming down of the snowboy wakeword files for intent recognition?

I am not adverse to soldering but have not done so in quite some years… I am after advice from anyone that may have a similar setup as to whether I should be looking at a pi3a+ onwards or if I could get away with the pi zero w?

Alternatively, if it is something that may be feasible with the M5 Atom Echo and an ESP32-WROVER board running Squeezelite? My only concern would be cancellation or lowering of broadcast sound to incoming wakeword with this setup.

Any help would be greatly appreciated as to most cost effective but workable solution.

I’d recommend going with a Rpi3a+ or if money is not an issues then a Pi4.
I have the exact same usecase, satellite taking care of wakeword and snapcast.

My PiZeroW even has troubles keeping up with JUST snapcast. So I just went with some Pi3a+ and they work just fine. They have a lot of room to do even more processing. I have one with the respeaker 2mic hat, and 2 with the 4 Mic hat (1 original, 1 cheap clone for 13€). I would recommend the cheap 4 Mic Hat if you are going to use the AUX out of the Pi.
As for AEC (Active Echo Cancellation) I had no luck so far making this work reliable with both of the respeaker hats. But it works fine on the respeaker usb array that has this function built in.

The only thing I dont like on the Pi3a+ is that it doesnt come with an ethernet jack, that why i said maybe just go directly with the Pi4.

@AlmostSerious Thank you for taking the time to reply. I appreciate your input.

For my case, I would only be able to do ethernet over powerline as I rent and do not want to have cat cable running over the wall lines haha. I would probably be looking at the Pi3a+ for cost effectiveness.

Thank you again for your input, especially for the 4 mic hat recommendation which I had not considered, but if going to a larger form for the pi this would be something I would look at.

Do you use an onboard or external amplifier at all? Or the sound output from the HAT works out ok for this?

Dont suppose you have a link to the cheap 4 mic please? :slight_smile:

4 Mic Hat @AmazonGermany:
https://www.amazon.de/gp/product/B08JC21Z5J/

Works for me the same as the original respeaker one.
Performance is a bit better than the 2Mic Hat in my case.

Pro 2 Mic Hat:
Smaller, has an amplifier and 3.5mm onboard
The amplifier is strong enough to power a small rear surround in my case which has a 3" Driver and a small tweeter.

With my 4Mic Hat i’m simply using the Rpi 3.5mm output. This is good enough for me quality wise. Depending on the Speakers you are using, you may be able to power them through the USB-A on the Pi aswell.

Ethernet over Power would still require an ethernet socket on the RasPi … instead the Pi 3a+ has Wi-Fi built in.

As far as the ReSpeaker products go - I would be wary. Seeing them repeatedly mentioned in the Rhasspy documentation I misinterpreted that as a recommendation … only to find that the manufacturer ceased supporting them over a year ago, and they are no longer recognised by new installs of Rhasspy. I think you may find that the hardware in the 2-mic versions has more users so theoretically better support.

I assume you are referring your other post here?
They still work perfectly fine for me on the latest 2.5.10 Version of Rhasspy.
First you need to make sure that your system can access the MIC (on a OS Level) and then you need to give Rhasspy access to the Microphones as well. Depending on your installation method that can be more or less difficult. If Rhasspy is running as a container then you may need to expose the Card to this container in order to have it working.

@donburch Thanks for the input. I was meaning preference towards Pi3a+ due to the lack of feasibility for ethernet.

Regarding the Respeaker products I have been reading they can utilise waveshare firmware?

For the 2Mic Hat you may try it.
It uses the same WM8960 like the Waveshare. But not sure if it will work.

The 4Mic Hat uses the AC108 so its different.

@AlmostSerious thank you, that saves me some headaches if it wont match I will look at the AC108 now thank you

The 4 mic from memory doesn’t have audio out which is essential if you intend to create an all-in-one and play media.
The EC that will attenuate what is playing from the mic signal uses the same clock to tightly sync and remove echo.

So if your planning on a all-in-one you want a card with audio in & out but to be honest if you can split your mic and speaker it has a whole load of benefits but you do lose ec.

The 2 mic respeaker, adafruit to clone is the cheapest on the market as hat its a wm8960 codec with some feng shui of the pcb but essentially all the same.

Usb soundcards require you to create some sort of mic and if you can be bothered to solder 2 wires then unidirectional electrets have some interesting benefits.
Its a long story but we don’t have any beamforming algs or blind source speration as open source for the pi so multi mic arrays are really just a whole lot of pointless over a single mic.
As a single mic a unidirectional can actually be better than omnidirectional.

The supposed raspberry supported IQaudio codec zero is a WM8960 upgrade that supports multiple inputs and outputs onboard single mems, 3.5mm mic, stereo aux in & out + speaker out.

Then from that point there are many products of really a whole lot of pointless to far field dsp array mics that can hear a mouse fart in Australia but still get swamped by 3rd party noise.

As for the wm8960 use the adafruit instructions as its a hobsons choice but the drivers by hintak are the best

@rolyan_trauts

Thank you for your continued advice in regards to these matters. I do think that the idea of having multiple input and output would suit my use case as I expand so I may down this route for initial purchase and setup.

I might grab an iQaudio and Adafruit voice bonnet and pair both with pi3a+ to see what kind of results can be achieved.

I thank you again for helping with this

The Adafruit is like any WM8960 drivers a bit shaky and can just use onboard mems but that might be all you need for $10.
Iquaudio has a range of inputs and outputs so more flexible for $20