Computers nowadays are prevalent in all areas of music, from the compositional process to music production, be it in the studio or live on stage. The thesis is concerned with a specific problem in music processing, namely score following, also known as real-time music tracking. Casually speaking, a music tracking algorithm "listens" to a live performance of music, compares the incoming audio signal to a representation of the score, and "reads" along, i.e. at any given moment it knows the exact position of the musician(s) in the sheet music. This information enables a wide range of applications, e.g. visualisations synchronised to live music, automatic page-turning of the score, and automatic accompaniment. The focus of the thesis is on robust and flexible music tracking algorithms for Western classical music which overcome the limitations of other existing algorithms. The main contributions of the thesis are (1) improved algorithms, features, and tempo models, increasing the robustness and accuracy of music tracking, (2) a very robust multi-agent music tracking approach which enables robust tracking e.g. of complex orchestral music, and (3) fast music identification algorithms which enable flexible any-time music tracking that is not limited to tracking a single, predefined piece, but works flexibly on a (large) database of sheet music. In addition to quantitative experiments on diverse datasets, the algorithms described in this thesis were tested in real-world settings -- live in front of an audience. This includes demonstrations at scientific conferences and galas, but also the culminating point of this thesis: a live demonstration of robust music tracking technology at the Concertgebouw in Amsterdam. There, our system tracked a live performance of the Alpensinfonie by Richard Strauss and was used to show synchronised visualisations -- the sheet music with automatic page turning, artistic videos, and textual information provided by a musicologist -- to the audience.