Music Metadata: The Artist Sorting Problem

A popular music store (classical music is a whole 'nother thing) organizes its music by performer. When I want to find "This Year's Model" by Elvis Costello & the Attractions, it's easy. I walk over to the "C" area, find the bin for "Costello, Elvis", and leaf through it until I find that album.

Notice that the artist name on the bin ("Costello, Elvis") and the artist name on the album ("Elvis Costello & the Attractions") are different. This is useful. I want to do a similar thing for my digital music.

We ought to be able to put two versions of the artist name in the metadata: one for sorting and one for display. In fact, the ID3 tag specification, the metadata standard used for MP3 files, provides for this.

MP3 programs typically store the band name in a tag called TPE1. This is the first performing artist tag. (Yes, there is a second and third...) The tag is defined:

TPE1 - The "Lead artist/Lead performer/Soloist/Performing group" is used for the main artist.

There is another ID3 tag called TSOP, which is the performer name for sorting purposes. It is defined:

TSOP - The "Performer sort order" frame defines a string which should be used instead of the performer (TPE2) for sorting purposes.

(Even though that refers to TPE2, popular music files typically use TPE1 and don't have a TPE2 value.)

The idea is that when a program is sorting a list of music by performer, it should use TSOP. If that tag isn't there, then it should fall back to TPE1.

So, it would appear that the ID3 specification gives me precisely what I want. When I rip "This Year's Model", I should set the metadata to:

TPE1 = Elvis Costello & the Attractions
TSOP = Costello, Elvis

There are, unfortunately, two problems with this solution.

First, this solves the problem for MP3 but not FLAC. The Vorbis Comment Specification, which defines the metadata in a FLAC file, doesn't have an artist sorting field. In other words, it gives an equivalent for TPE1 (it's called ARTIST) but nothing that would work for TSOP.

Vorbis comments are flexible, so maybe this isn't a problem. If you remember from yesterday's posting, where was no standard way to mark that a FLAC file is part of a compilation. I found, however, that a non-standard comment called COMPILATION was widely used for this purpose. It was easy to mark my FLAC files with this. So, maybe I could do the same for a sorting artist name field.

Unfortunately, I could not find a widely used convention for saving sorting artist name in FLAC files. Sadly, it appears this function isn't widely used.

This brings me to the second, even bigger, problem. It doesn't help to add sorting information to my music files if the software doesn't support it. My iAudio x5 MP3 player would, because it browses music in whatever way I store it in folders. The Amarok music player that I use on my media computer would not.

It's unfortunate that Amarok doesn't support performer sort order tags. I looked at the code, and it didn't seem like an easy fix.

So, I'm stuck. I'd like to re-tag my files with the one artist field for display and another for sorting. That's a lot of work, and it just isn't worth it if my music player software won't use it.

When I started my collection I sensed this sorting thing would be a problem. Now, a year later, I've got it better defined—but not yet solved.

When I first loaded my music, realizing this would be an issue but not completely understanding it, I did something a bit unusual. Before I saved the music files, I edited all of the ARTIST values so they would sort correctly. I would, for instance, save "This Year's Model" as:

ARTIST = Costello, Elvis; & the Attractions

I'm not sure if this was a good thing or a bad thing to do. When I save performer information this way, Amarok (mostly) sorts everything the way I want it in the display. So, it's good that within the confines of a single artist tag, I'm able to get my music sorted closely to what I want.

The problem is that whenever the player tries to lookup the performer name against a service such as Wikipedia or it fails. Plus when I see ugly things like "lang, k. d.; and the Reclines", it just sends a shiver down my spine (and up my throat).

So, I go back and forth on what I should be doing with the performer information. I love Amarok, but this problem is so annoying that I'd consider switching to another music player that supported performer sort order tags.


Comments have been closed for this entry.

re: Music Metadata: The Artist Sorting Problem

Amarok 1.4.5 is going to have Labels support. This should be pretty much equivalent to what you want. Check the comments on this bug report:

re: Music Metadata: The Artist Sorting Problem

AMG's LASSO CD identification service allows for artist names to automatically be tagged with metadata including sorting names of the type you describe.

re: Music Metadata: The Artist Sorting Problem

The best way to organize your music is through an index or custom database. This way you can just search for "Costello" or even "Co" and have your results returned to you however you choose.
Windows Media Player's Library is an excellent example, but I've also written a script that allows my Library to be catalouged, searched, and launched through an HTML interface. For even a novice it's pretty simple to do.
Re-Editing all the tags in a large collection with "Costello, Elvis" just isn't realistic. It's very difficult or impossible to automate. "Pink Floyd" may become "Floyd, Pink", or how do you determine whether the band is "Elvis Costello and the Attractions" or possibly "The Attractions with Elvis Costello".