7

Seems kinda difficult to do that, especially when I am recording songs off the radio, using different hardware for both playing and recording (for example playing from a radio in the car and recording to a phone, or playing from phone and recording to the internal mic in a laptop), but those services still seem to identify the song in most cases!

How?

2
  • What is a song recognition service? Can you clarify the question? Jan 27, 2011 at 21:04
  • @neilfein: Shazam is software that will tell what song you're listening too after sampling and analyzing only a portion of the song.
    – Ian C.
    Feb 5, 2011 at 18:48

2 Answers 2

10

Here is a PDF on a research paper, published by Shazam founder Avery Wang, on how he solved the problem of creating hash keys for songs without making the key space enormous and impossible to search. That is an ultra-detailed account of how Shazam works. Focusing on the "intense moments" in songs was a rather brilliant bit of data reduction on his part.

This Slate article gives a good run down of the technique they use without having to read academic-ese.

Seems kinda difficult to do that, especially when I am recording songs off the radio, using different hardware for both playing and recording (for example playing from a radio in the car and recording to a phone, or playing from phone and recording to the internal mic in a laptop)

The source and the recorder don't have to be consistent because there's a large amount of filtering that goes on before the signal is fingerprinted. There's some background noise filtering done to cut down on ambient noise and that's reasonably well developed science. And the fingerprinting process uses some extreme filters to narrow what it's listening to so the fidelity of the source signal doesn't have to be that high.

0

I answered this exact question a while ago when content identification on SoundCloud was being discussed. Companies like Audible Magic have been working with labels for a long time, building substantial databases of audio tracks. Software scans files, produces fingerprints which are... Well, I'm not privy to the exact spec, however logically it's a combination of duration, detected pitch, harmonic and spectral content, patterns within the spectral content (drums and basslines are very characteristic, and when you use samples those patterns will be identical for every repeat) plus other various factors of the waveform. The way the fingerprint is generated makes the detection process resilient; a guy did some unscientific testing a while ago when YouTube introduced their Content ID system (utilising Audible Magic's backend systems) where he manipulated, reversed, pitched up/down and sped up/down a known file and then noted down how extremely the waveform had to be manipulated in order for it to be unrecognisable. (in short: a LOT).

This is also how Apple's iTunes Match service will be identifying catalogue; the fingerprint detection software is integrated into the forthcoming version of iTunes (so it will scan your files locally then just upload the resulting fingerprints for comparison on the server).