Running a multi-room system with a laptop as server

Hi All,

Sorry if this question has already been answered here, I didn’t find anything on a basic search but maybe I missed something.
I’m still trying to find where to start with Rhasppy and I have come to realise that many of my ideas are non-starters and that RPis and no-longer-supported mic/speaker items are not worth the bother. So starting from scratch I am wondering if a decent processing speed could be achieved relatively cheaply with a 4 or 5 year-old laptop as a central server ? Then added to this a series of mics and speakers in various rooms ? I know the power usage might be off-putting for many but for me, with solar panels, especially in the spring and summer, a few hundred watts is neither here nor there.

Does a laptop of that era have the power and maybe even a few things on-board that could be used for the “base station” ?

Many thanks,

I am currently working on a similar setup, but without the satellites. I would suggest only using a laptop if you already have one lying around. Power consumption is not a conern, but a mini pc would be a better choice in my opinion.
Lenovo B5400 released in 2014 with an i5-4200M, 8GB DDR3, SSD. Linux Mint Mate Edition set to autologin and lock/blank screen when the lid is closed. Measured from the wall, my figures are as follows.
Vanilla install idle: 3W
Rhasspy and node-red running: 7-8W
Wakeword detected and intent recognition: 10W
TTS processing: spike to 15W then 11W while speaking.
Sysbench cpu (4 threads): 26W

I tried 4-5 different distros, all headless ones like debian minimal install, but Linux Mint beat them all regarding power consumption. I can’t speak for HassOS tho, plus my node-red isn’t fetching any sensor data, just idling waiting for rhasspy intents.

I would definitely go with Intel. AMD beats Intel in performance, but Intel has far better idle and low usage efficiency. J4105 and J5005 can be passively cooled, but are inferior to a Raspberry Pi 5. N100 beats the Raspberry, but probably needs a small cooler. Just a few examples, I don’t have a specific recommendation.

Yes I happen to have an old laptop hanging around and those power figures are no bother at all.
Let me know if you move forward on this, I would be very interested to know what you do.

Here you can see my setup and my main reason against a laptop. It just looks bad. The Arduino is needed to switch 433Mhz stuff, as a laptop does not have GPIO pins like the Raspberry. Some other points that I have not yet mentioned are:

  • Battery should be removed or it will die.
  • Adding the Kernel parameter “video=eDP-1:d” disables the Display completely. Even if the display was off, it is now off off. Saves another 1-2W.
  • Using the tool intel-undervolt I can undervolt the cpu by 0.1V. Saves 0.5-2W.
  • The original power supply has coil whine below 8W load, i added a Lenovo USB C 20V PD trigger adapter and can now use a modern USB C GaN power supply that does not whine.

Using x86, snowboy and disabling wake + recorded WAV in rhasspy speeds things up quite a bit. I can just say “wakeword lights off” and the action is performed instantaneously.
How does it work when using satellites? Do they stream audio all the time or is the wakeword handling performed by each satellite?

Thanks for the details. I’m still “designing” my system so unfortunately I’ve got nothing to tell you just yet.

I’ve also got a Lenovo to use for this and an arduino kicking around somewhere so hopefully the Lenovo plus a couple of mics would be a base-station and I’m planning on using a Pi4 plus mics and speaker for a satellite.

I have a Respeaker 1.0 with the 6 -way mic hat but it’s practically unsupported and I’m not getting anywhere with it.

What mics are you using ?

The thing on top is a Jabra Speak 410 USB conference speakerphone. Apparently it has an omnidirectional microphone. I bought it used because people mentioned that it works quite well with rhasspy.

Vosk and Porcupine work on low end hardware.

For the microphone, maybe you can begin with the one already inside the laptop.

For this kind of stuff, i would recommend just to install Debian, without a graphical interface if you connect by ssh, or with a basic one (xfce ?) if you want one.