Author Topic: Discussion on true Multi-room Solution (continued)  (Read 41182 times)

Purplexus

  • Regular Poster
  • **
  • Posts: 28
    • View Profile
Discussion on true Multi-room Solution (continued)
« on: April 22, 2009, 05:59:08 am »
Initially this topic was posted on the users forum pages and I am making the move to move it to here.

First off the question was asked if we could use 8 media directors to play just audio and output the audio line out into 8 high output 2 channel amplifiers.

The way this would work in detail :

- All audio stored on the core as normal:
- Use barebones cheap CPU's because you only need audio playback.
- Use good -> great quality speakers 2 from each amplifier
- use the line out on the cpu and Y split from a 3/8 mini stereo (2 black lines on the connector) headphone jack to a left/right stereo RCA plug
- Use an orbiter, a MD with a gui interface on the TV etc. to control the AUDIO MD's

Should work right?

YES and it does.

BIG HICCUP....
 in that the system does not sync audio playback when using more then one MD to play the same song.
the only time this actually becomes an issue is when you are able to hear more then 1 zone of audio at a time.

I work for a high end home automation where our clients are not going to put up with this at all.

We very often install 12 or more zones of audio in a home in order to create sound ambience.  Very often these zones are capable of being heard in transition zones.  (The hallway between Zone 1, Zone 2, Zone 3 and Zone 4)

Some ideas I have thought of that might be possibilities.  Please give me your ideas on wether or not these might be possible.
Please keep in mind I have been researching this as best as I could in order to figure this out and that I am not normally a linux programmer.

first Thought....  If I incorporate a flash memory cards into my Media director can we buffer the audio file on each media director and then give them a simultaneous play command when selecting them all to play a particular playlist?   This should ensure synced playback if this is at all possible.

Second possible solution....  If I hook up 4 computers into a 4 source in and 4 source out Multi-room amp could I write a script that would check to see if more than one zone is playing the same file.  Then if there is could I then send a RS-232 command for both of those particular zones to play the selected file from only one MD.  (pretty sure this could be done and fairly easily but this is a more expensive solution)

I don't understand linux MCE code at all as I have never even seen it.  But in order to give back I could do the leg work on this project if someone is interested in taking this on and give me direction.

colinjones

  • Alumni
  • LinuxMCE God
  • *
  • Posts: 3003
    • View Profile
Re: Discussion on true Multi-room Solution (continued)
« Reply #1 on: April 22, 2009, 07:47:14 am »
Several points....

First and most importantly... you mention that your "clients" won't put up with the sync issues. This seems to imply that you want to use LMCE as a commercial offering. You need to be aware that you cannot do that without a licence for each device from Pluto. The majority of the code is released by Pluto under a GPL/LGPL however some of the critical core components are released under PPL (Pluto Public License), which for all intents and purposes is the same as GPL for amateur users, but definitely not for professional providers.... then you need a licence, otherwise you could be competing directly with Pluto with their own product!

Currently, the simplest solution to sync audio is that detailed by Andrew, using matrix switches, etc, and controlling these from LMCE. That way you are guaranteed.

You will also notice (by doing some searching here) that this has been discussed several times, including recently by me. It is not an easy nut to crack, particularly with variable rate digital media. There are possibilities that we could use some existing options within Xine, or even codec'ing the digital stream back to fixed bit rate, raw (uncompressed) format at the source, and using realtime streaming over the network to the destinations (given the client/server architecture changes I have discussed elsewhere), or even using SqueezeBoxes, as apparently they sync very well from their central server software module which can plug directly into a LMCE core.

Finally, I suggest that unless you are ready to talk specific technicalities of LMCE development that this thread may need to move back to Users. This board is reserved specifically for talking about actual development. You need to get a handle on what you are actually dealing with in LMCE both in terms of the codebase, but even more so in terms of its basic DCE device/router messaging architecture. This will shape fundamentally how you may or may not be able to approach contributing. Warning, under the hood this is a massive system, and highly complex, it bears no resemblance whatsoever to media centres like Windows, which just runs separate executables on top of the kernel/OS. LMCE is abstracted above the kernel entirely with these "virtual" devices called DCE devices each of which is responsible for controlling media playback, HA, telephony, various core services, and all communicate through a messaging bus using a specific protocol... its very distributed.

Marie.O

  • Administrator
  • LinuxMCE God
  • *****
  • Posts: 3676
  • Wastes Life On LinuxMCE Since 2007
    • View Profile
    • My Home
Re: Discussion on true Multi-room Solution (continued)
« Reply #2 on: April 22, 2009, 07:56:19 am »
Just forget it. As I mentioned in a different thread: We talked on LinuxTag 2008 with a project that tried to accomplish synchronized playback of audio using multiple computers. They did not succeed.

The *only* option at the moment is they it had always been done, long wires, and a single source.

hari

  • Administrator
  • LinuxMCE God
  • *****
  • Posts: 2428
    • View Profile
    • ago control
Re: Discussion on true Multi-room Solution (continued)
« Reply #3 on: April 22, 2009, 03:07:26 pm »
and squeezeboxes.
rock your home - http://www.agocontrol.com home automation

Marie.O

  • Administrator
  • LinuxMCE God
  • *****
  • Posts: 3676
  • Wastes Life On LinuxMCE Since 2007
    • View Profile
    • My Home
Re: Discussion on true Multi-room Solution (continued)
« Reply #4 on: April 22, 2009, 06:09:53 pm »
squeezeboxes.

Did you ever try to use multiple Squeezeboxes?

hari

  • Administrator
  • LinuxMCE God
  • *****
  • Posts: 2428
    • View Profile
    • ago control
Re: Discussion on true Multi-room Solution (continued)
« Reply #5 on: April 22, 2009, 06:56:27 pm »
yes. My two boxes run _in perfect sync_ (yes, i have an "overlapping" area). If you look at their bugfixes, there were quite some improvements in latest firmwares (a few months ago). I've not tested it for days, but i had it running for some hours without getting out of sync.

br, Hari
rock your home - http://www.agocontrol.com home automation

Marie.O

  • Administrator
  • LinuxMCE God
  • *****
  • Posts: 3676
  • Wastes Life On LinuxMCE Since 2007
    • View Profile
    • My Home
Re: Discussion on true Multi-room Solution (continued)
« Reply #6 on: April 22, 2009, 07:07:49 pm »
My two boxes run _in perfect sync_

good to know. Thanks.

totallymaxed

  • LinuxMCE God
  • ****
  • Posts: 4660
  • Smart Home Consulting
    • View Profile
    • Dianemo - at home with technology
Re: Discussion on true Multi-room Solution (continued)
« Reply #7 on: April 22, 2009, 07:31:50 pm »
yes. My two boxes run _in perfect sync_ (yes, i have an "overlapping" area). If you look at their bugfixes, there were quite some improvements in latest firmwares (a few months ago). I've not tested it for days, but i had it running for some hours without getting out of sync.

br, Hari


Hmmm...are you sure about that? I was chatting just a few weeks ago with some Logitech support guys and they said that even with their 'heart beat' feature perfect sync was still not possible. I'd love you to be right about that though :-)

Andrew
Andy Herron,
CHT Ltd

For Dianemo/LinuxMCE consulting advice;
@herron on Twitter, totallymaxed+inquiries@gmail.com via email or PM me here.

Get Dianemo-Rpi2 ARM Licenses http://forum.linuxmce.org/index.php?topic=14026.0

Get RaspSqueeze-CEC or Raspbmc-CEC for Dianemo/LinuxMCE: http://wp.me/P4KgIc-5P

Facebook: https://www.facebook.com/pages/Dianemo-Home-Automation/226019387454465

http://www.dianemo.co.uk

hari

  • Administrator
  • LinuxMCE God
  • *****
  • Posts: 2428
    • View Profile
    • ago control
Re: Discussion on true Multi-room Solution (continued)
« Reply #8 on: April 22, 2009, 10:27:06 pm »
define perfect sync. It may not be _perfect_ but if the delay is not noticeable.. and trust me, i went back and forth between the rooms many times over some hours. I'll verify my experience this weekend.

br, hari
rock your home - http://www.agocontrol.com home automation

Purplexus

  • Regular Poster
  • **
  • Posts: 28
    • View Profile
Re: Discussion on true Multi-room Solution (continued)
« Reply #9 on: April 22, 2009, 10:31:22 pm »
I will admit right away this is way over my head as for coding and I did do countless nights of research on this but never did find anything on multi-room within these forums or in the wiki.

But I still am able to create ideas and hopefully help get this on track.

Does anyone think the flash memory cards idea will work?

Purplexus

  • Regular Poster
  • **
  • Posts: 28
    • View Profile
Re: Discussion on true Multi-room Solution (continued)
« Reply #10 on: April 22, 2009, 10:55:39 pm »
Several points....

First and most importantly... you mention that your "clients" won't put up with the sync issues. This seems to imply that you want to use LinuxMCE as a commercial offering. You need to be aware that you cannot do that without a licence for each device from Pluto. The majority of the code is released by Pluto under a GPL/LGPL however some of the critical core components are released under PPL (Pluto Public License), which for all intents and purposes is the same as GPL for amateur users, but definitely not for professional providers.... then you need a licence, otherwise you could be competing directly with Pluto with their own product!

I do know of the licensing and will definately support the product if it is able to do what we need it to do.  I think that this is one of the coolest systems I have seen to date.  Although I am able to replicate all of the functions within this system it costs much less then say a Kaleidoscape/ Crestron / IP PBX / Control 4 / ETC. would cost in order to replicate all of LinuxMCE's Functions.

I would place an order of 100 lincenses immediately if it is bug free.  (we have 6 houses about to go into design phase in the next 2 months and I am sure more to go soon after that)  All of these homes are large homes looking for Complete automation.  Which I think LinuxMCE is capable of doing almost completely on it's own.

So for now allow me to lend any hands I can in order to get this system up and going along with you and the community.  (do you guys need RS-232 hexstring info for any of the following devices?)

Russound
Lutron Radio RA

Hope I can help
Trevor

Marie.O

  • Administrator
  • LinuxMCE God
  • *****
  • Posts: 3676
  • Wastes Life On LinuxMCE Since 2007
    • View Profile
    • My Home
Re: Discussion on true Multi-room Solution (continued)
« Reply #11 on: April 22, 2009, 11:27:14 pm »
I will admit right away this is way over my head as for coding and I did do countless nights of research on this but never did find anything on multi-room within these forums or in the wiki.

But I still am able to create ideas and hopefully help get this on track.

Does anyone think the flash memory cards idea will work?

no

totallymaxed

  • LinuxMCE God
  • ****
  • Posts: 4660
  • Smart Home Consulting
    • View Profile
    • Dianemo - at home with technology
Re: Discussion on true Multi-room Solution (continued)
« Reply #12 on: April 22, 2009, 11:37:27 pm »
define perfect sync. It may not be _perfect_ but if the delay is not noticeable.. and trust me, i went back and forth between the rooms many times over some hours. I'll verify my experience this weekend.

br, hari

As good as a single digital source switched/routed through a multi-zone amplifier like the Denon POA-3012CI. That's the measure of acceptability...if we can match that with Squeezebox's then we have a great, and equal, solution.

Andrew
Andy Herron,
CHT Ltd

For Dianemo/LinuxMCE consulting advice;
@herron on Twitter, totallymaxed+inquiries@gmail.com via email or PM me here.

Get Dianemo-Rpi2 ARM Licenses http://forum.linuxmce.org/index.php?topic=14026.0

Get RaspSqueeze-CEC or Raspbmc-CEC for Dianemo/LinuxMCE: http://wp.me/P4KgIc-5P

Facebook: https://www.facebook.com/pages/Dianemo-Home-Automation/226019387454465

http://www.dianemo.co.uk

colinjones

  • Alumni
  • LinuxMCE God
  • *
  • Posts: 3003
    • View Profile
Re: Discussion on true Multi-room Solution (continued)
« Reply #13 on: April 22, 2009, 11:49:22 pm »
I will admit right away this is way over my head as for coding and I did do countless nights of research on this but never did find anything on multi-room within these forums or in the wiki.

But I still am able to create ideas and hopefully help get this on track.

Does anyone think the flash memory cards idea will work?

No, definitely not, that would make it more difficult, not less. Buffers are part of what introduces the problem in the first place .. please read my other thread on this subject. You would have to introduce some kind of distributed millisecond level sync system... simply not practical. The only way syncd play is ever going to work is by using a genuine realtime stream (ie analoguous to fixed wires/single source) to all locations simultaneously, preferably using multicase, but broadcast would work just as well. And no buffers at all. Even then, the variable bit rate nature of most compressed audio streams is likely to cause problems. After reviewing the "broadcast" option of Xine, it seems that it isn't a genuine broadcast at all, it is just multiple unicasts which won't work.

I know possy doesn't like this idea, but.... fundamentally, and I'm talking about technical hypotheticals, it is perfectly possible to get a sub-millisecond sync IF, the broadcasting element uses a single broadcast or multicast UDP stream over only the Internal network, AND that stream is transmitted raw, constant-bit-rate, uncompressed, AND the playback element uses realtime/just-in-time, unbuffered playback. I just don't know of any tool/library that allows that and all the other stuff we need (and already get using xinelib). This would work for video as well, but transmitting video uncompressed is rapidly going to present bandwidth issues... if done compressed (and thus variable bit rate) then it would still work, but the sync is likely to be less good ... but still dramatically better than we have already.

If anybody knows anyone in the Xine project and can twist arms.... :)

totallymaxed

  • LinuxMCE God
  • ****
  • Posts: 4660
  • Smart Home Consulting
    • View Profile
    • Dianemo - at home with technology
Re: Discussion on true Multi-room Solution (continued)
« Reply #14 on: April 22, 2009, 11:50:33 pm »
Several points....

First and most importantly... you mention that your "clients" won't put up with the sync issues. This seems to imply that you want to use LinuxMCE as a commercial offering. You need to be aware that you cannot do that without a licence for each device from Pluto. The majority of the code is released by Pluto under a GPL/LGPL however some of the critical core components are released under PPL (Pluto Public License), which for all intents and purposes is the same as GPL for amateur users, but definitely not for professional providers.... then you need a licence, otherwise you could be competing directly with Pluto with their own product!

I do know of the licensing and will definately support the product if it is able to do what we need it to do.  I think that this is one of the coolest systems I have seen to date.  Although I am able to replicate all of the functions within this system it costs much less then say a Kaleidoscape/ Crestron / IP PBX / Control 4 / ETC. would cost in order to replicate all of LinuxMCE's Functions.

I would place an order of 100 lincenses immediately if it is bug free.  (we have 6 houses about to go into design phase in the next 2 months and I am sure more to go soon after that)  All of these homes are large homes looking for Complete automation.  Which I think LinuxMCE is capable of doing almost completely on it's own.

So for now allow me to lend any hands I can in order to get this system up and going along with you and the community.  (do you guys need RS-232 hexstring info for any of the following devices?)

Russound
Lutron Radio RA

Hope I can help
Trevor

First off dont take my next statement as me attempting to dissuade you from building a business around, or extending your existing business to encompass, LinuxMCE. I have said many times here that we need more commercial and more non commercial participation here in this Forum and we need to grow this community as broadly and quickly as we can... but having said that you should heed Colin's comments earlier in this thread, and read the numerous other threads here on becoming proficient at understanding LinuxMCE.

Installing LinuxMCE on a commercial basis with just a few months exposure to it is a recipe for disaster to be frank and I would strongly suggest that you take the time to learn about this system before you approach any kind of commercial installations.

All the best

Andrew
Andy Herron,
CHT Ltd

For Dianemo/LinuxMCE consulting advice;
@herron on Twitter, totallymaxed+inquiries@gmail.com via email or PM me here.

Get Dianemo-Rpi2 ARM Licenses http://forum.linuxmce.org/index.php?topic=14026.0

Get RaspSqueeze-CEC or Raspbmc-CEC for Dianemo/LinuxMCE: http://wp.me/P4KgIc-5P

Facebook: https://www.facebook.com/pages/Dianemo-Home-Automation/226019387454465

http://www.dianemo.co.uk