We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 3 years ago.
Improve this questionIs there an xml or some form of a text standard that one can write music sheets in? For example:
<key= "C" />
<tempo= "90" />
<beat= "4/4" />
<measure id="1">
// some form of music goes here
</measure>
You can use MusicXML.
Here is a list of XML music formats
About 10 years ago, a lot of projects were started to create XML formats for sheet music. MusicXML is the only one of these formats that has been widely adopted for common Western music notation. Over 150 programs support the format, including all the major music notation editors and music scanning programs. You can see a full list of MusicXML software at:
http://www.makemusic.com/musicxml/community/software
The MusicXML format is available under an open, royalty-free license that is suitable for both commercial and open source projects. Both DTD and XSD versions of the specification are available. Tutorials, documentation, and a developer mailing list are also available via at the http://www.makemusic.com/musicxml site.
Other formats are available for medieval Western music, including CMME for mensural music and NeumesXML for chant. You can find these at http://www.cmme.org and http://www.scribeserver.com/NEUMES/ respectively.
Gerd Castan's site is valuable for a history of different music notation formats. This is very helpful if you are designing a native format for your own application, as is the book Beyond MIDI. For an XML interchange format, though, MusicXML is probably what you are looking for.
A cautionary word. MusicXML is the most expressive (handles every nuance of a classical orchestral score), but it's use as a transfer vehicle can be hamstrung by some breathtaking redundancies (for example GUI placement directives, which have decidedly no place in a transfer protocol).
Partly due to these, MusicXML has gained a reputation for slow transfer, in answer to which (and instead of reinventing itself) the compressed MXL format was introduced.
MusicXML handling is challenging to implement, which (with a number of rather optimistic crowdfunding projects completed or in progress) has so far on the whole led to a dumbing-down of music on end devices.
While there are a number of niggling issues, redundant (read "disruptive") MusicXML elements can be stripped programmatically before transfer over the internet, subsequent GUI placements being made entirely algorithmically.
What you might call lean MusicXML - the minimum needed for algorithmic handling- would be both lightweight, fast AND sufficient. It would be nice to see some collective progress (tools, core element set) in this direction in the near future.
精彩评论