PDA

View Full Version : Server -> Guest Configuratin (with Linux based: MPD, Icecast, LMS, or other)



ezekieldas
2012-11-21, 11:45
Greetings --I just picked up a Squeezebox Radio and am fairly happy in what I intended to use it for (see mpd configuration below). With my currrent configuration I am experiencing issues with 5-7sec. latency from
the music source (server) and SB (guest). I've tried various tuning on the Icecast stream but nothing seems to help. After reading a number of complex articles on the latency issue I am 1) considering a different
topology 2) working on implementing something called p4sync.

Anyhow, my desired setup is music stored on Linux server, LMS 7.7.2 installed and functional (other mpd configuration described below). I can spin off VM instances from this system of just
about any variety if that helps. Resources on this system are quite abundant. The server currently plays music to an amp via optical connection and amazing B&W speakers. We love this setup and can control/DJ it
remotely with the MPD setup. So in other words, it plays to the local sound card.

I'm wondering if there's a hack for LMS that will allow multiple outs like this: a) to the local system and b) to the SB device. And if so is there any known latency issues with this?

MPD (Music Player Daemon) Setup

So for nearly a decade my system has been setup this way. MPD references a 1Tb disk. It's controlled by various clients (mpm via Firefox, mpod via iphone, another Android client, etc.). I recently
added a streaming output to an Icecast server running on the same system in hopes that I could point the SB at it and... viola! But of course, no, although it starts playing straight away the IC stream is
about 5-7sec. behind. I've read a bunch of stuff about this issue and it doesn't seem like anyone has come up with a good solution. I'm currently exchanging email with the MPD developers but also found
this which offers some hope (not easy to get it working): snarfed dot org slash synchronizing_mp3_playback (workaround for link restriction :-/)

So anyway, if you have any advice to offer with regards to setup that works for you, suggestions on something to implement with what I already have, or... whatever, I'd be very grateful.

Thank you,
-zeek

toby10
2012-11-21, 14:06
If you are trying to sync the audio of a software player with your hardware player this is not likely to work.

ezekieldas
2012-11-21, 15:22
If you are trying to sync the audio of a software player with your hardware player this is not likely to work.

It is probably not easy, but I believe it's possible. Sonos has done it. I will probably have to compromise with just a few seconds of latency but that's fine.

I'm hoping to receive suggestions on changes to the topology I described above (whether functional or theoretical). Also, I'm close to implementing this (which
uses NTP as a timer of sorts):

http://snarfed.org/synchronizing_mp3_playback

Here's a good in-depth technical discussion:

http://stackoverflow.com/questions/2795031/synchronizing-audio-over-a-network

garym
2012-11-21, 15:29
I may be misunderstanding your problem. Sonos has done it with Sonos hardware players only as far as i can tell. I also get perfect sync with multiple squeezebox hardware players using LMS.

Have you tried running squeezeplay as your software player and synching that with your radio.

Triode
2012-11-21, 16:01
If all the devices are Squeezebox emulators and the controlling server is LMS then I suspect you will get reasonably good sync. You won't get sync with mpd or other non squeezebox clients though.

Suggest you try squeezeplay or squeezelite on linux with alsa outputs to get best sync for a software client. (squeezelite: http://forums.slimdevices.com/showthread.php?97046-Announce-Squeezelite-a-small-headless-squeezeplay-emulator-for-linux-(alsa-only) will be similar to mpd, but controlled by LMS controllers)

toby10
2012-11-22, 05:48
It is probably not easy, but I believe it's possible......

Good luck. ;)

ezekieldas
2012-11-23, 12:27
Squeezelite looks good --had issues with the glibc being too recent but I might be able to compile my own. Thanks for the tip.

Any mpd architects out there working with mods using LMS (or not) I'd be happy to hear suggestions. Ultimately I'd like to stick with the mpd
as central mechanism but willing to convert over to LMS.