Mycroft Community Forum

Picroft Multiple rooms

Hi everyone,

I’m planning to combine my house automation with picroft. Is it possible to use one raspberry with multiple microphones (one microphone for each room) or do I need to use von raspberry with picroft in each room?
Thanks in advance.

Eyk

Welcome @eyk107,

Currently you need a RPI with Picroft in every room. You are not the first to ask if Mycroft supports “satellite microphones” like some other voice assistants do. My prediction is that this will be available somewhere in the future (but I can’t see if it is near or distant future…).

1 Like

Thank you for your fast reply. I’ve searched the forum, but couldnt find any information

Welcome @eyk107
Even @Dominik answered your question, here are existing threads on this topic.

I am working on an mqtt skill that will publish and subscribe to commands and messages. This will permit multiple mycrofts (and Home assistant) to communicate with each other. Each Mycroft will have a location topic and the skill will publish the location that appears in the skill command. All commands and responses will be published to its own topic.

1 Like

i’ve had this for ages https://github.com/JarbasAl/hive_mind

ill try to find some time to write docs and make docker images, check “terminals” to see how to make satellites

this is not for everyday users, you kinda need to be a dev and read trough code to understand how to set things up until i write docs

note: this PR is recommended https://github.com/JarbasAl/jarbas-core/tree/feat/message_targetting

1 Like

Would LOVE to see documentation for HiveMind. I’m pretty weak on coding but would love to setup a half dozen PiCrofts around my house… plus on my phone whenever a legit, standalone Android APK is released.

1 Like

Pulseaudio does work over the network so guess you could use a Pi Zero as a microphone sender.
https://wiki.archlinux.org/index.php/PulseAudio/Examples#PulseAudio_over_network
USB microphone, still uses a Pi but a much cheaper one.

You can set Pulseaudio to summing mode with arrays and assign that to a stream.
Or hardwired multiple usb soundcards and sum those via ALSA.
https://alsa.opensrc.org/TwoCardsAsOne

Never tried, but prob possible.

Anyone ever tried?

Also guess there is pulseaudio - bluetooth and suppose even a mobile could act as a mic / speaker. They would all be on the same channel but they are really cheap now.

Needed PR has been merged into core, check the voice_satellite repo

@JarbasAl Does asyncio solve the QoS problems of pulseudio with WiFi and you would get timing problems with pulseudio over vanilla 802.11 Wifi connections?

the current voice satellite version handles the audio on device, the utterances is processed remotely

in a future version i will add a way to send the audio for transcription, i can’t really compare QoS at this point

voice satellite is basically a standalone version of the speech client from mycroft-core, just running a different machine