If you are an avid music listener and sport a smartphone, then you must have surely heard of Shazam. This is a pretty nifty music search tool that inputs music tracks and gets back information about the track such as the song name, artist information,etc. To top this impressive service, Shazam is free to download.
Gizmodo has published a pretty detailed article on how the whole Shazam service works. The gist of the story is that Shazam inputs a 10-second sample from the user to search and “fingerprints” them across their database of songs. That basically means trying to match the input song sample with all 10-second samples from all the tagged songs that are available in Shazam’s database.
So how does the fingerprinting itself happen? For this, Shazam uses something called a spectrogram that is a graph between frequency and time. The “peak intensity” of every frequency at every point in time is measured and a 3D-graph is generated. This is the fingerprint for a song that is absolutely unique for any given song sample. Now, matching a song sample with the database of samples is pretty much like every other search engine.
The detailed article is a pretty interesting read that you can check out here.