Home of the Squeezebox™ & Transporter® network music players.
Page 1 of 2 12 LastLast
Results 1 to 10 of 12
  1. #1
    Member
    Join Date
    Feb 2015
    Location
    Canada
    Posts
    32

    perfecting sync (ditching Windows)

    Recently I improved my networking hardware but still found LMS's audio sync between rooms imperfect. I realize it's trickier the more players vary, but I'm finding that everything works great so long as anything running Windows is not part of the sync group. Not even WASAPI exclusive mode perfects things with Windows in the mix (though it helps).

    The main Windows system in the mix is the one in the living room, running LMS 8 and Squeezelite. I think I've read before that the serving machine doesn't make a great player? I might be wrong, or maybe that's outdated info. Anyway, is there any reason that Linux running LMS plus Squeezelite won't sync with my Squeezebox Radios just as solidly as my Pi with PiCorePlayer?

    Thought I'd check in here before giving it a go. Cheers.

  2. #2
    Senior Member
    Join Date
    May 2008
    Location
    Canada
    Posts
    6,923
    Quote Originally Posted by mafyou View Post
    Recently I improved my networking hardware but still found LMS's audio sync between rooms imperfect. I realize it's trickier the more players vary, but I'm finding that everything works great so long as anything running Windows is not part of the sync group. Not even WASAPI exclusive mode perfects things with Windows in the mix (though it helps).

    The main Windows system in the mix is the one in the living room, running LMS 8 and Squeezelite. I think I've read before that the serving machine doesn't make a great player? I might be wrong, or maybe that's outdated info. Anyway, is there any reason that Linux running LMS plus Squeezelite won't sync with my Squeezebox Radios just as solidly as my Pi with PiCorePlayer?

    Thought I'd check in here before giving it a go. Cheers.
    I don't think it's the serving machine in general, but more the capability to control precisely sampling timing with Windows drivers (I've never looked at that precisely though). On Linux, AFAIK, audio drivers give a much better control on sampling time & fifo length.
    LMS 8.1.x on Odroid-C4 - SqueezeAMP!, 5xRadio, 5xBoom, 2xDuet, 1xTouch, 1xSB3. Sonos PLAY:3, PLAY:5, Marantz NR1603, Foobar2000, ShairPortW, 2xChromecast Audio, Chromecast v1 and v2, Squeezelite on Pi, Yamaha WX-010, AppleTV 4, Airport Express, GGMM E5, RivaArena 1 & 3

  3. #3
    Senior Member
    Join Date
    Oct 2005
    Location
    Ireland
    Posts
    20,292
    In simplistic terms - hardware players have a consistent delay between output to audio s/w and the audio being output on the audio h/w

    On software player especially ones which may be doing other tasks and have choices of audio APIs, the delay between squeezelite outputting to audio s/w and the audio being output on the audio h/w will not be the same as a hardware player and may in fact be variable. To help improve sync in mixed sync groups, there are a number of LMS settings per player (e.g. delay ) which can be adjusted.

  4. #4
    Member
    Join Date
    Feb 2015
    Location
    Canada
    Posts
    32
    Thanks guys. Wish it was a matter of adjusting delay. I should've said, I'm consistently experiencing mid-song shifts (player trying to maintain sync) when Windows is involved (also on machines other than the server), no matter what I try. Linux on that system ought to be on par with the Pi (also Linux of course) I'm thinking.
    Last edited by mafyou; 2021-02-13 at 14:02.

  5. #5
    Senior Member
    Join Date
    Jul 2020
    Posts
    261
    Quote Originally Posted by bpa View Post
    On software player especially ones which may be doing other tasks and have choices of audio APIs, the delay between squeezelite outputting to audio s/w and the audio being output on the audio h/w will not be the same as a hardware player and may in fact be variable.
    I'm only running PcP players these days and find the sync generally better than the Airplay devices I had before. With Airplay more than 4 devices were always problematic, with PcP the number of devices doesn't seem to make a difference (I have used up to 7 without an issue).

    But if you compare LMS streaming between PcP and Windows I can get how the "other tasks" would make a difference. For PcP there really isn't much else to do (even running LMS server and Squeezelite on the same device), while any Windows device probably has thousands of other things on its mind ("Are you sure there's no printer?", "Are you sure your licenses are still valid?", "Oh, and what about updates? Lots of people using these folding touchscreens these days, let's make sure to install a driver for that."..)

  6. #6
    Senior Member
    Join Date
    Oct 2005
    Location
    Ireland
    Posts
    20,292
    As well as having a multitude of Audio APIs ( they must be layered in some way), Windows can sometimes do unexpected audio processing as assumptions have been made that audio sources will probably have to be mixed onto single audio output.
    http://shanekirk.com/2015/10/a-brief...ws-audio-apis/

  7. #7
    Senior Member
    Join Date
    Nov 2012
    Location
    Southern California
    Posts
    130
    I am running PiCore 7.0 & LMS 8.1.1 on a RaspPi 3B+. I often sync two SB Radios so I can move between the kitchen and family area. Most of the time the Sync works well. However, sometimes the difference is noticeable. A pause and start usually gets the two back in sync. One day, the two radios kept getting very noticeable out of sync, it would pause on their own, and then restart again. It was strange.

    So while running PiCore/LMS might be better than Windows for synchronising, my experience is that it will not completely solve the problem.

    I don't know if there is room for improving the LMS software on the synchronise feature.

    Paul

  8. #8
    Member
    Join Date
    Feb 2015
    Location
    Canada
    Posts
    32
    Formatted last night and doing my best to screw it up today.... sync is very solid!

    Server/living room player is currently using ALSA "front:" iteration of the soundcard. I have to "turn off" the player in order to let other applications use sound. No surprise there, but wondering if anyone more familiar with Linux audio might know a different output I could be calling that would let the soundcard be shared and still be solid for LMS sync? Then I could just pause the player or whatnot before using something else.

  9. #9
    Senior Member
    Join Date
    Jul 2020
    Posts
    261
    Quote Originally Posted by P Nelson View Post
    So while running PiCore/LMS might be better than Windows for synchronising, my experience is that it will not completely solve the problem.

    I don't know if there is room for improving the LMS software on the synchronise feature.l
    It works perfectly fine for me. I have 6 players on PcP that are permanently synched. Most of the time not all are "powered on" (squeezelite soft power), but if any one of them would get out of sync one would notice. In the rare occasion they get out of sync powering on an additional player always solves it (with a less than one second gap while they all re-sync). In my experience this is way better than airplay or sonos.

  10. #10
    Junior Member
    Join Date
    Jun 2020
    Posts
    24
    After spending much time trying to get this right, and after nearly giving up on Windows to output audio from LMS/Squeezelite-X for one of two rooms, I've found that using Windows ASIO drivers with my USB DAC to be the most accurate way of synchronising with other players. Sync with a Pi/HiFiBerry running PiCorePlayer (both devices connected via ethernet) is now reliable, whereas previously using WASAPI, there was occasionally an audible drift in synchronisation between players every so often. This sounded bad when you were between rooms.

    The player "synchronise" settings helped with this when using WASAPI, but it was never perfect. I settled on 30ms Minimum Synchronisation Adjustment for both players, and ensured that all other settings matched for both devices. Setting Minimum Synchronisation too low led to some issues with clicks and pops when playing.

    As soon as I switched Squeezelite-X to output via ASIO, I haven't noticed any issues with synchronisation and it's been very stable.

    Hope this helps in some way.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •