Extracting audio track to determine the song beat
Sonic Annotator. Good: their beat tracking algorithm is the most sophisticated. Bad: this is not easy to integrate and interface into your own application (you need to load their own flavor of plug-ins called "VAMP"); and the beat tracker is closed source - available as a pre-compiled binary lib.

Aubio. Good: very easy to integrate, plain C with few dependencies. Bad: the quality of the beat-tracking is so-so.

Marsyas. Good: beat-tracking accuracy is OK (but not as good as Sonic Annotator's). Bad: many dependencies, very complex framework.

Depending on what is your target application (is the audio to analyze a recording of a well-known/distributed song, and does your system have internet access), you could also use the Echo Nest APIs.

If you want to roll your own, I suggest you this as a starting point - start porting this rather simple matlab implementation to your language of choice, and you'll be at 80% or 90% of the accuracy of the most sophisticated solution.