Home of the Squeezebox™ & Transporter® network music players.
Page 1 of 3 123 LastLast
Results 1 to 10 of 21
  1. #1
    Senior Member
    Join Date
    Jan 2009
    Posts
    139

    Automating Player Synchronization

    I've got hardware and software players around the house.

    I have iPeng and Squeezepad.

    I have a heck of a time keeping everything in sync, even with all the manual adjustments one can make on the server side.

    Are there any iOS apps that will make use of the device's mic, and listen to the output of all the out of sync players -- and send correction data to the server and get them all in sync?

    This would be a killer app!

  2. #2
    Senior Member tcutting's Avatar
    Join Date
    May 2008
    Location
    Southern California, USA
    Posts
    1,396
    There shouldn't be a need for your hardware players- they should remain synchronized without any external intervention. The software players are a different matter, however. There are likely too many variables in play to make this practical.

  3. #3
    Senior Member
    Join Date
    Jan 2009
    Posts
    139
    I'm not sure what "too many variables" means, but I count two adjustments that should be able to compensate for all the variables at a given point in time:

    Player Start Delay (ms)
    Player Audio Delay (ms)

    It would be great for an iOS device to measure the actual output of all the devices, and adjust the two variables based on current actual conditions (ie, taking into account the end result of "too many variables").

    That is, other variables can likely be compensated for with these two adjustments -- and as those other environmental factors change, if the system isn't smart enough with the settings listed below to self-correct, the user could walk around among the different zones/devices and use the iOS app again, to get things back in sync.

    It wouldn't be a set-and-forget operation, but it would be much faster than typing in numbers into the web interface, hoping to dial things in.

    ---------------

    Separately, there are two user-adjustable preferences about how often to address sync issues that the server detects:

    Minimum Synchronization Adjustment (ms)
    Network Packet Latency (ms)

    For extra credit, the iOS device could allow adjustment of these -- either recommended values or something fancier.

  4. #4
    Senior Member pippin's Avatar
    Join Date
    Oct 2007
    Location
    Berlin
    Posts
    14,755
    Quote Originally Posted by nathan_h View Post
    at a given point in time:
    That's true but of no use.
    The playback timing on most computers is not deterministic so if you find the correct compensation parameter at any given point in time it can be wrong at any other point in time and that may even be a second later.

    If you play audio e.g. on Windows and you find that it will come out of your speaker with half a second delay that delay may be completely different for the next frame yout are playing.
    ---
    learn more about iPeng, the iPhone and iPad remote for the Squeezebox and
    Logitech UE Smart Radio as well as iPeng Party, the free Party-App,
    at penguinlovesmusic.com
    New: iPeng 9, the Universal App for iPhone, iPad and Apple Watch

  5. #5
    Senior Member
    Join Date
    Jan 2009
    Posts
    139
    Quote Originally Posted by pippin View Post
    That's true but of no use.
    The playback timing on most computers is not deterministic so if you find the correct compensation parameter at any given point in time it can be wrong at any other point in time and that may even be a second later.

    If you play audio e.g. on Windows and you find that it will come out of your speaker with half a second delay that delay may be completely different for the next frame yout are playing.
    "next frame"? How long is a frame? Even if I had to run the app every time I start up whole house audio (as opposed to listening in a single room) it would save me loads of time and frustration.

  6. #6
    Senior Member pippin's Avatar
    Join Date
    Oct 2007
    Location
    Berlin
    Posts
    14,755
    Quote Originally Posted by nathan_h View Post
    "next frame"? How long is a frame?
    a few ms, depending on your sample rate.
    The problem is that most computer audio drivers keep internal buffers from which they play and you can't know how long it will actually take from the moment you queue something up til the moment it's being played.
    ---
    learn more about iPeng, the iPhone and iPad remote for the Squeezebox and
    Logitech UE Smart Radio as well as iPeng Party, the free Party-App,
    at penguinlovesmusic.com
    New: iPeng 9, the Universal App for iPhone, iPad and Apple Watch

  7. #7
    Senior Member aubuti's Avatar
    Join Date
    Oct 2005
    Posts
    8,832
    Quote Originally Posted by nathan_h View Post
    Even if I had to run the app every time I start up whole house audio (as opposed to listening in a single room) it would save me loads of time and frustration.
    A much simpler way to save your time and frustration would be to replace your software players with hardware SBs. It costs something up front, but then you're all set.

  8. #8
    Senior Member
    Join Date
    Jan 2009
    Posts
    139
    Quote Originally Posted by pippin View Post
    a few ms, depending on your sample rate.
    The problem is that most computer audio drivers keep internal buffers from which they play and you can't know how long it will actually take from the moment you queue something up til the moment it's being played.
    This is why I was thinking at app that actually listens to what is being played would be ideal: The buffer, latency, etc, would all be present in that real life measurement. Kind of like how our ears can hear it -- but can't tell me whether is 7rms or 750 ms.

  9. #9
    Senior Member
    Join Date
    Jan 2009
    Posts
    139
    Quote Originally Posted by aubuti View Post
    A much simpler way to save your time and frustration would be to replace your software players with hardware SBs. It costs something up front, but then you're all set.
    Yep, I agree. I thought: Hey cool, if there isn't such a utility yet, I could create one. And then I thought: How many other people would want such a thing? And if I'm just creating it for myself, isn't it much cheaper to buy hardware than to try to chase an app solution....

    So I totally agree.

    Looks like that extra SB Receiver I was going to sell may get hooked into my computer speakers aux port....

    And I'll have to find a good deal on a Radio+battery, for carrying around the house to places I haven't wired, instead of using the built in client in Squeezepad.

  10. #10
    Senior Member pippin's Avatar
    Join Date
    Oct 2007
    Location
    Berlin
    Posts
    14,755
    Quote Originally Posted by nathan_h View Post
    This is why I was thinking at app that actually listens to what is being played would be ideal: The buffer, latency, etc, would all be present in that real life measurement. Kind of like how our ears can hear it -- but can't tell me whether is 7rms or 750 ms.
    Umm... not so easy:
    1. You have different time bases between your iOS device, server and players.
    2. You've got some transmission and processing time, which is also non-deterministic
    3. You have some delay due to the different range to the speakers, for a 10m distance this is 1/30th of a second, so indeed significant.
    4. You still don't know which one of your players is in front and which one is behind.

    Judging from the Inguz plugin, which does this for room correction but only for a single room, static environment and the processing requirements it has I don't believe all of this is feasible.
    ---
    learn more about iPeng, the iPhone and iPad remote for the Squeezebox and
    Logitech UE Smart Radio as well as iPeng Party, the free Party-App,
    at penguinlovesmusic.com
    New: iPeng 9, the Universal App for iPhone, iPad and Apple Watch

Posting Permissions

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