With the recent release of itunes 8 and it's built in genius feature, it would seem that my work on similar playlist creation has become outdated. However, there is one thing that genius lacks: a feature that allows exploration of similar music apart from my own collection. Of course, there are suggestions from the itunes store, and I can preview 30 seconds from each of these songs, but that's not always a good indication of whether I'll like the song or not. So I decided to write a quick little program to combine the features of last.fm's similar tracks functionality and seeqpod's playable search. Here's the result. It's ugly, but it's functional (as far as I've tested it). As always, interest will dictate how much additional work goes into the program.
Requires .Net framework
To run the program, unzip the folder, run the .exe file, and select a track in itunes. Then click on the "Generate List" button to start listening to new music!
I just finished updating the last.fm tagger. It actually wasn't too bad finishing it off in vb.net. I'll be looking to add some other features to the program in the near future. Leave a comment if there's anything in particular that you'd like to see.
I've just come up with an idea to continue the trend of writing software to extend last.fm's web services. This program is just a little example so you can see the direction I'm heading. The program takes some selected tracks and will automatically create an itunes playlist of similar tracks (according to last.fm) that it finds in your library. It also spits out an approximate accuracy (just for curiosity's sake). Give it a try, and if you like the idea, leave a comment and I'll probably put more work into it. Maybe I'll even compile it to work with some of my other programs.
This isn't a real release, so take it with a grain of salt. Requires/will install .Net Framework 3.5.
[Download] (now it runs an installer to fix some dependency issues)
The possibilities for this program are endless really. Some ideas would be:
- Limit the playlist to contain only songs with a particular tag in the comments (would work well with itunes tagger)
- Create automatic playlists from itunes' most played tracks
- Allow user to specify the approximate popularity of the track (ie only songs you listen to a lot, only songs you rarely hear, somewhere in between)
- Exclude certain ratings, skip counts, etc
There is also another program out there that will create playlists for you based on various last.fm data. It's called Local.fm, available here.
I just finished adding an automatic option for the itunes tagger. This means that the program will no longer overwrite any existing data unless the "Only check for missing data" option is disabled (in which case everything will be replaced). I also increased the delay between requests to last.fm. The web service provided by Last.fm will ban your IP address if more than 1 query is sent each second. This would be a very bad thing to happen, so I've set the program to only query every 2 seconds. As such, for each song you search in automatic mode, the program will require about 2.5 seconds (ie. 100 songs = 4.2 minutes).
Leave comments if you have anything to say about the latest release. Enjoy!
Turns out that the fingerprinting software from Musicip.com was a bit more restricted than I thought. So I completely redesigned my tagging program to work with a more recent player in the market, a last.fm fingerprinting client. This client was released by a guy named Norman (to whom I have no affiliation). To learn more about the last.fm fingerprinting program, visit here.
Anyways, the important part is this: The new program automatically searches the top 5 last.fm tags for each selected track, then saves the top tag as the song genre and saves all 5 tags in the comments. I actually have genres now for my top 300 tracks in itunes, from a mere 10 minutes of tagging. Give it a try and see how it works. The biggest problem? People who use ridiculous tags on Last.fm
Oh, and the program will also automatically find any missing metadata for your track using the last.fm fingerprinting stuff as well as some musicbrainz data. Pretty nifty.