How I Would fix iTunes, Part 2: Better Tagging

(This is one of a series of articles looking at elements of iTunes that I think need fixing. I’ll choose one element for each article, and offer a solution. See all articles in this series. If you have any particular gripes about what needs to be fixed in iTunes, drop me a line.)

iTunes – at least the part that manages media files – is simply a database. It reads information embedded in media files, and then presents that information in its windows. This information – also called metadata, or tags – can be text or graphics; the name of a track, the artist’s name, or album artwork. iTunes reads the ID3 tags in files and displays them.

Tagging files is therefore the key to their organization. They allow you to browse files by genre, artist, composer or album. They let you search for items in your library. And they enable smart playlists, which find files that match certain conditions. (And, of course, without tags, you also wouldn’t be able to search the iTunes Store.)

While ID3 tags are widely used, there is no actual standard for them. Some apps add their own tags to files, which other apps may or may not be able to read. This means that, other than for the main, well-defined tags, anyone is free to write what they want in files. You could write a music management app that has all sorts of extended tags (in fact, I know of one person who has).

One gripe about iTunes is that tagging is limited; notably in the genre field. With music as amorphous as it is, pigeon-holing a song or track to one specific genre is not always possible. As I write this, I’m listening to a set of recordings by Pierre Boulez of his own compositions. There are a dozen CDs in this set, and, when ripping them, I have to decide how to classify them. I don’t use the “Classical” genre for my music; that is meaningless. Instead, I use custom genres, such as Keyboard, Chamber Music, Orchestral, Vocal Music, and more. But, with classical music, it can also be useful to have a genre that represents a time period. For example, I could have Early Music, Baroque, Romantic, 20th Century, Contemporary, and Avant Garde.

The problem with any such genres is that one is not enough. Does it make sense that Keyboard includes, say, Bach’s Goldberg Variations played on harpsichord and Charles Ives’ Concord Sonata played on piano? Is it logical that Orchestral include Haendel’s Concerti Grossi and a Mahler symphony?

One workaround for this is two use two-word genres. For example, you could have Baroque – Keyboard, and Orchestral – 20th Century. I find that unwieldy, because it creates far too many genres if you really want to label your music.

What iTunes needs is tokens in the Genre tag, as well as some other tags. Here’s how this would work. You would be able to enter multiple items in a tag field, and separate them with a comma. When you press Return, iTunes would parse them and create individual tokens, like this:

Multiple genres

In this manner, you could tag Bob Dylan’s music as Folk, Country, Rock, or Gospel, according to each song or album, with a master genre of, say, Dylan. You could organize music by decade, with Rock and 90s both listed for your Nirvana albums, Be Bop, Jazz and 40s for your Charlie Parker recordings, and Pop and 60s for your Beatles albums. When you browse your iTunes library, you would find that Pink Floyd’s Dark Side of the Moon might show up in several genres, such as Rock, Progressive Rock, and 70s, according to the tags you’ve added. And why not create mood genres as well: Workout, Chillout, Instrumental and other genres are all possible.

But it shouldn’t stop here: these tokens need to be available for the Artist tag as well. For Leonard Bernstein’s recordings, of which I have many, I don’t want to create a separate artist for Leonard Bernstein together with each orchestra he recorded with; I want one Artist entry for Leonard Bernstein himself, and another for each orchestra. I’d like to be able to easily find all my recordings of the New York Philharmonic, regardless of which conductor led them (in fact, this is an interesting way to explore the recordings of an orchestra). For jazz, I’d like to be able to find, quickly, all recordings I have by John Coltrane, both as leader and as sideman (such as his recordings with Miles Davis, Theolonius Monk, and others).

One problem with these tags is that they may not be portable; transferring the files to another app may lose some or all of the tags, or may group them together in a single tag. So what? If you’re using iTunes in this way, you’re unlikely to be switching to another music player. As long as the tags don’t get deleted, I think it’s fair to allow iTunes to use its own system.

This is really a feature for power users, but I’m sure Apple could spin it for others as well. Look at the popular charts and see how many songs include “featured” artists; as I write this, four of the top ten songs in the iTunes store include featured artists, which are listed like this:

Featured artists

Apple could sell the idea of multiple tags even to listeners of popular music as a way of finding their favorite artists when they are not the main artist on an album.

Multiple genres are needed; tokenization of tags would be a boon to anyone who tags their music. If iTunes could add this feature, its music management would become much better and more flexible for all music lovers.

20 thoughts on “How I Would fix iTunes, Part 2: Better Tagging

  1. Oh, yes — Tagging. A thousands times that. I’ve file a few RFE’s with Apple for that. Aside from multiple genres per song or album – I often use: ‘Free Jazz (duo, piano sax)’ and the like, a but but unwieldy though. Also something like ‘supporting musicians’ to go with / associated with ‘Album Artist’, etc. Nowadays I use Finder tags to extend the data about my music, and use Spotlight to search. Actually, Apple could perhaps integrate Finder tags into the iTunes info window. The big UI problem is working out how to separate the official ID3 tags from the Finder ones.

  2. Oh, yes — Tagging. A thousands times that. I’ve file a few RFE’s with Apple for that. Aside from multiple genres per song or album – I often use: ‘Free Jazz (duo, piano sax)’ and the like, a but but unwieldy though. Also something like ‘supporting musicians’ to go with / associated with ‘Album Artist’, etc. Nowadays I use Finder tags to extend the data about my music, and use Spotlight to search. Actually, Apple could perhaps integrate Finder tags into the iTunes info window. The big UI problem is working out how to separate the official ID3 tags from the Finder ones.

  3. I can type “Bernstein New York” and find all my bernstein NYPO recordings. Yes it may show extras, say another conductor conducting a bernstein composition with the NYPO.
    People use Genres in many ways and you have to take that into account. You describe the “Classical” tag as “useless” yet that is exactly how I categorize every single classical work. And I imagine my library is much larger than yours. I simply want smart playlists of very broad categories: Classical, Non-Classical, Bollywood (for the g/f) If I wanted baroque harpsichord I’d probably just search for harpsichord. Maybe along with a composer like Rameau or performer like Leonhardt.
    When I worked in radio ages ago we custom wrote a database app for programming and yes it had like 3 levels of genres as we really needed that to blow out a day’s music programs in an hour or so.
    Just a perspective from another user….
    Oh if I wanted sub genres I’d simply use Clas-Baroque-Keyboard and utilize the single field. (don’t see an issue with having hundreds) Multiple fields probably aren’t coming in our lifetime.

    • I don’t think one should rely on search; I think one should also be able to browse, and multiple tags would allow that. Also, multiple tags are more practical for smart playlists.

      I find it interesting that you use only the Classical genre. Most people I know with large libraries use lots of genres. But, to each their own.

      So what about, dunno, early music? You probably have stuff by lots of composers, with names that are perhaps not that familiar. Do you ever browse music to find what you want to listen to, or do you always know exactly what you want and search for it?

  4. I can type “Bernstein New York” and find all my bernstein NYPO recordings. Yes it may show extras, say another conductor conducting a bernstein composition with the NYPO.
    People use Genres in many ways and you have to take that into account. You describe the “Classical” tag as “useless” yet that is exactly how I categorize every single classical work. And I imagine my library is much larger than yours. I simply want smart playlists of very broad categories: Classical, Non-Classical, Bollywood (for the g/f) If I wanted baroque harpsichord I’d probably just search for harpsichord. Maybe along with a composer like Rameau or performer like Leonhardt.
    When I worked in radio ages ago we custom wrote a database app for programming and yes it had like 3 levels of genres as we really needed that to blow out a day’s music programs in an hour or so.
    Just a perspective from another user….
    Oh if I wanted sub genres I’d simply use Clas-Baroque-Keyboard and utilize the single field. (don’t see an issue with having hundreds) Multiple fields probably aren’t coming in our lifetime.

    • I don’t think one should rely on search; I think one should also be able to browse, and multiple tags would allow that. Also, multiple tags are more practical for smart playlists.

      I find it interesting that you use only the Classical genre. Most people I know with large libraries use lots of genres. But, to each their own.

      So what about, dunno, early music? You probably have stuff by lots of composers, with names that are perhaps not that familiar. Do you ever browse music to find what you want to listen to, or do you always know exactly what you want and search for it?

  5. I wish there was a ‘release date’ or ‘album year’ field as well as ‘song year’. I make a lot of year-based playlists; the dates of ‘best-of’ LPs are very annoying to adjust manually but vintage songs turning up in recent-year based playlists is really annoying and could be avoided with two tags -the year this version was released, along with a date of original release. I know you could co-opt an unused ‘spare’ ID3 field but that’s not really the point.

    • There is an Album Year field that you can edit in the CD Info window. I’m not sure if the field may be edited on files already in your library.

    • For many years now I have employed the ‘Sort Album’ tag for this. I prepend the year and month to the Album name, e.g. the Beatles Help album has it’s Sort Album tag set as “1965.08.Help”. This has many benefits. You can always see when an album was released (you could add actual day if you wanted) and in the browser display the albums in the right pane are sorted chronologically, even when they released more than one in the same year. But, it doesn’t clutter up any of the normal display data.

      The only downside I have found is the extra effort involved when importing new music, but that’s always going to be the case when you need to add additional data in order to organise ones library how it needs to be.

  6. I wish there was a ‘release date’ or ‘album year’ field as well as ‘song year’. I make a lot of year-based playlists; the dates of ‘best-of’ LPs are very annoying to adjust manually but vintage songs turning up in recent-year based playlists is really annoying and could be avoided with two tags -the year this version was released, along with a date of original release. I know you could co-opt an unused ‘spare’ ID3 field but that’s not really the point.

    • There is an Album Year field that you can edit in the CD Info window. I’m not sure if the field may be edited on files already in your library.

    • For many years now I have employed the ‘Sort Album’ tag for this. I prepend the year and month to the Album name, e.g. the Beatles Help album has it’s Sort Album tag set as “1965.08.Help”. This has many benefits. You can always see when an album was released (you could add actual day if you wanted) and in the browser display the albums in the right pane are sorted chronologically, even when they released more than one in the same year. But, it doesn’t clutter up any of the normal display data.

      The only downside I have found is the extra effort involved when importing new music, but that’s always going to be the case when you need to add additional data in order to organise ones library how it needs to be.

  7. I’ve more or less given up on trying to make distinctions between various types of pop (a broad category which includes ABBA, New Order and The Decemberists in my library) or rock or whatever. Now I try to present distinctions based on some kind of definable characteristic. Pop : Japanese vs Pop : Spanish or Pop : Chinese. It’s inelegant and means I need to keep track of lots of subgenres and make sure they’re always consistent.

    Being able to assign independent tags would be a huge step forward and make finding exactly the music I want at any given time worlds easier. (Though it would likely take me forever and a day to fully tag my library first…)

  8. I’ve more or less given up on trying to make distinctions between various types of pop (a broad category which includes ABBA, New Order and The Decemberists in my library) or rock or whatever. Now I try to present distinctions based on some kind of definable characteristic. Pop : Japanese vs Pop : Spanish or Pop : Chinese. It’s inelegant and means I need to keep track of lots of subgenres and make sure they’re always consistent.

    Being able to assign independent tags would be a huge step forward and make finding exactly the music I want at any given time worlds easier. (Though it would likely take me forever and a day to fully tag my library first…)

  9. The solution I adopted years ago for this problem was to put my ‘tags’ into the comments field and then use smart playlists to create playlists based on words found in the comments field. Works really well. However, tags would be a definite improvement.

  10. The solution I adopted years ago for this problem was to put my ‘tags’ into the comments field and then use smart playlists to create playlists based on words found in the comments field. Works really well. However, tags would be a definite improvement.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.