music-encoding / encoding-tools

Tools for working with or transforming MEI Encodings
Educational Community License v2.0
41 stars 32 forks source link

musicxml2mei #4

Open ahankinson opened 8 years ago

ahankinson commented 8 years ago

From @bwbohl on July 23, 2015 16:2

Please see this as statement of documentation and potential discussion thread, not necessarily as "issue" concerning the MEI code. (Rather an issue for MEI practitioners)

In my work with the Hoftheater project we have MusicXML files generated with finale 2012 and exported with Dolet Light for Finale 2012. A problem that will get passed through the XSLT transformations when going from MusicXML part-wise to time-wise, to MEI, is: Rest (measure rests) that are automatically being generated by finale in empty measures get exported to the following MusicXML snippet (the validity of which is not to be discussed here):

<note>
    <rest measure="yes"/>
    <duration>0</duration>
    <voice>1</voice>
</note>

Be it valid MusicXML or not, the resulting MEI will end up being invalid with sth. like:

<measure>
    <staff n="22">
        <layer n="1">
            <rest xml:id="d1e1519" dur=""/>
       </layer>
    </staff>
</measure>

If the rest was entered into finale by the user properly the resulting export will be transformed to MEI just fine:

<note>
    <rest measure="yes"/>
    <duration>16</duration>
    <voice>1</voice>
</note>
<staff n="21">
    <layer n="1">
        <mRest xml:id="d1e1490" dur="1"/>
    </layer>
</staff>

Although this being a finale-Dolet-MusicXML specific Problem, it's one that MEI-practitioners will face if they follow the same workflow.

So we might implement a Dolet/finale extension to musicxml2mei.xsl

If anyone can report similar behavior when exporting MusicXML from other notation software, I'd recommend to collect some examples. Then we might decide wheter to implement a broader solution in musicxml2mei.xsl

Copied from original issue: music-encoding/music-encoding#252