A bare-minimum-data file organisation scheme

As the writer of the Music Library Management blog I get a lot of emails asking for advice. A lot of these emails concern the best ways of organizing file and folder paths. Should I use genre in my file organisation? Should I use groupings (e.g. A-D) to lower the number of child folders?

When all is said and done, I find the best general advice is that, when it comes to music file organization, the bare minimum is the best way to go.

In other words, all you really need is the album ( or more generically, release) and artist names as folders, and the track name and number used in the filename. Disc numbers may sometimes be used to separate multi disc releases.

Modern music organizers offer the ability to add extra data to your collection, which are added to internal tags inside music files. Within the tags, you can store genre, year, mood, album/record label and many other items. The same music organizers then allow those pieces of data to be applied to your music file and folder paths. For example, you could have a folder of 'Jazz' albums.

There are two key reasons that it's a bad idea to start adopting these more exotic, subjective, multi-applicative tags.

The first is that files and folders, on modern computer filesystems at least, are hierarchical. Each file or folder on your hard drive may only have one parent, and then that parent may only have one parent, and so on. Music metadata are not hierarchical, in the main part.

Imagine you operate a multiple genre tagging scheme. If a given release has multiple genres, that means you have to decide which folder the release appears under. If you do take the time to choose a parent genre folder then you have to remember which genre you used and why, so that you may write them down and remember them for next time, and perhaps apply the same reasoning to another release. Otherwise, you will quickly have a dis-organized folder structure, or at least one that is lacking consistency.

The second reason is that some music metadata is more subject to change than others. For the most part, artists and the album names won't change from the moment that you input the data. They are identification tags, pretty unique to any given release. If you include values for mood, genre and the like in your music tags then you are subject to change those based on how you feel at the current point in time.

So far so good. After all, genre is a useful classification by which you can browse your music collection and changing genre in tags is not a big deal. The trouble is when you apply these to file paths. For instance, imagine you organise your music files by genre, and you include the genre in the track filename. You decide to change all 'Trip hop' albums to 'Downtempo'. Originally you have the following filenames:

../01-Mysterons-Trip hop.mp3
../02-Sour Times-Trip hop.mp3

You then must change each one to:

../01-Mysterons-Downtempo.mp3
../02-Sour Times-Downtempo.mp3

Basically, you will need to make sure that you resynchronise the filenames with the new metadata. This is duplication, and duplication is evil. You have to remember that when you change a file, you are also changing the file organization. The more songs and albums that you make these changes, the more time consuming it becomes. For hundreds of albums, this will take a long time.

There's another reason that changing file paths is something to be avoided, other than the work in doing so. This is that a music file's location in your file system is often used as an identifier of that track, with certain assumptions that this won't change. Music players, for instance, may store any extra data, such as play counts or ratings as linked to this. Change the file name and you lose that data (and the music file may have to be "re-imported"). Another place this can cause problems is with playlists. Static playlists simply record the name and location of each file, so changing the file path will break the playlist.

Another way of looking at this is that music file paths should only contain identifying and structural metadata.

That is why it's best to stick to as little information as possible in your file paths. Ultimately a file path exists to locate one given track in your music library. Therefore, include the minimum possible information to identify that track: its name, its containing release, its position in that containing release, and the containing release's artist. For instance:

Portishead/Dummy/02-Sour Times.mp3

Add in disc numbers for multi disc releases and you're set.

That's an ideal. I do recognise there are some occasions where you have to diverge from this, for instance grouping folders. In some cases, if you have a massive music library, you might get to the point where you exceed the number of allowable child folders in a folder, or performance considerations mandate you reduce the number. But that said, you should be aiming for a bare minimum file organization for your music files.

Thanks to Wonderlane for the image above.
tags: paths

The Music Library Management blog

Dan Gravell

I'm Dan, the founder and programmer of bliss. I write bliss to solve my own problems with my digital music collection.