Hi. I've been using ABC for some time, and I like where its heading. I like it so much, I'm kind of amazed none of the commercial notation editors make use of it. So I looked into why they don't. I found that they use MusicXML instead. But I happen to be an XML programmer, even if still learning. But if I did learn anything first and foremost about markup languages in general, its that content is king. And sadly, MusicXML doesn't follow that rule. I took a look at what makes up its markup tags, and I wasn't pleased. I saw things like bezier curves and attributes every where, many of which didn't have anything to do at all with music notation. On top of that, the specification of MusicXML uses only XML Schemas. I personally know that music notation in written form alone is difficult enough, but ABC notation is the only standard I see that comprehensively covers a great deal of the syntax and semantics of music notation, and even has a separation between the actual notation and formatting instructions. However, seeing as most of the web is turning toward using XML as a means for embedding markup into web pages, I was initially in a rut of how to find something to make ABC more web oriented.
Then I found a thing called MathML. What MathML does is provide a web based markup for representing mathematical equations as part of XHTML pages, and transforming them from within the browser to SVG images. I looked into how it worked, and foun that it used Unicode character codes for math symbols, and used a simplified markup for XSLT stylesheets to transform any MathML content in the page being loaded.
That made me inspired; I looked further into the Unicode specification, and found that there is in fact a range of characters designated for musical notation. I don't see how if we can have math equations being rendered within our web browsers, why we can't do the same for music notation. Except, the only XML format for music is...not suitable. Its far to complex to use, and I think it'd be much more useful if an XML vocabulary were made based off ABC notation. So I started a Google Code project and have been trying to write schemas for a markup language that can be easily transformed from and to ABC notation, and that uses newer schema languages like RELAX NG and Schematron for validation. I also would like to make a RELAX NG Compact schema for ABC notation itself. For more info on RELAX NG, head to this site: http://relaxing.org
. For Schematron, head to this site: http://www.schematron.com
. In any case, I'd like feedback on this, since I'd like to see ABC notation be a better music standard than any other before. I made this project to try to help extend ABC notation further, and I think music as a whole needs a better system for making composition faster and cleaner. The project page is here: http://code.google.com/p/sfzml/
The other reason I'm making so much hype on a XML version of ABC notation is that Ive yet to see music notation in eBooks, and the fastest way to get to that point is through DocBook XML.
- Lee S.