Overbuilding An ITunes Rating System

Even though iTunes and it’s song rating system has been around for over a decade now, [Steve] still hasn’t gotten around to assigning ratings to his vast library of MP3s. We can’t blame him – who wants to pull up iTunes every four minutes and assign a star rating to each song individually? To solve this interface problem, [Steve] set out to design a hardware song rating interface that fell down the rabbit hole into development hell.

The build started off simply enough – just an Arduino attached to a few buttons that sends data to a Cocoa app which rates the current song. Everything was working wonderfully until [Steve] restarted his mac and the COM ports went to pot. Wanting a ‘plug-and-play’ solution, he did away with the Arduino-based build and started designing a USB device that would display the current iTunes track and provide hardware buttons for rating the current song.

The current build is based around a very capable PIC 18F4550 micro. After looking up the USB HID protocol, [Steve] had some boards fabricated. He’s keeping us waiting on a final build report, but with the amount of work that went into this project, we’re sure it’ll be a winner.

9 thoughts on “Overbuilding An ITunes Rating System

  1. Why could this not be accomplished with an Arduino Leonardo and some Cherry keys to simulate specific keybindings that correspond to ratings and a few LEDs?

    Could also add in some track skip and volume buttons too.

  2. I was thinking moments ago “Wow, I wish I could listen to iTunes and just rate songs on the fly, a la pandora.” I come to hackaday, and BAM! My wish made manifest. I will now dust off my Arduino.

    P.S: I’m now thinking really hard about a Ferrari and the ability to spin code into gold. I’ll check back in a few minutes.

  3. I wrote an applescript that will easily send the current track data from itunes to a serialport (serialportX i think it’s called gives you access to serial ports in applescript). I would look at the documentation for the itunes applescript interface, I’d bet there’s a way to rate the currently playing track. It should be very easy to do with an arduino.

    And it works across reboots no problem. The only thing that’s not optimal is that you have to specify the serial port in the applescript, and that is specific to the arduino (not sure if it’s teh model or the specific device), so if I want to use this with a teensy instead of an arduino, I have to modify one line in the script.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

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