Some years ago, best-selling author Stephen King bought a local radio station in Bangor, Maine, reportedly so he could be assured of turning on the radio and hearing music that he'd probably like. Thanks to a brilliant little program called Indy from Change.TV, I don't have wait until I'm a multi-millionaire to enjoy my own radio station.
Crystal Set with a Feedback Loop -- On its face, Indy is incredibly simple. It displays a small window with basic controls: play/pause, previous/next, volume, and five stars for rating tracks. It also displays the artist name, track name, and elapsed and total time for each song. To start, you click the play button, and Indy starts playing a song it downloaded. Once you've developed an opinion about the current song, you assign a star rating, with one as the worst and five as the best. If you give a song only one or two stars, Indy instantly moves on to the next track; higher-rated songs finish playing after you rate them. If you don't rate a song before it finishes, Indy waits for you to give it a rating before continuing to the next song, although you can play the song again if necessary, and you can even flip back through previously rated songs with the previous button. Although it can be a bit annoying to be forced to rate every song, it's a key aspect of Indy's interface, because otherwise it would be too easy to be lazy and not rate anything.
Behind the scenes, Indy downloads MP3 files to your computer (in ~/Music/Indy) and plays them from local files; it's not streaming. Initially, the files start out in an Unrated folder, and as you rate them, they're moved to folders corresponding to the number of stars they garnered from you. You can set how much disk space you'd like Indy to devote to each rating, from None to Unlimited, with stops for 50 MB, 100 MB, 500 MB, and 1 GB in between.
As you rate songs, Indy uses the Collaborative Filtering Engine (CoFE), developed by the Intelligent Information Systems group at Oregon State University, to compare your ratings to those from 20,000 other Indy users. The goal is, of course, for Indy to feed you an increasingly large percentage of music that you're likely to appreciate. In the relatively short time I've been using Indy, I've noticed a definite improvement in its selections, to the point where I seldom rate anything as one or two stars any more, and I'm finding more four-star songs and even a five-star song or two.
As an aside, the Indy Help makes some good suggestions about ratings, particularly on the low end:
Clicking the artist or track name in Indy's window loads the artist's Web site in your browser. I've done it a few times for the songs I've most liked, but the problem is that the link to the Web site is visible only as long as the song is showing in Indy. As you might expect, the information is hidden away, in a playlist.dat file in the Indy folder for recent songs, and you can ferret it out of your console.log file as well. But neither is easy to access or permanent, and even Spotlight doesn't seem to see inside either of those files. Ideally, Indy would automatically add this information to the ID3 tags for each song, but many songs lack even basic metadata, much less uncommon tags like Web URLs. That's not Indy's fault, since all songs are submitted by the artists themselves (or at least with the consent of the copyright holder), and it's up to the artists to make sure that the ID3 tags contain Web URLs.
Music Discovery Service -- The comparison to Stephen King's radio station isn't quite fair, for two reasons. First, Indy never plays rated songs more than once. If you like a song enough to keep it, you must add it to the rest of your music collection in iTunes (it would be helpful if Indy would automatically add songs of particular ratings to iTunes playlists). Second, unless you're way more in tune with the independent music scene than I am (which wouldn't be hard, admittedly), you won't recognize many, if any, of the artists. Because of this, Indy is more of a music discovery service than a radio station, at least the sort of radio station that plays commonly heard music. I must admit, though, as it has become more accurate, Indy is doing a pretty good job as a radio station too. If I want to listen to music I already know, I can listen to my collection in iTunes.
What's particularly cool about Indy is that it's not attempting to maintain a centralized archive of songs, nor should it in any way run afoul of the jack-booted thugs of the recording industry. That's because, as I noted earlier, all the music is submitted by copyright holders, and because it's served directly from the artists' sites. In other words, Indy is a completely legal front end for discovering music you're likely to enjoy from all around the Web. At the moment, Indy knows about 10,000 songs, which should keep you busy for quite some time.
If you're an artist, I strongly encourage you to submit some of your music to Indy as a way of introducing more people to your work. Just be sure to include your Web site's URL in the ID3 tags of your file! One caveat: although Indy isn't likely to cause a Slashdot effect, the increase in downloads may affect your hosting bills if you pay for bandwidth.
Although Indy serves only music right now, there's no particular reason it couldn't support other forms of media, including photos, video, and more, and the Indy FAQ states that such enhancements lie in Indy's future. For the moment, though, I'm happy listening to whatever Indy sends my way, and if you've wanted a way to expose yourself to new music, give Indy a try. It works in Mac OS X 10.3 and later, and Windows and Linux; it's a tiny 466K download.