# \[Suggestion\] Grouping Mycroft devices for audio playing

**URL:** https://community.openconversational.ai/t/suggestion-grouping-mycroft-devices-for-audio-playing/9078
**Category:** General Discussion
**Created:** [July 10, 2020, 3:20pm UTC](https://community.openconversational.ai/t/suggestion-grouping-mycroft-devices-for-audio-playing/9078 "2020-07-10T15:20:42Z")
**Posts on this page:** 12
**Page:** 1

<div class="post-metadata">

### Author: ![malevolent](https://community.openconversational.ai/user_avatar/community.openconversational.ai/malevolent/32/135_2.png) [@malevolent](https://community.openconversational.ai/u/malevolent)
#### Post date: [July 10, 2020, 3:20pm UTC](https://community.openconversational.ai/t/suggestion-grouping-mycroft-devices-for-audio-playing/9078/1 "2020-07-10T15:20:42Z")

</div>

We’re seeing lately a great community effort to provide music skills to Mycroft. At my home, I already have a few Mycroft instances on several devices, and my idea is to have one at each room of the house, so I can use them as intercom, or interact with my smarthome system from everywhere.

But, what about to play the very same music on all or some of my devices at the same time? It would be great to let mycroft devices to “group” for music playing, so I can say from any of them to play something in some room, a group of rooms or a complete home.

I know this is rather a smart speaker feature, but it would be cool to have it in Mycroft as well. The idea is the CommonPlay Framework should handle this and make sure all the devices are playing the same at the very exact time, so the music is playing around the house like a big stereo system, and skill developers can just call the CommonPlay Framework as usual.

What do you think about?

---

<div class="post-metadata">

### Author: ![Thorsten](https://community.openconversational.ai/user_avatar/community.openconversational.ai/thorsten/32/4539_2.png) [@Thorsten](https://community.openconversational.ai/u/Thorsten)
#### Post date: [July 10, 2020, 3:37pm UTC](https://community.openconversational.ai/t/suggestion-grouping-mycroft-devices-for-audio-playing/9078/2 "2020-07-10T15:37:41Z")

</div>

Nice idea.

As you said it’s a smart speaker thing primarily.  
Just as an idea on multiroom setup.  
I made a multiroom speaker setup based on pulseaudio with multiple mpd instances.

In pulseaudio you can defined virtual sinks and group rooms in that way. Maybe mycroft can read defined sinks for being dynamic.

pactl list sinks

Greetings  
Thorsten

---

<div class="post-metadata">

### Author: ![malevolent](https://community.openconversational.ai/user_avatar/community.openconversational.ai/malevolent/32/135_2.png) [@malevolent](https://community.openconversational.ai/u/malevolent)
#### Post date: [July 10, 2020, 4:01pm UTC](https://community.openconversational.ai/t/suggestion-grouping-mycroft-devices-for-audio-playing/9078/3 "2020-07-10T16:01:24Z")

</div>

> [@Thorsten](#):
>
> I made a multiroom speaker setup based on pulseaudio with multiple mpd instances.

That would be more or less the idea, plus controlling the audio from any of the mycroft instances (I could start playing music on my office, listening in all the house, but then stopping the audio on the kitchen).

---

<div class="post-metadata">

### Author: ![Thorsten](https://community.openconversational.ai/user_avatar/community.openconversational.ai/thorsten/32/4539_2.png) [@Thorsten](https://community.openconversational.ai/u/Thorsten)
#### Post date: [July 10, 2020, 4:51pm UTC](https://community.openconversational.ai/t/suggestion-grouping-mycroft-devices-for-audio-playing/9078/4 "2020-07-10T16:51:51Z")

</div>

Could this location independency be expanded to other skills, eg. being in the living room and saying : set a kitchen timer for 10 minutes and mycroft users kitchen PA sink for output.  
But this goes to another direction as I think you planned it with this thread.

---

<div class="post-metadata">

### Author: ![malevolent](https://community.openconversational.ai/user_avatar/community.openconversational.ai/malevolent/32/135_2.png) [@malevolent](https://community.openconversational.ai/u/malevolent)
#### Post date: [July 10, 2020, 6:12pm UTC](https://community.openconversational.ai/t/suggestion-grouping-mycroft-devices-for-audio-playing/9078/5 "2020-07-10T18:12:55Z")

</div>

Yes, that is outside the scope of the idea. And I think, but not pretty sure, that @JarbasAl Hive Mind can do something like those you’re saying.

---

<div class="post-metadata">

### Author: ![pcwii](https://community.openconversational.ai/user_avatar/community.openconversational.ai/pcwii/32/900_2.png) [@pcwii](https://community.openconversational.ai/u/pcwii)
#### Post date: [July 10, 2020, 7:35pm UTC](https://community.openconversational.ai/t/suggestion-grouping-mycroft-devices-for-audio-playing/9078/6 "2020-07-10T19:35:05Z")

</div>

I am pretty sure that @j1nx has implemented snapcast into his [MycroftOS](https://community.openconversational.ai/t/mycroftos-a-bare-minimal-production-type-of-os-based-on-buildroot/4708). I suspect snapcast is what @Thorsten is using with MPD.

---

<div class="post-metadata">

### Author: ![Thorsten](https://community.openconversational.ai/user_avatar/community.openconversational.ai/thorsten/32/4539_2.png) [@Thorsten](https://community.openconversational.ai/u/Thorsten)
#### Post date: [July 10, 2020, 8:22pm UTC](https://community.openconversational.ai/t/suggestion-grouping-mycroft-devices-for-audio-playing/9078/7 "2020-07-10T20:22:53Z")

</div>

I’ve no snapcast installation running, but it looks interesting.

---

<div class="post-metadata">

### Author: ![j1nx](https://community.openconversational.ai/user_avatar/community.openconversational.ai/j1nx/32/1260_2.png) [@j1nx](https://community.openconversational.ai/u/j1nx)
#### Post date: [July 11, 2020, 9:34am UTC](https://community.openconversational.ai/t/suggestion-grouping-mycroft-devices-for-audio-playing/9078/8 "2020-07-11T09:34:31Z")

</div>

Snapcast is doing exact that and more such as syncing the playback.

Configure pulseaudio to use snapcast as default sink.  
Configure mycroft to use pulseaudio

You can then use the snapcast API for all the stuff such as grouping etc.

---

<div class="post-metadata">

### Author: ![malevolent](https://community.openconversational.ai/user_avatar/community.openconversational.ai/malevolent/32/135_2.png) [@malevolent](https://community.openconversational.ai/u/malevolent)
#### Post date: [July 11, 2020, 10:13am UTC](https://community.openconversational.ai/t/suggestion-grouping-mycroft-devices-for-audio-playing/9078/9 "2020-07-11T10:13:36Z")

</div>

> [@j1nx](#):
>
> Snapcast is doing exact that and more such as syncing the playback.

Wow, didn’t know that software! So, a snapcast-skill would be awesome then, as I see snapcast has group support!

The only thing I cannot see is controlling playing from any snapclient, but I guess this could be handled by something like the mesh-skill o hive mind, don’t it?

---

<div class="post-metadata">

### Author: ![j1nx](https://community.openconversational.ai/user_avatar/community.openconversational.ai/j1nx/32/1260_2.png) [@j1nx](https://community.openconversational.ai/u/j1nx)
#### Post date: [July 11, 2020, 11:02am UTC](https://community.openconversational.ai/t/suggestion-grouping-mycroft-devices-for-audio-playing/9078/10 "2020-07-11T11:02:04Z")

</div>

A snapcast skill would be very welcome.

I posted more info about it including a link to the API elsewhere on the forums. Not sure where it was exactly.

---

<div class="post-metadata">

### Author: ![pcwii](https://community.openconversational.ai/user_avatar/community.openconversational.ai/pcwii/32/900_2.png) [@pcwii](https://community.openconversational.ai/u/pcwii)
#### Post date: [July 11, 2020, 9:03pm UTC](https://community.openconversational.ai/t/suggestion-grouping-mycroft-devices-for-audio-playing/9078/11 "2020-07-11T21:03:10Z")

</div>

> <https://github.com/badaix/snapcast/blob/master/doc/json_rpc_api/v2_0_0.md>

---

<div class="post-metadata">

### Author: ![malevolent](https://community.openconversational.ai/user_avatar/community.openconversational.ai/malevolent/32/135_2.png) [@malevolent](https://community.openconversational.ai/u/malevolent)
#### Post date: [July 14, 2020, 11:33am UTC](https://community.openconversational.ai/t/suggestion-grouping-mycroft-devices-for-audio-playing/9078/12 "2020-07-14T11:33:17Z")

</div>

Don’t know what is supposed to be this JSONs, I guess is a way to control what’s playing from any snapcast client?
