The recognition technology used by Shazam (
www.shazam.com) is owned by Landmark Digital (
www.landmarkdigital.com). It is a patented fingerprinting technology that recognizes practically any audio that is within the recognition database very quickly and with a very small amount of audio even under heavy noise. Shazam provides recognition services on phones and smartphones all over the world (and now the iPhone).
For the person who mentioned classical - classical is a huge library that is difficult to keep cataloged, which is likely the reason it wasn't picked up. Other genres should work very well.
//////////////////////
I visited the 'landmarkdigital.com' site; it looks like they use a simple neural network to do this pattern recognition stuff, essentially mimicking (presumably) how people do the same thing.
The network takes as inputs, certain song attributes (e.g., tempo, tone, instruments), and provides as output, its best guess at the song. A bunch of nodes are placed in between the inputs and output, and these nodes are trained (i.e., values changed) by running a bunch of known songs through the network and making small changes to the node's values until the network gives the right prediction for the song (i.e., gives the correct output). When you query the database, you're essentially providing an input to this trained network, which just spits back its output to you.
Presumably, this company is constantly retraining and updating their network by running new songs through the database, and updating the weights of the nodes accordingly (i.e., they make sure the network still predicts the correct output for new songs; and if it doesn't, they change the weights so it does).
I do wonder what inputs they're using for the network, and how your recording of the song gets converted to values for each of the inputs. I think this is where the majority of the cleverness in the technology resides. A bit of spectral analysis is probably done (FFTs), but other than that, I'm not too sure.
My best guess,
-Clayton