Trying Gracenote API
My wife has tons of MD (mini disk). MD was a major medium for portable music player in '90s Japan. Unfortunately, it was killed by iPod. MD mediums and MD players no longer be able to buy nowadays. Therefore, she wanted to migrate songs from her MDs to iTunes library before her player breaks.
To help her, I bought a Behringer's USB Audio interface and connected her dated MD player. And I recorded whole tracks of the MDs through Audacity. Audacity has a function to split the recorded audio into multiple audio files by certain length of silences. The accuracy is so so. I needed to remove wrong split points sometimes. Anyway, the things worked well so far.
But, of course, these audio files have no name. It's a big deal nowadays. Because the song name is the ONLY identifier for selecting a song in iTunes library. But setting song name manually for all taped audio tracks is a heavy work... So, I tried Gracenote API to set song title into ID3 tag automatically. We can use Gracenote API for free of charge in non-commercial use.
I made a program for querying song title through Gracenote API. It's remodeled from a sample program in GNSDK. It can print a title string by querying fingerprint of the audio file which is designated in command line argument. I also made a simple shell script to rewrite ID3 tag from the output of the title query tool. I used id3v2 for editing ID3 tag. The accuracy of song name detection is slightly better than I expected. Anyway, it's really better than "no name".
So, I could help her in return for chocolates her gave me today. (I wrote this article on 14th Feb)