Filed under: How-tos, iTunes, AppleScript
Lyric fetchin' lovin': how to batch fetch lyrics with GimmeSomeTune and Needle Drop
One neat little thing about the iPod and iPhone family of devices is their ability to display lyrics -- supported by all iPod nanos as well as the iPhone/iPod touch, and iPod Classic 5th generation and higher. On the iPhone and iPod touch, lyrics show up when a song is loaded (and can be re-displayed by tapping on the screen while a song is playing); while on the iPod nano, pressing the center button several times while a song is playing will cycle you through to display lyrics.
But the real issue isn't so much about displaying lyrics as much as it is obtaining them. PearLyrics was once my tried and true favorite way of getting lyrics, but it passed away some time ago.
While not exactly a replacement for PearLyrics, GimmeSomeTune, paired with Needle Drop, will provide those of you with large iTunes libraries an easy way to batch tag lyrics for your songs.
Among other things (like fetching album art and last.fm scrobbling), GimmeSomeTune can fetch and tag lyrics to the current song that's playing. No need to worry if the songs already have lyrics -- GimmeSomeTunes will leave them alone. To enable lyric fetching support, click on the "Artwork, Lyrics" pane within the app's preferences and place a check mark next to "Fetch lyrics from Internet, when song has none."

Okay, now what if you have a large iTunes library? Surely, clicking and playing each song in it would take several light years. This is where Needle Drop comes in handy. The Applescript plugin, supplied by the resourceful Doug Adams of Doug's Apple Script's for iTunes, plays a track for a specified number of seconds before proceeding to the next one. While Needle Drop provides a great way to quickly sample an album, for our purposes we'll be using it to do some rapid drive-by-playing of our iTunes library. I find that a 5- to 10-second buffer usually does the trick.

Why do you even need a 5- to 10-second buffer? Why can't you play tracks in shorter intervals? Well, too short of an interval could result in the following problems. First, it may not be enough time for GimmeSomeTune to tag your music. Second, and more importantly, shorter intervals may result in a slap on the hand from Google, who may give you a not-so-pleasant warning; such warnings were also commonplace with PearLyrics in the middle of processing large libraries.

Obviously, this process will take some time. My advice is to mute your iTunes and let it run overnight (or two, depending on how big your library is). So kids, don't try this at home. Try this at grandma's house. You know she'll let you get away with anything.
Both GimmeSomeTune (link) and NeedleDrop (link) are donationware, so please feel free to contribute to the two to support their work.
If you have a different or better way to batch fetch lyrics for your iTunes library, let us know.

![TUAW [Cafepress]](http://www.blogsmithmedia.com/www.tuaw.com/media/tuaw-cafepress-promo.png)


Reader Comments (Page 1 of 2)
Mel said 9:16AM on 7-14-2009
I use LairWare's MPFreaker: http://www.lairware.com/mpfreaker/ It's not free but it works very well.
Reply
Cristiana said 9:35AM on 7-14-2009
I came here to say the exact same thing. I have been using Mpfreaker for years, and it works really well, especially with really large libraries (mine is around 130gb)
Steven said 8:19PM on 7-14-2009
MPFreaker is free if you get it from the right places ;)
And I see that the picture shows Bloc Party. Good call.
Eric Wagoner said 9:24AM on 7-14-2009
I did this several months ago, using the same method. One nice add-on: Doug's "No Lyrics to Playlist" script, which gives you a starting point for NeedleDrop to do its thing -- especially nice if it's going to take several nights to complete.
Once you've got lyrics embedded in all your music, you can use the iTunesSearchLyrics script to build a playlist from a lyrics search, which is great for finding all your your music that mention monkeys.
Reply
Jason said 9:26AM on 7-14-2009
good article thanks!
one good use for lyrics would be to create playlists that filter out explicit songs as I have 2 small kids
could you write an article on that? is it possible - i've tried different things but to no avail
cheers!
Reply
JayDub said 9:32AM on 7-14-2009
Know-it-all here, but saying "Surely, clicking and playing each song in it would take several light years." is the same as saying it'll take several "regular" years....
There. Now I feel better.... On with Tuesday!
Reply
puhsitch said 9:43AM on 7-14-2009
Or, more accurately, "it would take trillions of miles" :)
ShALLaX said 10:08AM on 7-14-2009
I wrote my own Java ID3 tagger that uses lyricwiki.org :D
Reply
RadicalxEdward said 9:57AM on 7-14-2009
any way to do this on windows?
Reply
Dave M. said 9:58AM on 7-14-2009
I use 'Get Lyrical' to grab lyrics for all my music. Link: http://shullian.com/get_lyrical.php
I just select all the tracks in iTunes and click on the "Tag Selection" button and in about 30 minutes (I have over 16,000 tracks) I have lyrics for all the music in my library it can find.
These other programs like GimmiSomeTune cause the music playing to stop for a half second while it adds the lyrics to the song. I found that rather annoying and found Get Lyrical to be really fast and simple to use.
Reply
Sang Tang said 11:32AM on 7-14-2009
Thanks for the suggestion. I'm going to give GetLyrical a shot right now.
ranova said 9:36PM on 7-14-2009
or you know, you could just download tunewiki from the appstore to get an automatic lyric fetcher that goes along as you play the song.
Reply
Gabriele said 10:37AM on 7-14-2009
I have tried all of them but the best ever is harmonic 2 widget paired with needledrop and no lyrics playlist. Harmonic is the fastest fetcher ever! It gets the true real right lyrics (some other tend to "invent" them when songs are not so popular) and it takes less that one second to find them. And I never had any google advice while doing that, I used the iTunes widget controller and harmonic and I was like clickclickclick and it was saving all my lyrics. It missed just bonus tracks from minor albums.
Reply
John B. said 2:21PM on 7-14-2009
I'm with you there. Harmonic doesn't work every time, but I love that it runs in the background and whenever I listen to music it automatically embeds the lyrics without me having to think about it.
dellovision said 11:08AM on 7-14-2009
This is such a great idea I wrote about it months ago ;-) I don't have good circulation though :)
http://www.richardgoodwin.com/wp/2008/10/24/quicklyautomatically-grab-lyrics-and-album-artwork-for-non-store-mp3s-in-itunes/
Reply
Sang Tang said 11:29AM on 7-14-2009
Great minds think alike ;)
What was your strategy before using Needle Drop and GimmeSomeTune?
guerro said 11:28AM on 7-14-2009
I am pretty sure that Light Years are a measure of distance and not a measure of time.
Reply
travb83 said 11:50AM on 7-14-2009
Great tip. I wrote and Applescript to achieve the same thing as Needle Drop. Instead of using GimmeSomeTune though, I used TunesTEXT. It does exactly what you want all in a widget.
http://osx.iusethis.com/app/tunestext
Reply
d said 11:51AM on 7-14-2009
isn't there a dougscript that does this a bit faster?
Reply
Takeru said 12:40PM on 7-14-2009
This is some great information.
What I've been using is the Harmonic widget along with DesktopLyrics, since I like to also view the lyrics on my Mac.
http://mindquirk.com/apps/harmonic/
http://www.corecode.at/desktoplyrics/index.html
Reply