iRATE radio is a collaborative filtering client/server mp3 player/downloader. The iRATE server has a large database of music. You rate the tracks and it uses your ratings and other people's to guess what you'll like. The tracks are downloaded from websites which allow free and legal downloads of their music.
More info on the website