How to effectively use iPod to learn piano/guitar is an interesting question.
In iPod/iTunes, I can generally generate playlists and give star ratings to songs I like. And those with high star ratings should be the ones I focus on learning and practicing. The question is how can I systematically manage my mp3 library to achieve this goal.
First of all, it is nice to find lyrics and chords for the songs. And there are many websites offering them for free. Usually the songs will be listed and there are multiple pages of them. I wrote a program to grab (1) song name (2) artist name (3) lyrics (4) chords, and store them in a mysql database. The perl modules I used are LWP, DBD::MySQL (DBI).
Then I can generate a list and search in my mp3 tags for these songs, using MP3::Tag. http://www.ibm.com/developerworks/linux/library/l-cpmp31.html provides an excellent review of the functions to process mp3 files with perl.
Sometimes, the chord file is stored in .rar format. I can use Archive::Rar to process these files. First download the file with LWP::Simple’s mirror (‘source url’,'newfilename’), then open and extract the content with this rar module.
What if I don’t have the song? This is a good question, as if a song has a guitar chord, it usually means it is a good song, and I should get it. After matching with my mp3 library, I generate a list of songs to look for (now I have the title and the artist information from the chord library). I simply search CDDB database to find out the album, and put it on to my wishlist on Amazon, all automatically processed (thanks to the API offered by Amazon).
Since I have thousands of songs, the process described here saves me huge amount of time. It’s a lot fun to program these too. The life is so much easier with so many of ready-to-use perl modules.