A Flat Hierarchy for Subjective mp3 Tags

I’ve always been anal about the way my mp3s are tagged. Before the iPod, Audio­scrob­bler, and foobar2000, it was an irra­tional obses­sion, since I keep my music well-sort­ed on my hard dri­ve. But there’s some­thing so “offi­cial” about mp3 tags that I find appeal­ing.

A few years ago this fix­a­tion extend­ed to a pro­gram called Mood­Log­ic, which applies a user-main­tained data­base of real­ly spe­cif­ic infor­ma­tion about songs to con­struct playlists to match par­tic­u­lar moods. In the end it proved more work than it was worth for me, so I aban­doned it, but I’ve always wished for a sim­i­lar­ly intu­itive method of music brows­ing and playlist cre­ation (come on, alpha­bet­i­cal­ly?).

The genre tag has always been the most elu­sive. The sub­jec­tive if not total­ly base­less dis­tinc­tions between “Pop/Rock,” “Rock,” and “Pop” are enough to aggra­vate even the mildest case of OCD. I nev­er both­ered with this kind of cat­e­go­riza­tion until recent­ly when I real­ized that foobar2000 can han­dle mul­ti­ple val­ues for one tag field. Inter­est­ing…

all­mu­sic does a pret­ty decent job of pro­vid­ing many (some­times too many) adjec­tives it calls “styles,” “moods,” and “themes” for artists and indi­vid­ual albums. These adjec­tives can be semi-auto­mat­i­cal­ly added to mp3s on a per-album basis with tag­ging pro­gram The God­Fa­ther and a spe­cial patch. The tag fields “styles,” “tones,” and “sit­u­a­tion” are cre­at­ed and the val­ues are sep­a­rat­ed by com­mas. Using foobar2000’s masstag­ger to split the fields and Columns UI’s Album­list Pan­el to sort your col­lec­tion by these fields, you can pro­duce some­thing like this:

foobar2000 AlbumlistHere my music is sort­ed by tones, which is a much more nat­ur­al way to find what I’m real­ly in the mood to hear. Some of the tones all­mu­sic assigns can be ambigu­ous or even use­less (what does “crunchy” mean and why does it only apply to White Light/White Heat?), but the ben­e­fit of this sys­tem is that every album con­tains mul­ti­ple val­ues in its tones tags, and so White Light/White Heat can also be found under “Brit­tle,” “Con­fronta­tion­al,” “Harsh,” “Cere­bral,” “Omi­nous,” “Fiery,” “Intense”…only to name a few. But if you focus on brows­ing only the tones with a medi­um degree of pop­u­lar­i­ty, you’ll find what you real­ly want to hear much faster. And you’ll find your­self lis­ten­ing to way more of the sec­ond half of the alpha­bet than you have been.

I did­n’t know it as I was apply­ing this sys­tem to my foobar2000 con­fig, but it’s an exam­ple of what’s called flat hier­ar­chy. I can’t explain it bet­ter than this post on beel­er­space, which is a pret­ty won­der­ful blog in gen­er­al.

Now here’s the real­ly excit­ing part. There is also a data­base search com­po­nent for foobar2000 that fea­tures a “search for same” option. For instance, it allows you to right-click on a song in your playlist and gen­er­ate a new playlist of all tracks in your data­base with the same artist, album, year, etc. So imag­ine this: it’s Sun­day after­noon and you’d like to make up a playlist, but you’re not sure what you want on it. You do know that you want to hear White Light/White Heat, so you load that album, right-click on one of the tracks and gen­er­ate a playlist with match­ing val­ues in the tones tag. Now you have a playlist with tons of stuff that sounds like White Light/White Heat!

Unfor­tu­nate­ly it’s not that sim­ple. Cur­rent­ly the data­base search com­po­nent only allows you to match one val­ue or all val­ues in your search. Because White Light/White Heat has 21 tones val­ues, match­ing just one of those tones is pret­ty easy; in my col­lec­tion that search returns 1,895 tracks. Match­ing all 21 tones, on the oth­er hand, nar­rows the search all the way down to just this album. In the future the data­base search might have the capa­bil­i­ty to match a user-spec­i­fied num­ber of val­ues, in which case match­ing three or four tones might return a com­fort­able ten or fif­teen sim­i­lar albums. When that hap­pens, you won’t be able to jus­ti­fy not using foobar2000 much longer.