Master-slave relation between devices


I discovered Mycroft recently and I have one device with Mycroft installed on.
Now, I want to installed it on other devices but I want to know if it’s possible to create a master-slave relation between multiple devices where slaves will only execute Wake Word, STT, and TTS while the master will execute the rest of the remaining services.
My goal is to have only one AI for the entire house, and having the possibility to interact with, regardless of where I’m.

Thanks in advance,

Sorry, my english is not perfect, I’m french.

Thats what the Hivemind project is all about

Thanks for your answer,

Your project look interesting, is it ready to use ?
If no, you need help to develop it ?

It is technically functional, but very early. For instance, right now, it can handle all basic queries and operations, but it can’t reactivate speech to text on a slave. There is lots to do.

All worth doing! This is, among other things, how I’m getting Mycroft going on my PinePhone. All sorts of implications.

HiveMind has a channel at the Mycroft chat server, and would love help.

I’m currently working on using mycroft in docker on an x86 server (ie plenty of CPU), that sends/receives audio over the LAN using pulse’s TCP module. Individual RPis or similar can be placed around the house acting as Pulse servers. The RPi only needs to be powerful enough to run pulseaudio, none of the mycroft services are hosted locally on it. So this greatly increases the range of hardware that can be used as an end point.

Thanks to the magic of docker, creating additional mycrofts is a matter of copy pasting the docker-compose.yaml file, editing the container name/pulseserver address, and launching a new instance. The same mycroft.conf file is mapped across all instances, ensuring they are “in sync”.

I just had my first success with this last night, after changing track from the previous thought-train which was to use USBIP. I want to do a post about it but need to tinker a bit longer.

1 Like