song ratings

When I switched my music over from Gronk to iTunes earlier this year, I decided to rate all of my songs. This seemed like an interesting exercise for two reasons: first, iTunes has an option to play higher-rated songs more often; and second, it was an excuse to actually listen to, and put at least some thought in to, every song I have. This was fun, because it turned out that there was a lot of music in there that I didn't even recognize! It was a good way to discover that one really good track on an otherwise-crappy ten-year-old album. Sometimes it takes hearing a song out of context with the rest of its album to give it another chance.

I'm sure a lot of my ratings were pretty arbitrary, depending on what kind of musical mood I was in that day, but it's better than nothing.

The way I did this was I made a smart playlist called "Unrated" with the rules: "rating is 0 stars; match only checked songs", then set the "Source" in Party Shuffle to the "Unrated" playlist. This will cause it to play random unrated songs until you've rated them all.

The rating scheme I used was:

    0 stars:     I have not yet rated this song.
    un-checked:     I hate this song and never want to hear it again.     11%
    1 star:     I think I don't like this song, but I'm not yet sure enough to kill it outright.     11%
    2 stars:     It's ok. Don't love it, don't hate it.     33%
    3 stars:     This song is pretty good (but not great).     26%
    4 stars:     I love this song!     10%
    5 stars:     An ass-kicking, incredible, all-time favorite.     9%

That took about five months for somewhere around 19,000 songs.

Tags: , , ,

29 Responses:

  1. samidha says:

    I have actually just in the last few days been thinking about doing this myself. I'm currently burning all my discs so I can give them to people who actually listen to compact discs these days (I do not. I haven't touched my CDs except to move them from apartment to apartment in two years.). It's been great to listen to tons of music I haven't heard in years. :)

  2. cnoocy says:

    Make sure you back up your various Itunes library files. I have had mine get corrupted on occasion, removing all ratings, lists, etc. from the system.

  3. reify says:

    I've been doing something very similar.

    I use 1 star as "hate it, cull" and ignore checks. This lets me apply ratings on my ipod (which has a smart playlist to load 1000 unrated songs) and have them transfer back. Great for commute.

    I keep losing my ratings because they're inside iTunes' database and not the songs themselves, any file reorg (which I do a lot - songs don't all fit on my powerbook, and I haven't figured out how to make iTunes not suck with remote filesystems) loses them. And after working with Windows for ten years, I just can't trust an application backup to hold on to fragile path-related data properly. I'm going to put together a plugin to encode iTunes ratings into the comment field and vice versa (surely someone's done this already, though).

    • clubjuggler says:

      How do you get ratings to transfer back from the iPod? I haven't managed to get my setup to do that yet.

      • grahams says:

        I don't think it works unless you are loading your ipod with the "syncing" built into iTunes... I haven't used the syncing in a long time, though, so I'm not positive...

      • brianfeldman says:

        You take your externalized rating database and then generate some AppleScript that you run against iTunes to fix the ratings.

  4. tithonium says:

    I've been doing the same thing, but since I do most of my rating from my ipod, and you can't uncheck on the ipod, I use 1 star for 'I hate this, never play it again'. I'm finding I have rather a lot of crap in my collection, what with the never-deleting-anything.

  5. ckd says:

    My scheme is similar, and I use smart playlists to build combinations that make songs eligible for re-appearance at longer and longer intervals the lower the rating.

    unchecked: duplicate track, ignore completely. (when the iPod gets full, turning on "copy only checked songs" frees up space in a hurry, or for using the disk mode)

    unrated: no info, needs to be rated.

    1*: never, ever play randomly. Spoken-word intros, iTrip settings files, and the like, or just unmitigated crap.

    2*: only play if last played is more than 18 months ago. Crap, but crap I'm willing to give a listen to once in a while to see if I've changed my mind.

    3*: normally 9 months, currently shortened to 6 to facilitate re-rating (up or down) of a bunch of these. Okay songs that I don't hate, but don't really care for, or songs that I like but that I consider overplayed.

    4*: 3 months. Good but not great songs.

    5*: 1 month. Songs I can basically enjoy whenever; the delay is to keep them that way.

    I use Synergy to make rating/re-rating easy, but SizzlingKeys appears to do the same thing and is free. (Both for Mac, though there may be Windows equivalents.)

    • usufructer says:

      How many tracks do you have? I do a similar thing, if a bit more refined, and my 5 star stuff gets played at least once every five days. Four star is at fifteen days right now, and three is approaching a month. The times vary depending on how much music I'm listening to.

  6. dratoff says:

    I do the same thing and I want a remote for my ipod, with 5 stars on it or a method of keeping the rateing window open on it so I can rate songs easily.

  7. raemus says:

    While I've never really done much rating in iTunes (since I don't use the ratings for anything), I have built up a ridiculously detailed system for other track information. I plan to write up a full analysis of it sometime, but here are some highlights:

    - I abuse the hell out of the grouping field. Since I only ever use the default genres, I end up using groupings to create more refined playlists. Some tracks have about five different categories listed in the groupings.
    - I always follow the {last, first} rule for names, even if it's from somebody on the internet. If I can find their name, their handle goes into the comments; if I can't, they're listed as ? ({alias}).
    - Classical music follows the format Opus {#}, {symphony/conerto/&c. #}, `{common name}'. Movement goes in the Name field; if it's the entire piece, the name is just (entire). I also list track numbers where possible so things play in the right order.

    That's just a little view into my organising methods. It's taken a while to figure out the best way to do things, but it makes it all much easier to work with now because of how I use smart playlists and the like.

  8. mark242 says:

    That's about spot-on to what I used, the only difference being that I used 1-star to represent "this song blows"/"never listen to again"/"vnv" etc-- this lets you rate things with the iPod, which I found to be much more enjoyable than having to sit in front of iTunes clicking like a madman. (Unless there's some way to uncheck a song with the iPod? I haven't found it yet.)

  9. jennae says:

    I'm a fan of the "least played" playlist shuffle. Doesn't incorporate rated songs in the factor, but it's fun if you keep hearing the same songs over and over.....

  10. dossy says:

    So, when can we see the "jwz 5-star playlist"?

  11. mattlazycat says:

    I did the same thing, though I have woefully few tracks compared to you. However I found that over a couple of years, the rating degrade and I'm currently in the slow process of re-rating them all. This is good because I get to hear all my music again (instead of the 10% I used to think was especially cool) but to me it really highlights that simply rating tracks isn't quite enough.

    So I'm thinking of writing a dashboard widget to keep keywords/tags in the comments field. You can make smart playlists out of those, and they stand to be more lasting and useful than ratings. Something that might interest you? It may finally succeed in making the dashboard useful, who knows. :)

    Related, boring: I hate that I have to call osascript through the command-line from the widget to get anything out of iTunes. The default Apple iTunes widget wrote a Cocoa bundle to handle its tasks quickly and directly, but it doesn't do very much at all and I'm know negative Obj-C - if you ever wondered why iTunes dashboard widgets are crap and slow, now you know, they run Applescript code through a command-line tool.

  12. baconmonkey says:

    My LJ must be screwed up in some way. I can't read all of your post. It cuts off before the part where you describe how this reformated your hard-drive, or explain why this system is insufficient.

  13. pberry says:

    Do you find that songs drop out of the 5 star list because you hear them more often?

  14. Care to generate a report listing the songs in each category?

  15. kitten_moon says:

    I tried rating schemes like this and was dissatisfied because I couldn't come up with a scheme that had any more meaning to me than just the number of stars.

    Instead I tried a percentile scheme where I would rate 5 star tracks as being in the top 5%, 4 stars in the top 20% and so on. I wrote a script to parse my current itunes library file and tell me how I was going against these (admittedly arbitary) targets.

    I've not got as far as you though (only rated about 25% of 4500 songs), but it seems to be working OK so far.

  16. warmenhoven says:

    ... "and yet there is no tag for OCD"

  17. etagloh says:

    ...but I've never understood why none of the major media players -- esp. iTunes -- hasn't come up with a relational option for rating, so that you don't have to come up with arbitrary mappings for each of the five star ratings.

    What I mean is this: imagine a shuffle mix where each new song comes with the question 'do you like this more than the last song?' Simple answer: yes, no, dunno. That kind of data-gathering gives you both a classic sorting algorithm and a way to arrange segues.