Skip to main content
Trending Lyricist I
January 28, 2019

On the 65k limit: why do speakers index music? It just seems incredibly poor design!

  • January 28, 2019
  • 46 replies
  • 2980 views
I understand there is a limit of 65k tracks, or fewer, depending on metadata. I understand Sonos is extremely unlikely to ever overcome this, that the users who are annoyed by this are a small minority, etc.

My question is just curiosity (with little practical implication as the limit is unlikely to change): why? I understand the limit has to do with speakers indexing the music collection, but why on Earth do speakers need to index my music? Shouldn't that index reside only on the devices which control the music being played (computer, phone, tablet), rather than on the speakers, too? I see many downsides in storing a copy on the speakers, this limit being one, but I can't see many upsides. Indeed, AFAIK Sonos' competitors do not use this system and do not have this limit.
    This topic has been closed for further comments. You can use the search bar to find a similar topic, or create a new one by clicking Create Topic at the top of the page.

    46 replies

    Stanley_4
    Grand Maestro
    January 30, 2019
    The SMB 1.0 issue keeps getting less and less important, when you can implement an SMB 1.0 gateway to any network file system for under $50 and 20 minutes using a Raspberry Pi 3A+. It just isn't worth the massive effort and possible functionality loss to upgrade Sonos to SMB 2 for the few folks it would impact.

    Same with thew 65K limit, so may work-arounds are available that Sonos just doesn't see the need to change it. And as said above the number of folks needing it is continually dropping.

    Plenty of other issues impact more folks, and cause more unhappiness that Sonos is going to make priorities. I see no reasonable hope that these two are ever going away unless they get tacked onto a massive firmware revision that Sonos does for another reason.
    Contributor I
    February 9, 2019
    This is a really easy problem to solve. Not sure why Sonos doesn't address. Network share paths can be stored on the controller app (rather than full library metadata). An active playlist , can also be stored on teh speaker, with the necessary metadata, to ensure a controller app going offline doesn't interrupt playback.

    IF there is issues with controllers accessing secure network shares, The Sonos speaker(s) can act as pass through servers (ie call a share for the listing of a given share and pass the data through to the controller app.)

    To address a few of the issues/limitations called out in this thread:

    - Richer metadata benefits streaming services, not just music stored on a network share. Artist art, release year/date, copyright/publisher info, etc. is all metadata that most streaming services already make available.

    - A "last updated" timestamp stored on the speaker(s) would ensure that every time a controller connects/checks in it is as current as possible

    - I expect more people have more speakers than controller apps so it would less effort/network traffic to keep the controllers in sync

    - if Sonos insists on storing library data on the speakers a richer set of metadata could also be stored on the controller(s)

    - metadata on the controller has no limitations other than the device. This would allow Sonos to keep up with richer native apps and, theoretically, deliver metadata as rich as roon, without the need for hardware upgrades.

    - caching metadata/art on the controller would make browsing libraries a WAY better experience. In line with accessing a native library.

    - If Sonos is going to stay ahead of the pack keeping their app best in class is probably a good idea to ensure metadata is as rich as possible. Apps that provide a richer experience and download missing art/tags is the norm these days, even the better free apps do this.

    Hey, another idea - open source the non-proprietary code for the app. This would allow the community to contribute rather than just complain...

    Cheers
    Smilja
    February 9, 2019
    This is a really easy problem to solve. Not sure why Sonos doesn't address. Network share paths can be stored on the controller app (rather than full library metadata). An active playlist , can also be stored on teh speaker, with the necessary metadata, to ensure a controller app going offline doesn't interrupt playback. [...]
    That is already the case. The controller app is purely a remote control, all data ('My Sonos', settings, playlists, favorite radio stations etc.) is stored on the speakers.
    »And the world is like an apple whirling silently in space, Like the circles that you find in the windmills of your mind.« (›Windmills Of Your Mind‹ [1967]. Music by Michel Legrand ; English lyrics written by Alan & Marilyn Bergman)
    chicks
    February 9, 2019

    Hey, another idea - open source the non-proprietary code for the app. This would allow the community to contribute rather than just complain...


    Right, and become another Squeezebox "success story". :8

    You do know they have an API that the "community" can and does use, right?
    Contributor I
    February 9, 2019

    Hey, another idea - open source the non-proprietary code for the app. This would allow the community to contribute rather than just complain...


    Right, and become another Squeezebox "success story". :8

    Squeezebox came and went before I got a chance to try it (which supports your point I guess.) That said, I am fairly certain that an architectural change that would be transparent to 99% of users, outside of the performance benefits and upside of potentially richer metadata would not change Sonos so much as enhance it, imo.

    You do know they have an API that the "community" can and does use, right?


    I was not aware. Thanks for raising. I did a quick search for 3rd party android apps a couple fo days ago and came up dry. Are you aware of any poweamp type players that work with sonos?

    Thanks
    chicks
    February 12, 2019

    I was not aware. Thanks for raising. I did a quick search for 3rd party android apps a couple fo days ago and came up dry. Are you aware of any poweamp type players that work with sonos?

    Thanks


    There are several open source projects on github. HiFi Cast is probably the best Android app that uses the Sonos API (or UPnP, not 100% certain). BubbleUPnP is another. Nearly all of the streaming vendor apps will play to Sonos via one method or another - Sonos Direct Control, Spotify Connect, Alexa Cast or Google's oddball method from GPM. ALL of them will play to Sonos via AirPlay 2 on iOS devices. For iOS, there's also SonoPad and SonoPhone, which are decent.

    Keep in mind that these will normally not work with files on a phone, they must be on a NAS or other media server like ShoutCast or IceCast.

    HiFi Cast: