How To: Easy synchronised multiroom audio (inc. Spotify!) using XSqueeze in XBMC

  Thread Rating:
  • 2 Votes - 5 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Post Reply
bossanova808 Offline
Donor
Posts: 2,200
Joined: Sep 2009
Reputation: 32
Location: Melbourne, Australia
Post: #1
I've spent some time developing an XBMC embedded Squeezebox player/controller solution that basically embeds a software squeezebox music player. And a by-product of this is an easy system for multiroom synchonised audio playback within XBMC.

Basically, rather than re-invent the wheel, I have tried to merge an XBMC system (and it's eye candy) - with an existing high quality infrastructure for synchronised multiroom audio. And it works really rather well. And you don't need any extra hardware (i.e. no actual squeezeboxes).

So - here's a quick recipe for easy, effective, synchronised multiroom audio in XBMC:

1. Install Logitech Media Server on your server (any machine that can reach your music library) - this runs on Windows, Mac, Linux, and various NAS/embedded/plug type platforms. Scan your music library and then you're set at the server end. (N.B. if you are running LMS on the same machine as your XBMC install, change the LMS server settings to serve on port 9091 so it doesn't conflict with the XBMC JSON interface running on 9090). Restart LMS after changing the port...)

2. On your XBMC players - and note for local playback you will need a Win/Mac/Linux/Arm machine (currently I am experimenting with Raspberry Pi) - it's not possible on iOS machines unfortunately) - install my repo using the link in the right panel of this page: Add-on:XSqueeze and from there install the XSqueeze add on.

3. Configure each of your XBMC's Add-on:XSqueeze to point to your LMS server, and to have a separate MAC address for each install (under Local Playback) - so that they register as separate players.

4. Run XSqueeze on each player, and set up synchronisation. The easiest way to do this is from the LMS web interface on the server - just go to your server:9000 and use the drop down player menu at the top right to set up your sync groups.


....and wa la, synchronised network audio playback inside of XBMC (well, technically control & visualisation of the system in xbmc and playback alongside of xbmc, but the effect is the same)...

**** NOTE I have recently added a new player engine to XSqueeze (called squeezelite) - which now supports Spotify!. Spotify playback (even synchronised!) - is working well.

My XBMC stuff:
(This post was last modified: 2013-04-04 07:49 by bossanova808.)
find quote
Ned Scott Offline
Team-Kodi Wiki Guy
Posts: 20,260
Joined: Jan 2011
Reputation: 253
Location: Arizona, USA
Post: #2
Nice!

You can make easy links to the XBMC wiki using double brackets around common XBMC words: debug log = debug log, Video library = Video library, SMB = SMB , userdata = userdata, etc
find quote
bossanova808 Offline
Donor
Posts: 2,200
Joined: Sep 2009
Reputation: 32
Location: Melbourne, Australia
Post: #3
Yeah - using totally free, open source software and your existing hardware - no need for any squeezeboxes at all (of course if you already have them you can bring them into the sync mix too!).

My XBMC stuff:
find quote
darynn Offline
Junior Member
Posts: 3
Joined: Jun 2012
Reputation: 0
Post: #4
Hi! I am new to xbmc so sorry if its a stupid question!

How exactly do you get the audio to synchronize with each other? I can seem to play music from one XBMC and resume it with another XBMC, but is it actually possible to play the same audio at the same time?

Thanks!
find quote
bossanova808 Offline
Donor
Posts: 2,200
Joined: Sep 2009
Reputation: 32
Location: Melbourne, Australia
Post: #5
Your are playing using XSqueexe right? You must be playing through this add on.

At the bottom of the addon are two lines - this represents a simple controller for the music player, you navigate with your arrows and the ok button basically. You want to navigate down to Settings -> hit ok/right to go into there -> navigate down to Synchronise hit right/ok -> you will then see a list of players connected to your LMS and you can choose to synchronise to a single other player or an existing player group if there are any.

Yes, with this, it is entirely possible to play synchronised music.

My XBMC stuff:
find quote
darynn Offline
Junior Member
Posts: 3
Joined: Jun 2012
Reputation: 0
Post: #6
Yes I am Big Grin

So yeah, I see the settings. I see Repeat, Shuffle, Rescan, etc. but I don't see the "Synchronise". hmmm =/
find quote
bossanova808 Offline
Donor
Posts: 2,200
Joined: Sep 2009
Reputation: 32
Location: Melbourne, Australia
Post: #7
Is the other player connected? Oh - you'll need to tell them to use two different MAC addresses in the XSQueeze settings....otherwise the two install will register as the same player....will add that to the notes above!

So go to addons->programs->XSQueeze->configure addon->Local Playback-> and change one of the players to 00:...:02 or whatever.

Now re-start XSqueeze on both boxes and then you should find synchronise available (you can check on your LMS server -> settings -> Information tab -> you should see two registered players under there)

My XBMC stuff:
find quote
darynn Offline
Junior Member
Posts: 3
Joined: Jun 2012
Reputation: 0
Post: #8
It works!!
That explains a lot about how it acted.
thanks so much Smile awesome solution!!
find quote
bossanova808 Offline
Donor
Posts: 2,200
Joined: Sep 2009
Reputation: 32
Location: Melbourne, Australia
Post: #9
Yeah, it's really kinda nifty and for me plugs a big whole in XBMC's abilities.... I didn't do all that much, just kind of wrapped it all up for XBMC, although even that took a fair bit of time. But the hard work was done by the people who wrote squeezeslave...

My XBMC stuff:
(This post was last modified: 2012-06-29 04:33 by bossanova808.)
find quote
rflores2323 Offline
Posting Freak
Posts: 1,920
Joined: Jan 2009
Reputation: 2
Post: #10
why no ios support?

ATV1 with crystalbuntu (12.2 frodo) as main theater. Theater remote URC MX-810, droidx with xbmc remote, or transformer tf101 with YATSE. 3 x ATV2 (V12.2 frodo).

find quote
bossanova808 Offline
Donor
Posts: 2,200
Joined: Sep 2009
Reputation: 32
Location: Melbourne, Australia
Post: #11
I am tempted to say 'because iOS is a closed suckhole of an OS' but it's really because squeezeslave doesn't build on iOS ... Tool chain issues I think, the dev doesn't seem interested...

My XBMC stuff:
find quote
rflores2323 Offline
Posting Freak
Posts: 1,920
Joined: Jan 2009
Reputation: 2
Post: #12
ok thanks for the response. Smile

ATV1 with crystalbuntu (12.2 frodo) as main theater. Theater remote URC MX-810, droidx with xbmc remote, or transformer tf101 with YATSE. 3 x ATV2 (V12.2 frodo).

find quote
SinCere Offline
Junior Member
Posts: 3
Joined: Apr 2004
Reputation: 0
Post: #13
i can't install XSqueeze. I can install XSqueeze Chooser...
find quote
bossanova808 Offline
Donor
Posts: 2,200
Joined: Sep 2009
Reputation: 32
Location: Melbourne, Australia
Post: #14
See below - repo is fixed....

My XBMC stuff:
(This post was last modified: 2012-07-08 03:13 by bossanova808.)
find quote
bossanova808 Offline
Donor
Posts: 2,200
Joined: Sep 2009
Reputation: 32
Location: Melbourne, Australia
Post: #15
Ok ignore the above - I have found the issue and uploaded 0.6.1 to the repo. Force refresh it and then install that new one and all should be well.

My XBMC stuff:
find quote
Post Reply