Mycroft across multiple hardware


#1

Hello,
Is it possible to hare different parts of mycroft running on different pieces of hardware. for instance multiple raspberry Pi’s running the audio in and out communicating back to a central core and message bus. This would allow each room to have its own audio interface to communicate with a central core to integrate with 3rd party devices. The core would run on a more powerful piece of hardware. If all modules in mycroft communicate with each other over the message buss they should be able to communicate across hardware. Has anyone experimented with this or can point me to some docs that i can read to experiment.


#2

The different Mycroft services communicate via the Messagebus. See the Mycroft docs for more details. In principle each service can run on a different machine, requires some configuration/tweaking.

To my knowledge current Mycroft core is not prepared to run in a real server/satellite configuration. You can connect a satellite that forwards utterance via the messagebus to a e.g. picroft, but the the intent action will be performed on the Picroft and dialog messages spoken on Picrofts speaker, not the sattelites.


#3

Thanks that was my intent sounds like the developers need to add extra properties to the message utterance indicating what satellite it came from so the response can be sent back to the correct host for announcement. are there any developers listening to this thread.


#4

I don‘t want to make any promise, but one of my side projects is getting a satellite configuration to work.

I have here a borrowed Matrixvoice One ESP32 (with Wifi). My idea is to flash it with the MQTT-Audio-Streamer and then build a skill/service so that the Matrixvoice acts like a satellite mic for Mycroft. I have found Hermes Audio Server which probably is helpful forwarding the MQTT audio stream into Mycrofts „STT queue“


#5

As i have experimented a little bit with snips i know that these guys use “Hermes” too.
https://docs.snips.ai/reference/hermes