What you need is a symbolic music format vs. an audio format. Since you're dealing with classical music, use the MusicXML format. It is supported by over 120 applications, including all the leading music notation applications like Finale and Sibelius, so you have a very wide range of tools to work with.
Note however that doing the type of visual display and highlighting that you are talking about is a complex job. MusicXML exported from Finale simplifies the programming by including lot of formatting, so you don't have to do the AI-like parts of music notation layout, but it's still complicated. You might want to take a look at existing tools and see what does the job. Perhaps you can incorporate a free MusicXML viewer/player like the Zong! Viewer, or a notation editor like MuseScore? Check out the MusicXML application list for more choices. Since MusicXML is defined in XML, you can also use the same XML tools that you use in any other project to read and write the MusicXML files.
GUIDO is another symbolic format, but it was only supported by a couple of niche applications and its development was abandoned 7 years ago. A lot of symbolic formats were developed about 10 years ago, but MusicXML is the only one commonly used today. MIDI is an older interchange format that is universal for electronic instrument playback, but lacks the semantics necessary for accurately representing notation.
Good luck!