Open craigsapp opened 3 years ago
Current MEI conversion:
<?xml version="1.0" encoding="UTF-8"?>
<?xml-model href="https://music-encoding.org/schema/4.0.0/mei-all.rng" type="application/xml" schematypens="http://relaxng.org/ns/structure/1.0"?>
<?xml-model href="https://music-encoding.org/schema/4.0.0/mei-all.rng" type="application/xml" schematypens="http://purl.oclc.org/dsdl/schematron"?>
<mei xmlns="http://www.music-encoding.org/ns/mei" meiversion="4.0.0">
<meiHead>
<fileDesc>
<titleStmt>
<title />
</titleStmt>
<pubStmt />
</fileDesc>
<encodingDesc>
<appInfo>
<application isodate="2021-08-11T08:26:26" version="3.6.0-dev-a671bd0">
<name>Verovio</name>
<p>Transcoded from Humdrum</p>
</application>
</appInfo>
</encodingDesc>
<workList>
<work>
<title />
</work>
</workList>
</meiHead>
<music>
<body>
<mdiv xml:id="mdiv-0000000595483665">
<score xml:id="score-0000000473980667">
<scoreDef xml:id="scoredef-0000000012731884" midi.bpm="400.000000">
<staffGrp xml:id="staffgrp-0000000046124351">
<staffDef xml:id="staffdef-0000000497067203" n="1" lines="5">
<clef xml:id="clef-0000000727472974" shape="G" line="2" />
<keySig xml:id="keysig-L2F1" sig="1s" />
<mensur xml:id="mensur-L3F1" prolatio="2" tempus="3" sign="O" />
</staffDef>
</staffGrp>
</scoreDef>
<section xml:id="section-L1F1">
<measure xml:id="measure-L1" right="dbl" n="1">
<staff xml:id="staff-0000001471734620" n="1">
<layer xml:id="layer-L1F1N1" n="1">
<note xml:id="note-L5F1" dots="1" dur="1" oct="4" pname="e" accid.ges="n" />
<clef xml:id="clef-L6F1" shape="C" line="3" />
</layer>
</staff>
</measure>
<scoreDef xml:id="scoredef-0000001494047736">
<keySig xml:id="keysig-L8F1" sig="1f" />
</scoreDef>
<measure xml:id="measure-L7" right="end">
<staff xml:id="staff-L7F1N1" n="1">
<layer xml:id="layer-L7F1N1" n="1">
<note xml:id="note-L10F1" dur="1" oct="4" pname="f" accid.ges="n" />
</layer>
</staff>
</measure>
</section>
</score>
</mdiv>
</body>
</music>
</mei>
Partial implementation with commit https://github.com/rism-digital/verovio/commit/0f46e76d6894268936c2e0d8f73177aff2ad7115
The commit also suppresses @prolation
etc. when the mensuration is shown in modern notation (since the rhythmic level information has already been applied to the duration of the notes).
Mensuration changes still need to be implemented at the staff level (when changes are different on different staves).
Another test: (checking timestamps as well):
**kern
*k[f#]
*M3/1
*met(O)
=1
2e
!LO:TX:a:t=above F
1f#
*clefC3
=||
*k[b-]
*M2/1
*met(C|)
2f
!LO:TX:a:t=above G
2g
==
*-
Note that time signatures are required before mensuration changes. Also should be required before the initial mensuration sign at the start of the music (currently not required).
Mensuration changes are not being transferred to MEI conversion:
They used to, but probably related to changes earlier this year related to storage location of initial mensuration sign.
Test data: