Saturday, October 24, 2009

How does Shazam Identify Songs?

Shazam, launched in 2002 enables music lovers to identify tunes anywhere - using just their mobile phone. Record the song playing live and send it to Shazam

How Shazam works. 

The company has a library of more than 8 million songs, and it has devised a technique to break down each track into a simple numeric signature—a code that is unique to each track.

How does Shazam make song fingerprints? 

As Avery Wang, Shazam's chief scientist and one of its co-founders, explained to Scientific American in 2003, the company's approach was long considered computationally impractical—there was thought to be too much information in a song to compile a simple signature. But as he wrestled with the problem, Wang had a brilliant idea: What if he ignored nearly everything in a song and focused instead on just a few relatively "intense" moments? Thus Shazam creates a spectrogram for each song in its database—a graph that plots three dimensions of music: frequency vs. amplitude vs. time. The algorithm then picks out just those points that represent the peaks of the graph—notes that contain "higher energy content" than all the other notes around it, as Wang explained in an academic paper he published to describe how Shazam works (PDF). In practice, this seems to work out to aboutthree data points per second per song.

More: 

No comments:

ShareThis