how can I analize music as spotify/musixmath/shazam does? I mean, does exists some state of the art algorithm able to extract music features, classify them and identify similar music or find lyrics?

I know that there are many topics or steps involved on my question, like digital signal processing, feature extraction, machine learning, pattern recognition, etc. I'm a computer science student and I would like to know if there is a methodology to identify music as it does musixmatc. For example, this program is able to find the lyrics of a song from a very short audio sample, even with some noise. As I know, [1] is the unique related paper that is available.

1 An Industrial-Strength Audio Search Algorithm
The general idea for the algorithm is well presented in the linked paper. As is the case with applied machine learning and related fields, the secret sauce (which features to select, how to tweak your algorithms, etc.) is found by trial and error by people who know things about audio/audio signal processing (see for example, Julius O. Smith III's page at CCRMA @ Stanford) and by just trying a ton of things. Unfortunately, to become (and stay) the state of the art, the secret sauce has to be kept, well, secret. 

That being said, the wikipedia article on acoustic fingerprinting is a decent place to look for some alternatives (and some links to some open source ones like Acoustid).