Organizing Music - An Exercise In Insanity

So I’m attempting to set up my music collection with airsonic and beets. So far airsonic works great… for the music which happens to be in a /artist/album/track folder structure and is properly tagged. So the most common solutions for getting your music organized this way are MusicBrainz Picard and beets. Picard is a non-starter for me because my music is on a headless server with only web interfaces and shell connections exposed. So beets is the only remaining option? Maybe?

Anyway so I started using beets with the default config that comes with linuxserver.io’s dockerized version. That was… a mistake.

I have had many issues. So many issues.

First of all, I have thousands of tracks. By default beets seems to assume that your music will already be organized in folders by album with all tracks for that album present and kind of just gives up out of the box if that isn’t the case. That’s true for probably 60% of my music. The rest is a random assortment of individual tracks I purchased, albums that got split across multiple folders by previous passes of tagging software because they were compilations or got broken apart due to lots of remixes or guest artists, music from mix cds I got from people, and a whole lot of tracks with no metadata or folder structure at all.

I’m on my third attempt to actually run beets. During the first attempt beets crashed because I chose “as-is” for a folder full of tracks with no metadata at all. With the config from linuxserver.io that resulted in a bunch of file names that were just " - .mp3" or similar, which my unix file system won’t accept. I adjusted the config to replace missing album, artist, and track titles with “Unknown” in the path, not realizing that this would result in completely losing the original file names because beets just… throws that information away for no reason? So that resulted in me completely restarting again because I couldn’t even tell what info I had lost. I’m on my third attempt now.

On this third attempt I’ve run full album imports in quiet mode with move and letting it leave everything else behind. After that I’ve run singleton imports in quiet mode. Both of those first passes were with the chroma plugin off for speed. Now I’m running full album imports with chroma on, after which I plan to run singleton quiet with chroma. All of that with move on. Once that is done I should have only the problem tracks remaining, for which I plan to do one super interactive pass where I will be careful and use the edit plugin to hopefully fill in the gaps.

One of the frustrating things is that beets just queues up a ton of work which you must complete during that run. This is something that has been discussed as far back as 2015 as something that needs fixing per https://github.com/beetbox/beets/wiki/Refactoring and https://github.com/beetbox/beets/issues/1375 but would require a rewrite of significant parts of the beets code to support.

The beets team does seem to be aware that using it is very hard. There’s even an apology in the docs: https://beets.readthedocs.io/en/stable/guides/tagger.html#an-apology-and-a-brief-interlude

This has been an incredibly demoralizing experience. I’ve probably spent 20 hours on this already. Some of it in the dead of night because of the anxiety this is causing. I just want to be able to listen to my music again.

The worst part is, this is at least my third attempt to get this off the ground and probably my 6th time doing this in my life. Migrating everything from CD to iTunes when I got my first iPod was a chore, but at least it was relatively bug free and could easily be done in batches. Then at least once I had to recover my iTunes library when migrating between computers. After iTunes died and was replaced by Apple Music I moved everything to Google Play Music, which worked ok. Then with the shift to YouTube Music I completely lost control of my collection. I’ve tried to get some kind of self-hosted solution running 4 times. The previous 3 times I had hardware failures (generally within days of finishing setup), during which, although I avoided data loss, I completely lost all organization and much of the tagging work each time.

I essentially have not had access to my digital music collection since the Google Play Music shutdown in 2020, and to be honest pretty much stopped using it as soon as they started asking people to transfer their libraries earlier that year. Even then, there were some tracks that I couldn’t get to play correctly after moving to Google Play Music when I stopped using iTunes.

I’m very sad about all of this. It doesn’t help that I’m otherwise sick right now as well.