PDA

View Full Version : whole home audio syncronization: Squeezelite performance vs. real Squeeze Device



leafygreens
2013-10-02, 20:06
I've been experimenting with Squeezelite players installed on small linux boxes. I don't have any real Squeezeboxes to experiment with. I'm interested in how well the synchronization feature works on real SB's vs. the software Squeezelite solution.

If I have two Squeezelite boxes in the same room playing the same song with Synchronization on, every 10 or 20 seconds or so there's a weird skip as one of them (probably the slave) adjusts where it's at. It's really obvious with music. Does synchronized play on real Squeezeboxes do that also?

How does it compare with sync capabilities of other systems like Sonos and Airplay.

Besides sync, how do the systems differ in protocol level sound quality. Airplay claims to be lossless. What about the Squeeze protocol? You can adjust the quality on the server side, but if you set it to the best option, is that zero compression? Is it just as good as the source material?

audiomuze
2013-10-02, 21:55
Lossless input will result in lossless output as long as you're not attenuating volume in the digital domain via LMS. Re skipping I cannot comment, other than to suggest you check signal strength if using wifi and also server load. I'm not aware of any reason Squeezelite should have hiccups in synchronised playback.

Mnyb
2013-10-02, 22:39
the Squeezebox players are suposed to sync better mainly because they are more predicable and the sync code is thoroughly tested with them .

Syncing a real player with a random computer puts in a lot of unknowns that could upsett things , but your are syncing basically the same things it should make it more viable .

Skipping , not normal with real squeezeboxes , given everything else works .

Squeezeboxes are lossles/bitperfect with such material normally, unless you use volume or replay gain or any transcoding action is needed ,like if a player cant support a certain rate like 24/96 it will then be converted to a rate it can support like 24/48 .

Note that synced players use one single stream so it's the least capable player in the group that’s decide the bit rate limit

Lossy formats are faithfully decoded on the player (server does nothing to them ) unless the player cant support it ,then its transcoding again usually to flac to preserve the quality of the lossy format (not transcoding to another lossy format thats bad ) .

Replay gain and volume is done in the player after decoding the audio from whatever format it arrived as (afaik) and then feed to the DAC and digital output .

leafygreens
2013-10-02, 22:53
Lossless input will result in lossless output as long as you're not attenuating volume in the digital domain via LMS. Re skipping I cannot comment, other than to suggest you check signal strength if using wifi and also server load. I'm not aware of any reason Squeezelite should have hiccups in synchronised playback.

Oh, good point. I never stopped to think about server load. So when doing sync playback (either from internet stream or local audio file), it's the server that coordinating the sync? The LMC server is running on a 1.2GHz Pogoplug, 256MB ram, with pretty much nothing but the server app running. I'll check CPU levels and report back tomorrow.

Wireless signal wise, I think I'm ok. I'm testing in the same room as the wireless router.

leafygreens
2013-10-02, 22:58
Syncing a real player with a random computer puts in a lot of unknowns that could upsett things , but your are syncing basically the same things it should make it more viable .

Squeezeboxes are lossles/bitperfect with such material normally...


I wonder if the lossless feature applies to Squeezelite software players as well? Is the lossless/bitperfect a function of the protocol and the server setting or the specific player?

aubuti
2013-10-02, 23:37
I'm interested in how well the synchronization feature works on real SB's vs. the software Squeezelite solution.
As long as your network is solid, sync'ing with real SBs is spot on. With software players such as Squeezelite the results are less certain, for the reasons Mnyb gave. In my experience with software players I've had some drifting out of sync, but nothing like the re-adjustment every 10-20 seconds that you are getting. I'm not sure if that's a network issue for you or a problem with a server that is only borderline. 256 MB RAM is cutting it close, although I would it should be able to handle two sync'd players.


Besides sync, how do the systems differ in protocol level sound quality. Airplay claims to be lossless. What about the Squeeze protocol? You can adjust the quality on the server side, but if you set it to the best option, is that zero compression? Is it just as good as the source material?
You really should distinguish between lossless and compression, because the two are not mutually exclusive. Apple Lossless and FLAC are both lossless compressed formats. MP3, on the other hand, is lossy compression, and WAV and AIFF are uncompressed lossless. The sound quality of all lossless formats should be equivalent, with or without compression (although there is a crowd that insists that the CPU load of uncompressing FLAC or ALAC diminishes sound quality).

With SB, if you give it lossless material it will play losslessly as long as you haven't set the server to use bitrate limiting. I am fairly certain that applies to Squeezelite as well as the hardware players.

Mnyb
2013-10-02, 23:41
I wonder if the lossless feature applies to Squeezelite software players as well? Is the lossless/bitperfect a function of the protocol and the server setting or the specific player?

Squeezelite is good in this respect it is usually as lossles as a hardware player ,but depends strongly on the audio hardware you conect it to !! thats the limitation if your soundcard is 16/48 thats what you get for example .

garym
2013-10-03, 04:18
One more data point. I sync several real squeezebox players (including one setup where there are two systems in the same large room, where being "off" would be very noticeable). They are rock solid with no skips, hiccups, or drifting off sync.

bpa
2013-10-03, 04:42
I've been experimenting with Squeezelite players installed on small linux boxes.
For good sync, the players hardware should be able to play back audio at the right frequency and also there should be a good system clock.
The system clock on small linux system may not be accurate and could drift and also if the audio is through built-in analogue it may not play at accurate speed as a result LMS will see the players drift apart after playing audio. Hardware squeezebox player have good crystal controlled clocks.

There are settings which can be adjusted to change the resync behaviour of a player (WebUI Settings/Player/Synchronize) and so may make the resync less noticeable.

GeeJay
2013-10-04, 09:51
One more data point. I sync several real squeezebox players (including one setup where there are two systems in the same large room, where being "off" would be very noticeable). They are rock solid with no skips, hiccups, or drifting off sync.

Same here. I have a duet, touch and classic that are usually synced, all three of which are often within earshot of one another. I had some problems in my earlier SB years getting perfect synchronization, but somewhere in or around version 7.0 the company finally got it right. It's been quite some time since I have experienced any drift.

That is among my biggest concerns switching to another system, or replacing a dead SB with a software/homemade setup.

audiomuze
2013-10-04, 10:19
Keep in mind the Touch is just a Linux based computer with purpose written software.

leafygreens
2013-10-04, 11:54
Same here. I have a duet, touch and classic that are usually synced, all three of which are often within earshot of one another. I had some problems in my earlier SB years getting perfect synchronization, but somewhere in or around version 7.0 the company finally got it right. It's been quite some time since I have experienced any drift.

That is among my biggest concerns switching to another system, or replacing a dead SB with a software/homemade setup.

I played with the syncing on two Squeezelite boxes again, both in the same room. On the LMS, there are two options for synchronization - you sync only on start/stop, or you can sync continuously. I had been using the continuous sync, and that's when I'd hear re-sync artifacts every 10 or 20 seconds. BUT, if you turn off the continuous sync and just hope that the two Squeezelite boxes have the same timing, it works out pretty well, even when I have two different types of hardware. Pretty happy with the results.

JJZolx
2013-10-04, 21:02
Keep in mind the Touch is just a Linux based computer with purpose written software.

Not exactly. It's purpose-built hardware running Linux as its OS.

audiomuze
2013-10-04, 21:54
Yep, but other than the DAC and IV stage I doubt there's anything 'specially engineered' to be different to regular component hardware.

Mnyb
2013-10-04, 22:00
Yep, but other than the DAC and IV stage I doubt there's anything 'specially engineered' to be different to regular component hardware.

Yes , the only difference is that the sync code is thoroughly tested against that hardware.
And that its purpose coded OS is made to be predicable re audio . It relatively simple compared to desktop linux

epoch1970
2013-10-05, 04:30
AFAIK there are 2 things to keep in check in order to get fine sync with software players: i. the amount of data each player receives from the server, and number of checkpoints they go through, ii. the time takes to process this data and turn it to audio (or send it to a DAC)

The server setting you are discussing relate, I think, to point one. I have to admit I've never played much with it in my sync experiments.
One thing I did muck with, to great effect, were squeezelite options for the alsa stack (the "-a x:x:x:x" options), and this pertains to point two.

http://forums.slimdevices.com/showthread.php?97046-Announce-Squeezelite-a-small-headless-squeezeplay-emulator-for-linux-(alsa-only)&p=736003&viewfull=1#post736003
http://forums.slimdevices.com/showthread.php?98220-How-does-synch-work-(squeezlite-2x-SB)

In my experience the recipe is completely hardware+software dependent; even when using a "real-time" flavour of linux in order to keep the beat as steady as possible. If you're trying to sync 2 soft players today, I believe the 2 should be perfect soft+hardware clones for a start. I think you could reach okay accuracy and reliability; but perfect requires either a deterministic system (as were the old ip3k players) or leaving a lot of headroom in the right places (as Logi did w/ the later player generation, as communitysqueeze does today.)

The guys developing the communitysqueeze software and hardware stack seem to be hard at work. They are my only hope of seeing a new player generation capable of perfect sync. In the meantime, I rely on my SB3s and a pile of spares.
With hardware players you will effortlessly reach perfect sync and perfect reliability. Looking at what goes on on ebay, I'd say there is no risk in buying a pair of pre-owned hardware players, in anticipation of the communitysqueeze player availability: I would bet there will still be takers for your players when you want to make room for the newer ones.
I don't believe the Communitysqueeze project has set the target of achieving perfect sync with older players like SB3 or Touch. But I wouldn't rule out a good surprise on this front ;)

One last note about sync quality: it is perceptual; Room to room sync is relatively easy to achieve, same room sync is quite difficult, left-right channel sync (as with a pair of Radios) is a feat of magic.