Workaround for track limit?


Sonos Controller 10.1 running on Windows 10 Version 1903, Synology Diskstation 210J server.

I have a very large collection of (mainly) classical music, which is all in one mapped network drive on the Synology server. I have recently added about the equivalent of about 200 CDs, and I am getting the message:

"Can't update your music library...There is not enough room to update your music library...Please remove unused queues or saved playlists and try again"

I presume this is referring to the ?65,000 track limit. My question is, would it make sense to create say 4 or 5 mapped network drives, and split up my collection into them (say composers A-D, E-K, L-R, S-Z)... each "split" drive could contain about 9,000 files in 900 folder, and would take up about 125GB. (I only ever access music through the "Folders" item in the menu.)

Would this get round the problem (I presume the problem is the number of tracks/files/folders rather than size on disk)?

27 replies

That could do it. Also, a service like Plex will allow you to access an unlimited number of tracks on your local library (although reviews of the service are varied):

https://support.sonos.com/s/article/3405?language=en_US
Sonos Controller 10.1 running on Windows 10 Version 1903, Synology Diskstation 210J server.

I presume this is referring to the ?65,000 track limit.Not necessarily - it could be the tag space, as it's classical music. You can hit Sonos limits at way under 65k tracks with classical music - mine hit at about 38k tracks.



uestion is, would it make sense to create say 4 or 5 mapped network drives, and split up my collection into them (say composers A-D, E-K, L-R, S-Z)... each "split" drive could contain about 9,000 files in 900 folder, and would take up about 125GB. (I only ever access music through the "Folders" item in the menu.)

Would this get round the problem (I presume the problem is the number of tracks/files/folders rather than size on disk)?


This would help, but then you'd have to recreate the different indexes each time, as Sonos doesn't store the indexes anywhere, and this will take time. So instead of just choosing another composer, you might have to wait five minutes or more before you can listen to a composer in a different category. And then, wait another five minutes before you can go back to the original one. Another option might be to go for individual letters, which should cut down the reindexing time considerably.

The Sonos implementation of Plex is extremely poor, and there's no indication that it's going to get any better anytime soon - if at all.

The best solution that I've found so far, if you have a piece of Sonos kit with a line in, is to add a Chromecast Audio and cast to it using a music server on your Synology (I use Media Server). This gets around all of the restrictions and works well - it can also handle high res files natively, if that's of any use to you. You can actually cast direct to the Sonos kit, but it seems to work strangely - nothing shows in the queue, so it's messy switching back to normal Sonos use. I use an app called Hi-fi Cast for the casting side of things.

At the moment, I'm moving spare music out of the indexed area on my sacrificial NAS (due to the SMB1 issue) in order to be able to continue using the Sonos software - as I prefer to control it via the PC software (which is locked to 9.x). The casting approach, however, works fine with SMB2 and above, so this seems a much more capable approach.

I have just bought another receiver which comes with Chromecast built in, and the casting works fine, so when it comes to it I'll be able to retire my ZP90, if need be.
I just prepared a detailed reply, but this useless forum lost it when editing.

Short version :-
The limit is probably the tag info - Sonos fails here at 38k tracks
Plex on Sonos is near useless for classical music
Use Chromecast Audio via a line in and the cast to the device - this gets round all of the Sonos limits. I use Media Server on Synology.
Userlevel 7
Badge +21
If you submit a diagnostic and contact Sonos with the number they can tell you about your internal storage and what parts of it are causing the issues. That information used to be available to users directly but was removed in an update.

If you don't want to run an SMB v1 NAS you can run a gateway from your current NAS to SMB v1. I use a Raspberry Pi for that.

Here as trying to find it in the forums is a pain: https://stan-miller.livejournal.com/357.html
The SONOS music library index is stored in each player's RAM and RAM is a limited resource. For some reason classical music rippers generate very long file names and track titles. I've seen some libraries where the entire first stanza lyrics of an opera track are pushed into the track title and most of this is thrown into the file name too. This wastes a lot of space in the index. While not so convenient for the human, one could throw the whole library into a single file folder with file names ranging from "1.flac" to "65000.flac". I use one folder for each album and "Track01.flac", etc. for the file names. I also trim the track titles.This conserves space in the index.

The SONOS library manager does not care about file size. I have a friend who treats the whole disc as a work of art and would never wants to listen to individual tracks. To her, listening to a single track would be similar to viewing a fraction of a painting. In this context one could combine all of the tracks on a CD into one large file and have 65,000 full symphonies in the library.
I use one folder for each album and "Track01.flac", etc. for the file names. I also trim the track titles.This conserves space in the index.
Yes, but if you do that, doesn't it make browsing by folder rather difficult? That's the only option that I use, as all the other options have downsides.

one could combine all of the tracks on a CD into one large file and have 65,000 full symphonies in the library.

Or take all the CDs in a box set and run them together? e.g. 170 CD Mozart box set?
amun,

I don't use Folders view. Short file names, such as "Movement 1.flac" or "Scene 1.flac" will not usualy bust the index size limit.
amun,

I don't use Folders view.


I find the other views messy, if you have a mix of music - e.g. classical and contemporary.
I have a style sheet that I adhere to when coding the metadata. The style sheet specifies details such as Artist name (first last or last, first), should a classical work use the orchestra name, conductor name, principal soloist as the Artist. I'll include the Conductor's name at the end of the Album title.

A typical Album Title would be "Beethoven: Symphony No. 5 - Szell"

A typical Artist would be "Cleveland Orchestra - Szell"

The goal is to promote easy searches and a coherent display in "Now Playing".
Userlevel 7
Badge +21
Single letter directory (a to z)
Artist directory
Album directory
Tracks

A
A - Abba
A - Abba = Greatest Hits 2
A - Abba = Greatest Hits 2 - Gimme Gimme Gimme
Belated thanks to everybody - this is an extraordinarily helpful place. Just a quick update: I really thought my method would work, in that I had thought that dividing up my single folder into 5 would get round the problem of

"Can't update your music library...There is not enough room to update your music library...Please remove unused queues or saved playlists and try again"

However, to cut a very long story short, it doesn't - after spending a weekend copying chunks of data from the original folder into the 5 new ones, I got the same message - of course, when copying the last one, as it tips the system into overflow. The weird thing is that, in spite of the message, the update seems to have worked.

I will try to summarise the advice you've given me, in the next day or two, and get back to you asap.

Thanks again.
Single letter directory (a to z)
Artist directory
Album directory
Tracks

A
A - Abba
A - Abba = Greatest Hits 2
A - Abba = Greatest Hits 2 - Gimme Gimme Gimme

Works fairly well for contemporary music, bit not so good for anything classical....
HGol,

It is the total size of the metadata (Track Title, Artist, Composer, etc.) that causes the overflow. The number of folders is not very important.

If you received the overflow message, some of your tracks are missing from the index. Unfortunately, it is very difficult to predict exactly which tracks are missing. The library indexer asks the NAS for a list of files, then processes that list. Since SONOS has no control over the order of this list, the human has no idea which files were skipped, however, there is a way to get a hint about where processing terminated.

Go to http://[ip address of a player]:1400/support/review. This will return a subset of the diagnostic information. Open the line for a player, then open Zone Player Info, then look for IdxTrk. Since one player will take charge of the indexing process, you'll need to check all of the players for an entry in IdxTrk. This is the last file that was being processed when the indexer terminated. You don't know exactly why the process terminated, however, in this case we can assume that the index is full. In your case, since you copied the files freshly, they were probably copied in alpha order, the NAS will probably return the file list in this order, and one can predict which files were skipped. Of course, there are a lot of assumptions here and your mileage will vary.
Many thanks, Buzz, I'll have a look.
Hi again Buzz - have checked all 4 of my players and IdxTrx is blank in all cases....
Well, I have over 41K "tracks" so there's no way that I will be able to shorten them, even if I wanted to. And I certainly don't want to delete my cover art.

The most practical solution, as amun suggests, seems to be to use "...Chromecast Audio via a line in and the cast to the device - this gets round all of the Sonos limits. I use Media Server on Synology." .

I just did a little experiment using the Synology Audio Station, and managed to cast a track to the loudspeakers connected directly to my ZP90, so I can see how one could use the Synology Media Server with Chromecast Audio and Hi-Fi Cast. Two questions:
  1. How would I ever change where my music is played? (I have four Sonos rooms)
  2. I presume that I could run Hi-Fi Cast directly on our Android phones and under some sort of Android emulation (?like Nox) on our Windows PCs - is that right?

However, to cut a very long story short, it doesn't - after spending a weekend copying chunks of data from the original folder into the 5 new ones, I got the same message - of course, when copying the last one, as it tips the system into overflow. The weird thing is that, in spite of the message, the update seems to have worked.

OK - but are you still indexing the whole set? If you're indexing them individually then I'd expect them to work - or at least, the ones under the limits...

However, to cut a very long story short, it doesn't - after spending a weekend copying chunks of data from the original folder into the 5 new ones, I got the same message - of course, when copying the last one, as it tips the system into overflow. The weird thing is that, in spite of the message, the update seems to have worked.OK - but are you still indexing the whole set? If you're indexing them individually then I'd expect them to work - or at least, the ones under the limits...

No, that's what I thought, amun, but sadly not - each individual new folder is well under the limit, and I indexed each one separately, which worked fine until I got to the last one - the overflow happened and I got the error message. So it seems the limit is system-wide, not per folder.


However, to cut a very long story short, it doesn't - after spending a weekend copying chunks of data from the original folder into the 5 new ones, I got the same message - of course, when copying the last one, as it tips the system into overflow. The weird thing is that, in spite of the message, the update seems to have worked.OK - but are you still indexing the whole set? If you're indexing them individually then I'd expect them to work - or at least, the ones under the limits...
No, that's what I thought, amun, but sadly not - each individual new folder is well under the limit, and I indexed each one separately, which worked fine until I got to the last one - the overflow happened and I got the error message. So it seems the limit is system-wide, not per folder.


I think I see what you mean - I suppose I could add/remove a folder as I was using it, but it takes so long to do that...
One workaround is to keep some folders offline. For example one might have seasonal folders, based around a religious holiday, New Years, Halloween, etc. These folders tend to be mutually exclusive and can be kept offline most of the time.

BTW, there is only one index, regardless of the number of folders included in the library.

I think I see what you mean - I suppose I could add/remove a folder as I was using it, but it takes so long to do that...


That's why I suggested earlier "Another option might be to go for individual letters, which should cut down the reindexing time considerably." As you've found, Sonos takes a considerable time to index large numbers of tracks. A number of my problems are sue to the mix of contemporary and classical tracks, but splitting them by category just isn't viable - it takes too long. If Sonos wrote the indexes to user storage, then you'd be able to switch between them quickly, but it doesn't - AIUI, for performance and reliability reasons.
Well, I have over 41K "tracks" so there's no way that I will be able to shorten them, even if I wanted to. And I certainly don't want to delete my cover art.

The most practical solution, as amun suggests, seems to be to use "...Chromecast Audio via a line in and the cast to the device - this gets round all of the Sonos limits. I use Media Server on Synology." .

I just did a little experiment using the Synology Audio Station, and managed to cast a track to the loudspeakers connected directly to my ZP90, so I can see how one could use the Synology Media Server with Chromecast Audio and Hi-Fi Cast. Two questions:
  1. How would I ever change where my music is played? (I have four Sonos rooms)
  2. I presume that I could run Hi-Fi Cast directly on our Android phones and under some sort of Android emulation (?like Nox) on our Windows PCs - is that right?


Q1 the Hi-fi Cast app lists the available playback devices - the Sonos devices appear as options. The main problem with casting direct to Sonos devices is that, although the music plays, there's nothing in the queue - and Sonos revolves around the queue concept. So simply in order to get it all back woring as normal again, you have to add music to the queue and then delete it - which takes the phantom music with it. Messy, IMHO. This doesn't happen with a Chromecast device, of course, as Sonos simply sees it as a line in.

Hifi Cast seems to just cast to one device at a time, and doesn't seem to recognise linked Sonos rooms. I only listen to music in one room at a time, usually, so this isn't a problem for me. If you use proper Chromecast devices as inputs, then I believe that you can group the CC devices, but I don't think that this is anywhere near the same capability of Sonos software - i.e. 32 devices in sync. Another benefit of using CC devices is that if one is plugged into (e.g.) a Play 5, then you can choose to play the output from that CC device to any of your Sonos speakers - probably to groups of speakers, as well. This makes the CC Audio such superb value that it's probably why Google have discontinued it :-(

Q2 Yes, it runs on Android - I use it on my phone. I've never tried it under an android simulator, but it may well work.

I don't get rid of expensive kit unnecessarily, so intend to keep the Sonos kit running for as long as possible - hence locking it down, so that Sonos can't "improve" the software any more. As you will have seen, Sonos are putting all their efforts into streaming and voice control, and playing local files is falling by the wayside. Consequently, I'm no longer sure that Sonos is the best option for people like us. I've had music casting from the Synology in twelve hour stretches, and it seems just as reliable as using Sonos software.


Plus, of course, using this approach also gets round being stuck with SMB1, as the casting approach works with the more modern versions of SMB.
Well, I have over 41K "tracks" so there's no way that I will be able to shorten them, even if I wanted to. And I certainly don't want to delete my cover art.

Cover art is not part of the index. Artwork is either part of each file or stored in the same folder as the track in a file named "folder.jpg" or "folder.gif". Artwork is fetched when needed. Note that there is a small artwork cache that can cause some heartburn if you edit the artwork for a recently fetched track. In some cases the system will seem to ignore the artwork change because the cache has not yet been flushed.

Well, I have over 41K "tracks" so there's no way that I will be able to shorten them, even if I wanted to. And I certainly don't want to delete my cover art.Cover art is not part of the index. Artwork is either part of each file or stored in the same folder as the track in a file named "folder.jpg" or "folder.gif".


Yes, of course, silly mistake on my part.

One workaround is to keep some folders offline. For example one might have seasonal folders, based around a religious holiday, New Years, Halloween, etc. These folders tend to be mutually exclusive and can be kept offline most of the time.

Yes, and that's what I'll be doing now.
BTW, there is only one index, regardless of the number of folders included in the library.

Yes! I think I needed to go through the pain of creating separate folders to discover this, even though you and amun both told me this before.

Reply