Compact music notation grammar

I recently (about 2 weeks) joined this group and thought I would let you know what I am working on.

My project related to MusicXML is a compact grammar that can be used to quickly input
a score sheet into a source file. This source file is then translated into the MusicXML format. 

A simple example:

score bmv161{
    title="Komm, du süße Todesstunde";
    lyricist="J.S. Bach";
    divisions=24;
    
    part abf1{
        name="Altblockflöte";
        shortname="A1.";
        octave = 4;
        
        voice 1{
            | &G2 fifths-3  %4/4 r [sol+ fa+ fa+ mi+]/3 [mi+/4. do+/3] [si+ la+ la+ sol+]/3 
            | [sol+/3 fa+/3 fa+/4] [fa+ la+ sol+ la+]/3 [sol+/4. sol+/3] [do+2/3 mi+2/2 re+2/2 mi+2/3 do+2/3] |
        }
    }
}

I grew up with the do-re-mi way of naming notes, but it is also possible to use the ABC naming convention. 
Brackets are used to generate beams for notes and the plus or minus sign can be used to raise a note
up or down from the default octave. The slashes are used to define the duration of a note.

You can follow the project here : https://github.com/samynk/musicscript . At the moment it is something
that I quickly put together and maybe very particular to my workflow. Any feedback is useful, even if it is just
to say that it is not a very fruitful approach.

Maybe there are also other projects with the same basic premise that are further along. If so I would like to
hear about them and maybe join them.

Regards,
Koen Samyn

Received on Tuesday, 26 September 2017 06:45:04 UTC