rism-digital / verovio

🎵 Music notation engraving library for MEI with MusicXML and Humdrum support and various toolkits (JavaScript, Python)
https://www.verovio.org
GNU Lesser General Public License v3.0
656 stars 180 forks source link

App behavior in non-MEI importers #238

Closed craigsapp closed 8 years ago

craigsapp commented 8 years ago

Here is a Humdrum file with two clefs, the original being a tenor C clef, and the modern being a vocal tenor clef:

**kern
*oclefC4
*clefGv2
*M2/4
=1-
16ELL
16F
16G
16AJJ
16BLL
16c
16d
16eJJ
==
*-

I want the default rendering to be vocal tenor clef:

verovio -f humdrum file.krn

screen shot 2016-07-12 at 9 45 12 am

And optionally rendered with the original clef:

verovio --app-xpath-query "./rdg[contains(@label, 'original-clef')]" -f humdrum file.krn

screen shot 2016-07-12 at 9 47 35 am

However, when I run the first command, I am getting the second rendering.

Here is the output MEI data:

<?xml version="1.0" encoding="UTF-8"?>
<?xml-model href="http://music-encoding.org/schema/3.0.0/mei-all.rng" type="application/xml" schematypens="http://relaxng.org/ns/structure/1.0"?>
<?xml-model href="http://music-encoding.org/schema/3.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="3.0.0">
    <meiHead>
        <fileDesc>
            <titleStmt>
                <title />
            </titleStmt>
            <pubStmt>
                <date>2016-07-12 09:47:29</date>
            </pubStmt>
        </fileDesc>
        <encodingDesc>
            <projectDesc>
                <p>Transcoded from Humdrum with Verovio version 0.9.12-dev-48e949d-dirty</p>
            </projectDesc>
        </encodingDesc>
    </meiHead>
    <music>
        <body>
            <mdiv>
                <score>
                    <scoreDef xml:id="scoredef-000000077967534">
                        <staffGrp xml:id="m-000000002469308">
                            <staffDef xml:id="staffdef-000000055236933" clef.shape="G" clef.line="2" clef.dis="8" clef.dis.place="below" meter.count="2" meter.unit="4" n="1" lines="5" />
                        </staffGrp>
                    </scoreDef>
                    <section>
                        <app xml:id="app-000000009965778">
                            <lem xml:id="lem-000000205863148" />
                            <rdg xml:id="rdg-000000131028115" label="original-clef">
                                <scoreDef xml:id="scoredef-000000159808936">
                                    <staffGrp xml:id="m-000000050991729">
                                        <staffDef xml:id="staffdef-000000172027595" clef.shape="C" clef.line="4" n="1" />
                                    </staffGrp>
                                </scoreDef>
                            </rdg>
                        </app>
                        <measure xml:id="measure-000000110565293" n="1" right="end">
                            <staff xml:id="staff-000000125743275" n="1">
                                <!-- kern: =1-  16ELL  16F  16G  16AJJ  16BLL  16c  16d  16eJJ  == -->
                                <layer xml:id="layer-000000028567593" n="1">
                                    <beam xml:id="beam-000000172940446">
                                        <note xml:id="note-000000205716475" dur="16" oct="3" pname="e" accid.ges="n" />
                                        <note xml:id="note-000000028135419" dur="16" oct="3" pname="f" accid.ges="n" />
                                        <note xml:id="note-000000210851554" dur="16" oct="3" pname="g" accid.ges="n" />
                                        <note xml:id="note-000000004563882" dur="16" oct="3" pname="a" accid.ges="n" />
                                    </beam>
                                    <beam xml:id="beam-000000040012021">
                                        <note xml:id="note-000000104918836" dur="16" oct="3" pname="b" accid.ges="n" />
                                        <note xml:id="note-000000072057461" dur="16" oct="4" pname="c" accid.ges="n" />
                                        <note xml:id="note-000000103730248" dur="16" oct="4" pname="d" accid.ges="n" />
                                        <note xml:id="note-000000067063585" dur="16" oct="4" pname="e" accid.ges="n" />
                                    </beam>
                                </layer>
                            </staff>
                        </measure>
                    </section>
                </score>
            </mdiv>
        </body>
    </music>
</mei>

Running this MEI output through verovio again, the correct behavior for app is being produced, and the original clef will be displayed with the command:

verovio --app-xpath-query "./rdg[contains(@label, 'original-clef')]" -f mei file.mei

It would be useful for app elements in internally generated MEI data to behave correctly as well. Probably the xpath filtering is only applied to raw MEI file loads, and no xpath filtering is being done on importer outputs (so the filtering should also be added to the output of importers).

lpugin commented 8 years ago

Yes, this issue is indeed that the xPath filtering is being done when the file is loaded. The simplest work around would be to have importers reloading the data internally.

the filtering should also be added to the output of importers

I am confused by this. Do you mean that you would like to see only the selected output in the MEI? Then why are you creating app/rdg in the first place? Also, I think it is a advantage for Verovio to keep all the data internally (even the rdgs that are not selected), so it does not make sense to me to drop some data in the output.

craigsapp commented 8 years ago

I am confused by this. Do you mean that you would like to see only the selected output in the MEI? Then why are you creating app/rdg in the first place? Also, I think it is a advantage for Verovio to keep all the data internally (even the rdgs that are not selected), so it does not make sense to me to drop some data in the output.

Yes, I am meaning something different than what you are thinking. I am meaning that the xPath filtering should be applied to the output of the converter before rendering, not to the MEI output from verovio.

These seem to be the two paths of data entry:

MEI load -> xpath -> rendering

non-MEI load -> MEI conversion -> rendering

But the second should be

non-MEI load -> MEI conversion -> xpath -> rendering

craigsapp commented 8 years ago

Yes, this issue is indeed that the xPath filtering is being done when the file is loaded. The simplest work around would be to have importers reloading the data internally.

Where is the code for that? Should that be done inside of each importer, or more likely, outside of the importer?

pe-ro commented 8 years ago

If I may, I'd like to intervene here and say that Craig's markup is fishy; that is, the use of <app> with a single <rdg> element to "work in" an alternative clef is abusive.

The better option would be --

<score>
  <scoreDef xml:id="scoredef-000000077967534">
    <staffGrp xml:id="m-000000002469308">
      <staffDef xml:id="staffdef-000000055236933" meter.count="2" meter.unit="4" n="1" lines="5"/>
    </staffGrp>
  </scoreDef>
  <section>
    <choice>
      <orig>
        <staffDef xml:id="staffdef-000000172027595" clef.shape="C" clef.line="4" n="1"/>
      </orig>
      <reg>
        <staffDef xml:id="staffdef-000000055236933a" clef.shape="G" clef.line="2" clef.dis="8"
          clef.dis.place="below" n="1"/>
      </reg>
    </choice>
    <measure xml:id="measure-000000110565293" n="1" right="end">
      <staff xml:id="staff-000000125743275" n="1">
        <!-- kern: =1-  16ELL  16F  16G  16AJJ  16BLL  16c  16d  16eJJ  == -->
        <layer xml:id="layer-000000028567593" n="1">
          <beam xml:id="beam-000000172940446">
            <note xml:id="note-000000205716475" dur="16" oct="3" pname="e" accid.ges="n"/>
            <note xml:id="note-000000028135419" dur="16" oct="3" pname="f" accid.ges="n"/>
            <note xml:id="note-000000210851554" dur="16" oct="3" pname="g" accid.ges="n"/>
            <note xml:id="note-000000004563882" dur="16" oct="3" pname="a" accid.ges="n"/>
          </beam>
          <beam xml:id="beam-000000040012021">
            <note xml:id="note-000000104918836" dur="16" oct="3" pname="b" accid.ges="n"/>
            <note xml:id="note-000000072057461" dur="16" oct="4" pname="c" accid.ges="n"/>
            <note xml:id="note-000000103730248" dur="16" oct="4" pname="d" accid.ges="n"/>
            <note xml:id="note-000000067063585" dur="16" oct="4" pname="e" accid.ges="n"/>
          </beam>
        </layer>
      </staff>
    </measure>
  </section>
</score>

where <choice> provides two options -- <orig> for the original staff definition and <reg> for the "regularized" definition. At present, this is invalid because <staffDef> isn't allowed in <reg> or <orig>, but that's fixable. Since <section> currently allows <staffDef> as a child, allowing this markup wouldn't be a huge change.

Note that the missing information on the latter <staffDef> elements can be obtained from an earlier one or spelled out explicitly.

<choice> within <staffGrp>, for example,

<scoreDef xml:id="scoredef-000000077967534">
  <staffGrp xml:id="m-000000002469308">
    <choice>
      <orig>
        <staffDef xml:id="staffdef-000000055236933" clef.shape="G" clef.line="2" clef.dis="8"
          clef.dis.place="below" meter.count="2" meter.unit="4" n="1" lines="5"/>
      </orig>
      <reg>
        <staffDef xml:id="staffdef-000000172027595" clef.shape="C" clef.line="4" n="1" 
          meter.count="2" meter.unit="4" n="1" lines="5"/>
      </reg>
    </choice>
  </staffGrp>
</scoreDef>

could be allowed as well. However, I think this is going too far. There are already lots of places where <choice> occurs and a great many things can go inside <orig> and the other children of <choice>. I'm reluctant to add to the mayhem that can be caused by sloppy or over-zealous encoding.

For the same reasons, I'm also reluctant to allow <orig> (and such) to contain <scoreDef>, for example,

<score>
  <choice>
    <orig>
      <scoreDef xml:id="scoredef-000000077967534">
        <staffGrp xml:id="m-000000002469308">
          <staffDef xml:id="staffdef-000000055236933" clef.shape="G" clef.line="2" clef.dis="8"
            clef.dis.place="below" meter.count="2" meter.unit="4" n="1" lines="5"/>
        </staffGrp>
      </scoreDef>
    </orig>
    <reg>
      <scoreDef xml:id="scoredef-000000077967534a">
        <staffGrp xml:id="m-000000002469308a">
          <staffDef xml:id="staffdef-000000172027595a" clef.shape="C" clef.line="4" n="1"/>
        </staffGrp>
      </scoreDef>
    </reg>
  </choice>
</score>

In other words, I think it would be best not to complicate <scoreDef> and <staffGrp> with editorial encoding or permit them to be contained within editorial encoding. It also makes sense to modify the markup model now rather than later.

craigsapp commented 8 years ago

If I may, I'd like to intervene here and say that Craig's markup is fishy; that is, the use of with a single element to "work in" an alternative clef is abusive.

I thought anything is allowed in MEI :-)

Your <choice> proposal for alternate clefs looks good, as this is more of a old/new display styling rather than specific source encodings.

Note that the missing information on the latter <staffDef> elements can be obtained from an earlier one or spelled out explicitly.

That will probably be the most useful for what I am imagining, so the first encoding sample is probably the one I would choose:

    <choice>
      <orig>
        <staffDef xml:id="staffdef-000000172027595" clef.shape="C" clef.line="4" n="1"/>
      </orig>
      <reg>
        <staffDef xml:id="staffdef-000000055236933a" clef.shape="G" clef.line="2" clef.dis="8"
          clef.dis.place="below" n="1"/>
      </reg>
    </choice>

How should verovio treat such choices? In most cases, I would want the <reg> to be the standard output if no xpath selection is given. But this is probably not possible (or would have to be hard-coded into the program). Perhaps I would encode the default style in the regular scoreDef/staffGrp/staffDef, and then xpath filter with ./choice/orig to select the original styling. Then the <reg> entry would either be redundant (or not given?), or could be used to guarantee a <reg> rendering regardless of the default style.

Somewhat related to the topic, is there a way of encoding four-part chorales in 4-staff layout and in grand-staff layout within the same MEI file, but without duplicating the musical content? Currently I calculate the two layouts in the Humdrum format and then convert separately into MEI.

Here are the two styles:

humcat h://chorales/chor001.krn | ./verovio -o chor001 --spacing-non-linear 0.57 - -f humdrum

screen shot 2016-07-12 at 8 04 41 pm

MEI data:

<?xml version="1.0" encoding="UTF-8"?>
<?xml-model href="http://music-encoding.org/schema/3.0.0/mei-all.rng" type="application/xml" schematypens="http://relaxng.org/ns/structure/1.0"?>
<?xml-model href="http://music-encoding.org/schema/3.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="3.0.0">
    <meiHead>
        <fileDesc>
            <titleStmt>
                <title xml:lang="de" type="main">Aus meines Herzens Grunde</title>
                <title xml:lang="en" type="translated">From the Depths of My Heart</title>
                <respStmt>
                    <persName role="Composer">Bach, Johann Sebastian</persName>
                    <persName role="digital editor">Craig Stuart Sapp</persName>
                </respStmt>
            </titleStmt>
            <pubStmt>
                <date>2016-07-12 20:04:33</date>
            </pubStmt>
        </fileDesc>
        <encodingDesc>
            <projectDesc>
                <p>Transcoded from Humdrum with Verovio version 0.9.12-dev-48e949d-dirty</p>
            </projectDesc>
        </encodingDesc>
        <extMeta xmlns="http://www.humdrum.org/ns/humxml">
            <metaFrame n="1" token="!!!COM: Bach, Johann Sebastian" xml:id="loc1">
                <frameInfo>
                    <startTime float="0" />
                    <frameType>reference</frameType>
                    <referenceKey>COM</referenceKey>
                    <referenceValue>Bach, Johann Sebastian</referenceValue>
                </frameInfo>
            </metaFrame>
            <metaFrame n="2" token="!!!CDT: 1685/02/21/-1750/07/28/" xml:id="loc2">
                <frameInfo>
                    <startTime float="0" />
                    <frameType>reference</frameType>
                    <referenceKey>CDT</referenceKey>
                    <referenceValue>1685/02/21/-1750/07/28/</referenceValue>
                </frameInfo>
            </metaFrame>
            <metaFrame n="3" token="!!!OTL@@DE: Aus meines Herzens Grunde" xml:id="loc3">
                <frameInfo>
                    <startTime float="0" />
                    <frameType>reference</frameType>
                    <referenceKey language="DE" primary="true">OTL</referenceKey>
                    <referenceValue>Aus meines Herzens Grunde</referenceValue>
                </frameInfo>
            </metaFrame>
            <metaFrame n="4" token="!!!OTL@EN:      From the Depths of My Heart" xml:id="loc4">
                <frameInfo>
                    <startTime float="0" />
                    <frameType>reference</frameType>
                    <referenceKey language="EN">OTL</referenceKey>
                    <referenceValue>From the Depths of My Heart</referenceValue>
                </frameInfo>
            </metaFrame>
            <metaFrame n="5" token="!!!SCT: BWV 269" xml:id="loc5">
                <frameInfo>
                    <startTime float="0" />
                    <frameType>reference</frameType>
                    <referenceKey>SCT</referenceKey>
                    <referenceValue>BWV 269</referenceValue>
                </frameInfo>
            </metaFrame>
            <metaFrame n="6" token="!!!PC#: 1" xml:id="loc6">
                <frameInfo>
                    <startTime float="0" />
                    <frameType>reference</frameType>
                    <referenceKey>PC#</referenceKey>
                    <referenceValue>1</referenceValue>
                </frameInfo>
            </metaFrame>
            <metaFrame n="7" token="!!!AGN: chorale" xml:id="loc7">
                <frameInfo>
                    <startTime float="0" />
                    <frameType>reference</frameType>
                    <referenceKey>AGN</referenceKey>
                    <referenceValue>chorale</referenceValue>
                </frameInfo>
            </metaFrame>
            <metaFrame n="125" token="!!!hum2abc: -Q ''" xml:id="loc125">
                <frameInfo>
                    <startTime float="63" />
                    <frameType>reference</frameType>
                    <referenceKey>hum2abc</referenceKey>
                    <referenceValue>-Q ''</referenceValue>
                </frameInfo>
            </metaFrame>
            <metaFrame n="126" token="!!!title: @{PC#}. @{OTL@@DE}" xml:id="loc126">
                <frameInfo>
                    <startTime float="63" />
                    <frameType>reference</frameType>
                    <referenceKey>title</referenceKey>
                    <referenceValue>@{PC#}. @{OTL@@DE}</referenceValue>
                </frameInfo>
            </metaFrame>
            <metaFrame n="127" token="!!!YOR1: 371 vierstimmige Choralges&amp;auml;nge von Johann Sebastian Bach, " xml:id="loc127">
                <frameInfo>
                    <startTime float="63" />
                    <frameType>reference</frameType>
                    <referenceKey>YOR1</referenceKey>
                    <referenceValue>371 vierstimmige Choralges&amp;auml;nge von Johann Sebastian Bach,</referenceValue>
                </frameInfo>
            </metaFrame>
            <metaFrame n="128" token="!!!YOR2: 4th ed. by Alfred D&amp;ouml;rffel (Leipzig: Breitkopf und H&amp;auml;rtel, " xml:id="loc128">
                <frameInfo>
                    <startTime float="63" />
                    <frameType>reference</frameType>
                    <referenceKey>YOR2</referenceKey>
                    <referenceValue>4th ed. by Alfred D&amp;ouml;rffel (Leipzig: Breitkopf und H&amp;auml;rtel,</referenceValue>
                </frameInfo>
            </metaFrame>
            <metaFrame n="129" token="!!!YOR3: c.1875). 178 pp. Plate &quot;V.A.10&quot;.  reprint: J.S. Bach, 371 Four-Part " xml:id="loc129">
                <frameInfo>
                    <startTime float="63" />
                    <frameType>reference</frameType>
                    <referenceKey>YOR3</referenceKey>
                    <referenceValue>c.1875). 178 pp. Plate "V.A.10".  reprint: J.S. Bach, 371 Four-Part</referenceValue>
                </frameInfo>
            </metaFrame>
            <metaFrame n="130" token="!!!YOR4: Chorales (New York: Associated Music Publishers, Inc., c.1940)." xml:id="loc130">
                <frameInfo>
                    <startTime float="63" />
                    <frameType>reference</frameType>
                    <referenceKey>YOR4</referenceKey>
                    <referenceValue>Chorales (New York: Associated Music Publishers, Inc., c.1940).</referenceValue>
                </frameInfo>
            </metaFrame>
            <metaFrame n="131" token="!!!SMS: B&amp;H, 4th ed, Alfred D&amp;ouml;rffel, c.1875, plate V.A.10" xml:id="loc131">
                <frameInfo>
                    <startTime float="63" />
                    <frameType>reference</frameType>
                    <referenceKey>SMS</referenceKey>
                    <referenceValue>B&amp;H, 4th ed, Alfred D&amp;ouml;rffel, c.1875, plate V.A.10</referenceValue>
                </frameInfo>
            </metaFrame>
            <metaFrame n="132" token="!!!EED:  Craig Stuart Sapp" xml:id="loc132">
                <frameInfo>
                    <startTime float="63" />
                    <frameType>reference</frameType>
                    <referenceKey>EED</referenceKey>
                    <referenceValue>Craig Stuart Sapp</referenceValue>
                </frameInfo>
            </metaFrame>
            <metaFrame n="133" token="!!!EEV:  2009/05/22" xml:id="loc133">
                <frameInfo>
                    <startTime float="63" />
                    <frameType>reference</frameType>
                    <referenceKey>EEV</referenceKey>
                    <referenceValue>2009/05/22</referenceValue>
                </frameInfo>
            </metaFrame>
        </extMeta>
    </meiHead>
    <music>
        <body>
            <mdiv>
                <score>
                    <scoreDef xml:id="scoredef-000000089793343">
                        <staffGrp xml:id="m-000000017454302" symbol="bracket">
                            <staffDef xml:id="staffdef-000000008189214" clef.shape="G" clef.line="2" key.sig="1s" meter.count="3" meter.unit="4" n="1" label="Soprano" lines="5" />
                            <staffDef xml:id="staffdef-000000197174693" clef.shape="G" clef.line="2" key.sig="1s" meter.count="3" meter.unit="4" n="2" label="Alto" lines="5" />
                            <staffDef xml:id="staffdef-000000133057968" clef.shape="G" clef.line="2" clef.dis="8" clef.dis.place="below" key.sig="1s" meter.count="3" meter.unit="4" n="3" label="Tenor" lines="5" />
                            <staffDef xml:id="staffdef-000000130560000" clef.shape="F" clef.line="4" key.sig="1s" meter.count="3" meter.unit="4" n="4" label="Bass" lines="5" />
                        </staffGrp>
                    </scoreDef>
                    <section>
                        <measure xml:id="measure-000000023137898" n="0">
                            <staff xml:id="staff-000000164228960" n="1">
                                <!-- kern: **kern  *ICvox  *Isoprn  *I"Soprano  *>[A,A,B]  *>norep[A,B]  *>A  *clefG2  *k[f#]  *G:  *M3/4  *MM100  4g  =1 -->
                                <layer xml:id="layer-000000131814484" n="1">
                                    <note xml:id="note-000000061905704" dur="4" oct="4" pname="g" accid.ges="n" />
                                </layer>
                            </staff>
                            <staff xml:id="staff-000000035402592" n="2">
                                <!-- kern: **kern  *ICvox  *Ialto  *I"Alto  *>[A,A,B]  *>norep[A,B]  *>A  *clefG2  *k[f#]  *G:  *M3/4  *MM100  4d  =1 -->
                                <layer xml:id="layer-000000208091882" n="1">
                                    <note xml:id="note-000000008403354" dur="4" oct="4" pname="d" accid.ges="n" />
                                </layer>
                            </staff>
                            <staff xml:id="staff-000000158398567" n="3">
                                <!-- kern: **kern  *ICvox  *Itenor  *I"Tenor  *>[A,A,B]  *>norep[A,B]  *>A  *clefGv2  *k[f#]  *G:  *M3/4  *MM100  4B  =1 -->
                                <layer xml:id="layer-000000145495070" n="1">
                                    <note xml:id="note-000000210762696" dur="4" oct="3" pname="b" accid.ges="n" />
                                </layer>
                            </staff>
                            <staff xml:id="staff-000000183988428" n="4">
                                <!-- kern: **kern  *ICvox  *Ibass  *I"Bass  *>[A,A,B]  *>norep[A,B]  *>A  *clefF4  *k[f#]  *G:  *M3/4  *MM100  4GG  =1 -->
                                <layer xml:id="layer-000000014364349" n="1">
                                    <note xml:id="note-000000044451720" dur="4" oct="2" pname="g" accid.ges="n" />
                                </layer>
                            </staff>
                        </measure>
                        <measure xml:id="measure-000000205248974" n="1">
                            <staff xml:id="staff-000000184417171" n="1">
                                <!-- kern: =1  2g  4dd  =2 -->
                                <layer xml:id="layer-000000178862592" n="1">
                                    <note xml:id="note-000000095988119" dur="2" oct="4" pname="g" accid.ges="n" />
                                    <note xml:id="note-000000082600406" dur="4" oct="5" pname="d" accid.ges="n" />
                                </layer>
                            </staff>
                            <staff xml:id="staff-000000036255366" n="2">
                                <!-- kern: =1  4d  4e  4d  =2 -->
                                <layer xml:id="layer-000000131604305" n="1">
                                    <note xml:id="note-000000180152812" dur="4" oct="4" pname="d" accid.ges="n" />
                                    <note xml:id="note-000000091125782" dur="4" oct="4" pname="e" accid.ges="n" />
                                    <note xml:id="note-000000180432759" dur="4" oct="4" pname="d" accid.ges="n" />
                                </layer>
                            </staff>
                            <staff xml:id="staff-000000102827388" n="3">
                                <!-- kern: =1  4B  8cL  8BJ  4A  =2 -->
                                <layer xml:id="layer-000000071734349" n="1">
                                    <note xml:id="note-000000041887578" dur="4" oct="3" pname="b" accid.ges="n" />
                                    <beam xml:id="beam-000000059394043">
                                        <note xml:id="note-000000085291659" dur="8" oct="4" pname="c" accid.ges="n" />
                                        <note xml:id="note-000000051588524" dur="8" oct="3" pname="b" accid.ges="n" />
                                    </beam>
                                    <note xml:id="note-000000109186339" dur="4" oct="3" pname="a" accid.ges="n" />
                                </layer>
                            </staff>
                            <staff xml:id="staff-000000139832820" n="4">
                                <!-- kern: =1  4G  4E  4F#  =2 -->
                                <layer xml:id="layer-000000070023211" n="1">
                                    <note xml:id="note-000000059077124" dur="4" oct="3" pname="g" accid.ges="n" />
                                    <note xml:id="note-000000127541463" dur="4" oct="3" pname="e" accid.ges="n" />
                                    <note xml:id="note-000000185947293" dur="4" oct="3" pname="f" accid.ges="s" />
                                </layer>
                            </staff>
                        </measure>
                        <measure xml:id="measure-000000197952017" n="2">
                            <staff xml:id="staff-000000208492591" n="1">
                                <!-- kern: =2  4.b  8a  4g  =3 -->
                                <layer xml:id="layer-000000171791979" n="1">
                                    <note xml:id="note-000000016032703" dots="1" dur="4" oct="4" pname="b" accid.ges="n" />
                                    <note xml:id="note-000000167200071" dur="8" oct="4" pname="a" accid.ges="n" />
                                    <note xml:id="note-000000149247920" dur="4" oct="4" pname="g" accid.ges="n" />
                                </layer>
                            </staff>
                            <staff xml:id="staff-000000085925253" n="2">
                                <!-- kern: =2  2d  4B  =3 -->
                                <layer xml:id="layer-000000148896786" n="1">
                                    <note xml:id="note-000000045590133" dur="2" oct="4" pname="d" accid.ges="n" />
                                    <note xml:id="note-000000011210165" dur="4" oct="3" pname="b" accid.ges="n" />
                                </layer>
                            </staff>
                            <staff xml:id="staff-000000177729651" n="3">
                                <!-- kern: =2  4G  4F#  4G  =3 -->
                                <layer xml:id="layer-000000074937397" n="1">
                                    <note xml:id="note-000000188425820" dur="4" oct="3" pname="g" accid.ges="n" />
                                    <note xml:id="note-000000193375915" dur="4" oct="3" pname="f" accid.ges="s" />
                                    <note xml:id="note-000000067267161" dur="4" oct="3" pname="g" accid.ges="n" />
                                </layer>
                            </staff>
                            <staff xml:id="staff-000000167239744" n="4">
                                <!-- kern: =2  4G  4D  4E  =3 -->
                                <layer xml:id="layer-000000123791549" n="1">
                                    <note xml:id="note-000000082418594" dur="4" oct="3" pname="g" accid.ges="n" />
                                    <note xml:id="note-000000082362085" dur="4" oct="3" pname="d" accid.ges="n" />
                                    <note xml:id="note-000000206353784" dur="4" oct="3" pname="e" accid.ges="n" />
                                </layer>
                            </staff>
                        </measure>
                        <measure xml:id="measure-000000001961144" n="3">
                            <staff xml:id="staff-000000180720082" n="1">
                                <!-- kern: =3  4.g  8a  4b  =4 -->
                                <layer xml:id="layer-000000090723881" n="1">
                                    <note xml:id="note-000000082880277" dots="1" dur="4" oct="4" pname="g" accid.ges="n" />
                                    <note xml:id="note-000000110933859" dur="8" oct="4" pname="a" accid.ges="n" />
                                    <note xml:id="note-000000020077652" dur="4" oct="4" pname="b" accid.ges="n" />
                                </layer>
                            </staff>
                            <staff xml:id="staff-000000176299583" n="2">
                                <!-- kern: =3  8eL  8d  8e  8f#J  4g  =4 -->
                                <layer xml:id="layer-000000075424623" n="1">
                                    <beam xml:id="beam-000000002055382">
                                        <note xml:id="note-000000185075325" dur="8" oct="4" pname="e" accid.ges="n" />
                                        <note xml:id="note-000000145681363" dur="8" oct="4" pname="d" accid.ges="n" />
                                        <note xml:id="note-000000120573761" dur="8" oct="4" pname="e" accid.ges="n" />
                                        <note xml:id="note-000000117635179" dur="8" oct="4" pname="f" accid.ges="s" />
                                    </beam>
                                    <note xml:id="note-000000121011386" dur="4" oct="4" pname="g" accid.ges="n" />
                                </layer>
                            </staff>
                            <staff xml:id="staff-000000183908757" n="3">
                                <!-- kern: =3  8cL  8BJ  4c  4d  =4 -->
                                <layer xml:id="layer-000000171354154" n="1">
                                    <beam xml:id="beam-000000173702373">
                                        <note xml:id="note-000000126526724" dur="8" oct="4" pname="c" accid.ges="n" />
                                        <note xml:id="note-000000096356454" dur="8" oct="3" pname="b" accid.ges="n" />
                                    </beam>
                                    <note xml:id="note-000000045507536" dur="4" oct="4" pname="c" accid.ges="n" />
                                    <note xml:id="note-000000126242620" dur="4" oct="4" pname="d" accid.ges="n" />
                                </layer>
                            </staff>
                            <staff xml:id="staff-000000081269133" n="4">
                                <!-- kern: =3  4C  8BBL  8AAJ  4GG  =4 -->
                                <layer xml:id="layer-000000045874465" n="1">
                                    <note xml:id="note-000000065510704" dur="4" oct="3" pname="c" accid.ges="n" />
                                    <beam xml:id="beam-000000023549756">
                                        <note xml:id="note-000000019524714" dur="8" oct="2" pname="b" accid.ges="n" />
                                        <note xml:id="note-000000016380382" dur="8" oct="2" pname="a" accid.ges="n" />
                                    </beam>
                                    <note xml:id="note-000000212425093" dur="4" oct="2" pname="g" accid.ges="n" />
                                </layer>
                            </staff>
                        </measure>
                        <measure xml:id="measure-000000036979955" n="4">
                            <staff xml:id="staff-000000181755879" n="1">
                                <!-- kern: =4  2a;  4b  =5 -->
                                <layer xml:id="layer-000000058148486" n="1">
                                    <note xml:id="note-000000196553220" dur="2" fermata="above" oct="4" pname="a" accid.ges="n" />
                                    <note xml:id="note-000000210631128" dur="4" oct="4" pname="b" accid.ges="n" />
                                </layer>
                            </staff>
                            <staff xml:id="staff-000000190320540" n="2">
                                <!-- kern: =4  2f#;  4g  =5 -->
                                <layer xml:id="layer-000000165326261" n="1">
                                    <note xml:id="note-000000009392900" dur="2" fermata="above" oct="4" pname="f" accid.ges="s" />
                                    <note xml:id="note-000000026422245" dur="4" oct="4" pname="g" accid.ges="n" />
                                </layer>
                            </staff>
                            <staff xml:id="staff-000000040438699" n="3">
                                <!-- kern: =4  2d;  4d  =5 -->
                                <layer xml:id="layer-000000193810283" n="1">
                                    <note xml:id="note-000000066240695" dur="2" fermata="above" oct="4" pname="d" accid.ges="n" />
                                    <note xml:id="note-000000051848344" dur="4" oct="4" pname="d" accid.ges="n" />
                                </layer>
                            </staff>
                            <staff xml:id="staff-000000189401627" n="4">
                                <!-- kern: =4  2D;  4GG  =5 -->
                                <layer xml:id="layer-000000181008742" n="1">
                                    <note xml:id="note-000000088607580" dur="2" fermata="above" oct="3" pname="d" accid.ges="n" />
                                    <note xml:id="note-000000162437910" dur="4" oct="2" pname="g" accid.ges="n" />
                                </layer>
                            </staff>
                        </measure>
                        <measure xml:id="measure-000000212756429" n="5">
                            <staff xml:id="staff-000000213672127" n="1">
                                <!-- kern: =5  2dd  4cc  =6 -->
                                <layer xml:id="layer-000000106728067" n="1">
                                    <note xml:id="note-000000200280094" dur="2" oct="5" pname="d" accid.ges="n" />
                                    <note xml:id="note-000000141681634" dur="4" oct="5" pname="c" accid.ges="n" />
                                </layer>
                            </staff>
                            <staff xml:id="staff-000000165299101" n="2">
                                <!-- kern: =5  4d  4e  4f#  =6 -->
                                <layer xml:id="layer-000000113361567" n="1">
                                    <note xml:id="note-000000020368312" dur="4" oct="4" pname="d" accid.ges="n" />
                                    <note xml:id="note-000000021326452" dur="4" oct="4" pname="e" accid.ges="n" />
                                    <note xml:id="note-000000018661441" dur="4" oct="4" pname="f" accid.ges="s" />
                                </layer>
                            </staff>
                            <staff xml:id="staff-000000197159874" n="3">
                                <!-- kern: =5  4A  4B  4c  =6 -->
                                <layer xml:id="layer-000000110228105" n="1">
                                    <note xml:id="note-000000184378597" dur="4" oct="3" pname="a" accid.ges="n" />
                                    <note xml:id="note-000000032188922" dur="4" oct="3" pname="b" accid.ges="n" />
                                    <note xml:id="note-000000048096501" dur="4" oct="4" pname="c" accid.ges="n" />
                                </layer>
                            </staff>
                            <staff xml:id="staff-000000098736677" n="4">
                                <!-- kern: =5  4FF#  4GG  4AA  =6 -->
                                <layer xml:id="layer-000000045047576" n="1">
                                    <note xml:id="note-000000126627625" dur="4" oct="2" pname="f" accid.ges="s" />
                                    <note xml:id="note-000000074214324" dur="4" oct="2" pname="g" accid.ges="n" />
                                    <note xml:id="note-000000061646332" dur="4" oct="2" pname="a" accid.ges="n" />
                                </layer>
                            </staff>
                        </measure>
                        <measure xml:id="measure-000000143799014" n="6">
                            <staff xml:id="staff-000000009257612" n="1">
                                <!-- kern: =6  4b  2a  =7 -->
                                <layer xml:id="layer-000000104273559" n="1">
                                    <note xml:id="note-000000179058564" dur="4" oct="4" pname="b" accid.ges="n" />
                                    <note xml:id="note-000000168459010" dur="2" oct="4" pname="a" accid.ges="n" />
                                </layer>
                            </staff>
                            <staff xml:id="staff-000000114875564" n="2">
                                <!-- kern: =6  2g  4f#  =7 -->
                                <layer xml:id="layer-000000048147588" n="1">
                                    <note xml:id="note-000000044673326" dur="2" oct="4" pname="g" accid.ges="n" />
                                    <note xml:id="note-000000064313813" dur="4" oct="4" pname="f" accid.ges="s" />
                                </layer>
                            </staff>
                            <staff xml:id="staff-000000125805495" n="3">
                                <!-- kern: =6  4d  4e  8dL  8cJ  =7 -->
                                <layer xml:id="layer-000000093745640" n="1">
                                    <note xml:id="note-000000188969721" dur="4" oct="4" pname="d" accid.ges="n" />
                                    <note xml:id="note-000000100543702" dur="4" oct="4" pname="e" accid.ges="n" />
                                    <beam xml:id="beam-000000197869415">
                                        <note xml:id="note-000000212843971" dur="8" oct="4" pname="d" accid.ges="n" />
                                        <note xml:id="note-000000205111469" dur="8" oct="4" pname="c" accid.ges="n" />
                                    </beam>
                                </layer>
                            </staff>
                            <staff xml:id="staff-000000000555628" n="4">
                                <!-- kern: =6  4BB  4C  4D  =7 -->
                                <layer xml:id="layer-000000167722764" n="1">
                                    <note xml:id="note-000000129462857" dur="4" oct="2" pname="b" accid.ges="n" />
                                    <note xml:id="note-000000051809820" dur="4" oct="3" pname="c" accid.ges="n" />
                                    <note xml:id="note-000000177774246" dur="4" oct="3" pname="d" accid.ges="n" />
                                </layer>
                            </staff>
                        </measure>
                        <measure xml:id="measure-000000057757812" n="7" right="rptend">
                            <staff xml:id="staff-000000210542749" n="1">
                                <!-- kern: =7  2g;  =:|! -->
                                <layer xml:id="layer-000000009396680" n="1">
                                    <note xml:id="note-000000089966151" dur="2" fermata="above" oct="4" pname="g" accid.ges="n" />
                                </layer>
                            </staff>
                            <staff xml:id="staff-000000183177281" n="2">
                                <!-- kern: =7  2d;  =:|! -->
                                <layer xml:id="layer-000000017865685" n="1">
                                    <note xml:id="note-000000050353944" dur="2" fermata="above" oct="4" pname="d" accid.ges="n" />
                                </layer>
                            </staff>
                            <staff xml:id="staff-000000028007108" n="3">
                                <!-- kern: =7  2B;  =:|! -->
                                <layer xml:id="layer-000000190186612" n="1">
                                    <note xml:id="note-000000151741134" dur="2" fermata="above" oct="3" pname="b" accid.ges="n" />
                                </layer>
                            </staff>
                            <staff xml:id="staff-000000201805501" n="4">
                                <!-- kern: =7  2GG;  =:|! -->
                                <layer xml:id="layer-000000176421771" n="1">
                                    <note xml:id="note-000000090035464" dur="2" fermata="above" oct="2" pname="g" accid.ges="n" />
                                </layer>
                            </staff>
                        </measure>
                        <measure xml:id="measure-000000109079217">
                            <staff xml:id="staff-000000028517336" n="1">
                                <!-- kern: =:|!  *>B  4b  =8 -->
                                <layer xml:id="layer-000000067195726" n="1">
                                    <note xml:id="note-000000211666970" dur="4" oct="4" pname="b" accid.ges="n" />
                                </layer>
                            </staff>
                            <staff xml:id="staff-000000187279632" n="2">
                                <!-- kern: =:|!  *>B  [4g  =8 -->
                                <layer xml:id="layer-000000180105215" n="1">
                                    <note xml:id="note-000000150151419" dur="4" oct="4" pname="g" accid.ges="n" />
                                </layer>
                            </staff>
                            <staff xml:id="staff-000000042003700" n="3">
                                <!-- kern: =:|!  *>B  4d  =8 -->
                                <layer xml:id="layer-000000086880669" n="1">
                                    <note xml:id="note-000000129282371" dur="4" oct="4" pname="d" accid.ges="n" />
                                </layer>
                            </staff>
                            <staff xml:id="staff-000000078316173" n="4">
                                <!-- kern: =:|!  *>B  4GG  =8 -->
                                <layer xml:id="layer-000000024870488" n="1">
                                    <note xml:id="note-000000097985874" dur="4" oct="2" pname="g" accid.ges="n" />
                                </layer>
                            </staff>
                            <tie xml:id="tie-000000114192095" startid="note-000000150151419" endid="note-000000156132829" />
                        </measure>
                        <measure xml:id="measure-000000158135563" n="8">
                            <staff xml:id="staff-000000206068695" n="1">
                                <!-- kern: =8  4b  4cc  4dd  =9 -->
                                <layer xml:id="layer-000000181758880" n="1">
                                    <note xml:id="note-000000026008302" dur="4" oct="4" pname="b" accid.ges="n" />
                                    <note xml:id="note-000000108617953" dur="4" oct="5" pname="c" accid.ges="n" />
                                    <note xml:id="note-000000180836121" dur="4" oct="5" pname="d" accid.ges="n" />
                                </layer>
                            </staff>
                            <staff xml:id="staff-000000149684390" n="2">
                                <!-- kern: =8  8gL]  8f#J  8eL  8f#J  [4g  =9 -->
                                <layer xml:id="layer-000000193828412" n="1">
                                    <beam xml:id="beam-000000156186433">
                                        <note xml:id="note-000000156132829" dur="8" oct="4" pname="g" accid.ges="n" />
                                        <note xml:id="note-000000020407021" dur="8" oct="4" pname="f" accid.ges="s" />
                                    </beam>
                                    <beam xml:id="beam-000000027676966">
                                        <note xml:id="note-000000021821386" dur="8" oct="4" pname="e" accid.ges="n" />
                                        <note xml:id="note-000000176587724" dur="8" oct="4" pname="f" accid.ges="s" />
                                    </beam>
                                    <note xml:id="note-000000087477114" dur="4" oct="4" pname="g" accid.ges="n" />
                                </layer>
                            </staff>
                            <staff xml:id="staff-000000183201995" n="3">
                                <!-- kern: =8  4d  4c  8BL  8AJ  =9 -->
                                <layer xml:id="layer-000000060550261" n="1">
                                    <note xml:id="note-000000190498124" dur="4" oct="4" pname="d" accid.ges="n" />
                                    <note xml:id="note-000000018600755" dur="4" oct="4" pname="c" accid.ges="n" />
                                    <beam xml:id="beam-000000164030411">
                                        <note xml:id="note-000000134366745" dur="8" oct="3" pname="b" accid.ges="n" />
                                        <note xml:id="note-000000008095156" dur="8" oct="3" pname="a" accid.ges="n" />
                                    </beam>
                                </layer>
                            </staff>
                            <staff xml:id="staff-000000013886980" n="4">
                                <!-- kern: =8  4GG  4AA  4BB  =9 -->
                                <layer xml:id="layer-000000119573717" n="1">
                                    <note xml:id="note-000000060274840" dur="4" oct="2" pname="g" accid.ges="n" />
                                    <note xml:id="note-000000071209674" dur="4" oct="2" pname="a" accid.ges="n" />
                                    <note xml:id="note-000000028359487" dur="4" oct="2" pname="b" accid.ges="n" />
                                </layer>
                            </staff>
                            <tie xml:id="tie-000000070430075" startid="note-000000087477114" endid="note-000000100472233" />
                        </measure>
                        <measure xml:id="measure-000000111276739" n="9">
                            <staff xml:id="staff-000000210887309" n="1">
                                <!-- kern: =9  4.dd  8cc  4b  =10 -->
                                <layer xml:id="layer-000000067487366" n="1">
                                    <note xml:id="note-000000174046381" dots="1" dur="4" oct="5" pname="d" accid.ges="n" />
                                    <note xml:id="note-000000110054930" dur="8" oct="5" pname="c" accid.ges="n" />
                                    <note xml:id="note-000000065550071" dur="4" oct="4" pname="b" accid.ges="n" />
                                </layer>
                            </staff>
                            <staff xml:id="staff-000000175996396" n="2">
                                <!-- kern: =9  8gL]  8aJ  8gL  8f#J  4g  =10 -->
                                <layer xml:id="layer-000000040944150" n="1">
                                    <beam xml:id="beam-000000094583677">
                                        <note xml:id="note-000000100472233" dur="8" oct="4" pname="g" accid.ges="n" />
                                        <note xml:id="note-000000025294382" dur="8" oct="4" pname="a" accid.ges="n" />
                                    </beam>
                                    <beam xml:id="beam-000000135677978">
                                        <note xml:id="note-000000141644903" dur="8" oct="4" pname="g" accid.ges="n" />
                                        <note xml:id="note-000000140270425" dur="8" oct="4" pname="f" accid.ges="s" />
                                    </beam>
                                    <note xml:id="note-000000017485298" dur="4" oct="4" pname="g" accid.ges="n" />
                                </layer>
                            </staff>
                            <staff xml:id="staff-000000027457236" n="3">
                                <!-- kern: =9  8BL  8cJ  4d  4d  =10 -->
                                <layer xml:id="layer-000000099647299" n="1">
                                    <beam xml:id="beam-000000164409723">
                                        <note xml:id="note-000000067019311" dur="8" oct="3" pname="b" accid.ges="n" />
                                        <note xml:id="note-000000038398890" dur="8" oct="4" pname="c" accid.ges="n" />
                                    </beam>
                                    <note xml:id="note-000000051315029" dur="4" oct="4" pname="d" accid.ges="n" />
                                    <note xml:id="note-000000022264809" dur="4" oct="4" pname="d" accid.ges="n" />
                                </layer>
                            </staff>
                            <staff xml:id="staff-000000194283118" n="4">
                                <!-- kern: =9  4.BB  8AA  4GG  =10 -->
                                <layer xml:id="layer-000000113008681" n="1">
                                    <note xml:id="note-000000102379286" dots="1" dur="4" oct="2" pname="b" accid.ges="n" />
                                    <note xml:id="note-000000124770229" dur="8" oct="2" pname="a" accid.ges="n" />
                                    <note xml:id="note-000000210207552" dur="4" oct="2" pname="g" accid.ges="n" />
                                </layer>
                            </staff>
                        </measure>
                        <measure xml:id="measure-000000132993910" n="10">
                            <staff xml:id="staff-000000092348257" n="1">
                                <!-- kern: =10  2a;  4g  =11 -->
                                <layer xml:id="layer-000000147608830" n="1">
                                    <note xml:id="note-000000088496795" dur="2" fermata="above" oct="4" pname="a" accid.ges="n" />
                                    <note xml:id="note-000000018469737" dur="4" oct="4" pname="g" accid.ges="n" />
                                </layer>
                            </staff>
                            <staff xml:id="staff-000000110738838" n="2">
                                <!-- kern: =10  2f#;  4e  =11 -->
                                <layer xml:id="layer-000000109482767" n="1">
                                    <note xml:id="note-000000112884622" dur="2" fermata="above" oct="4" pname="f" accid.ges="s" />
                                    <note xml:id="note-000000164803320" dur="4" oct="4" pname="e" accid.ges="n" />
                                </layer>
                            </staff>
                            <staff xml:id="staff-000000178328498" n="3">
                                <!-- kern: =10  2d;  4B  =11 -->
                                <layer xml:id="layer-000000024999742" n="1">
                                    <note xml:id="note-000000122877567" dur="2" fermata="above" oct="4" pname="d" accid.ges="n" />
                                    <note xml:id="note-000000182995294" dur="4" oct="3" pname="b" accid.ges="n" />
                                </layer>
                            </staff>
                            <staff xml:id="staff-000000138898217" n="4">
                                <!-- kern: =10  2D;  [4E  =11 -->
                                <layer xml:id="layer-000000190583792" n="1">
                                    <note xml:id="note-000000169946089" dur="2" fermata="above" oct="3" pname="d" accid.ges="n" />
                                    <note xml:id="note-000000130668993" dur="4" oct="3" pname="e" accid.ges="n" />
                                </layer>
                            </staff>
                            <tie xml:id="tie-000000182564700" startid="note-000000130668993" endid="note-000000145685052" />
                        </measure>
                        <measure xml:id="measure-000000136999693" n="11">
                            <staff xml:id="staff-000000083456290" n="1">
                                <!-- kern: =11  2b  4cc  =12 -->
                                <layer xml:id="layer-000000066844208" n="1">
                                    <note xml:id="note-000000101918194" dur="2" oct="4" pname="b" accid.ges="n" />
                                    <note xml:id="note-000000106138114" dur="4" oct="5" pname="c" accid.ges="n" />
                                </layer>
                            </staff>
                            <staff xml:id="staff-000000128311300" n="2">
                                <!-- kern: =11  4e  8f#L  8gJ  4a  =12 -->
                                <layer xml:id="layer-000000163369841" n="1">
                                    <note xml:id="note-000000199090123" dur="4" oct="4" pname="e" accid.ges="n" />
                                    <beam xml:id="beam-000000113440315">
                                        <note xml:id="note-000000055407524" dur="8" oct="4" pname="f" accid.ges="s" />
                                        <note xml:id="note-000000085358293" dur="8" oct="4" pname="g" accid.ges="n" />
                                    </beam>
                                    <note xml:id="note-000000097766019" dur="4" oct="4" pname="a" accid.ges="n" />
                                </layer>
                            </staff>
                            <staff xml:id="staff-000000024950866" n="3">
                                <!-- kern: =11  4G  4B  4e  =12 -->
                                <layer xml:id="layer-000000113758139" n="1">
                                    <note xml:id="note-000000028361333" dur="4" oct="3" pname="g" accid.ges="n" />
                                    <note xml:id="note-000000142304142" dur="4" oct="3" pname="b" accid.ges="n" />
                                    <note xml:id="note-000000053183652" dur="4" oct="4" pname="e" accid.ges="n" />
                                </layer>
                            </staff>
                            <staff xml:id="staff-000000160410413" n="4">
                                <!-- kern: =11  4E]  4D  4C  =12 -->
                                <layer xml:id="layer-000000074960408" n="1">
                                    <note xml:id="note-000000145685052" dur="4" oct="3" pname="e" accid.ges="n" />
                                    <note xml:id="note-000000040278066" dur="4" oct="3" pname="d" accid.ges="n" />
                                    <note xml:id="note-000000066616450" dur="4" oct="3" pname="c" accid.ges="n" />
                                </layer>
                            </staff>
                        </measure>
                        <measure xml:id="measure-000000139456691" n="12">
                            <staff xml:id="staff-000000162456254" n="1">
                                <!-- kern: =12  2dd  4cc  =13 -->
                                <layer xml:id="layer-000000089495317" n="1">
                                    <note xml:id="note-000000050251502" dur="2" oct="5" pname="d" accid.ges="n" />
                                    <note xml:id="note-000000186429155" dur="4" oct="5" pname="c" accid.ges="n" />
                                </layer>
                            </staff>
                            <staff xml:id="staff-000000091567308" n="2">
                                <!-- kern: =12  4a  4.g  8f#  =13 -->
                                <layer xml:id="layer-000000136178876" n="1">
                                    <note xml:id="note-000000185061450" dur="4" oct="4" pname="a" accid.ges="n" />
                                    <note xml:id="note-000000127230922" dots="1" dur="4" oct="4" pname="g" accid.ges="n" />
                                    <note xml:id="note-000000120650501" dur="8" oct="4" pname="f" accid.ges="s" />
                                </layer>
                            </staff>
                            <staff xml:id="staff-000000084972519" n="3">
                                <!-- kern: =12  2d  4d  =13 -->
                                <layer xml:id="layer-000000118910809" n="1">
                                    <note xml:id="note-000000085695049" dur="2" oct="4" pname="d" accid.ges="n" />
                                    <note xml:id="note-000000174154864" dur="4" oct="4" pname="d" accid.ges="n" />
                                </layer>
                            </staff>
                            <staff xml:id="staff-000000056506620" n="4">
                                <!-- kern: =12  4.BB  8C  4D  =13 -->
                                <layer xml:id="layer-000000000601832" n="1">
                                    <note xml:id="note-000000021827367" dots="1" dur="4" oct="2" pname="b" accid.ges="n" />
                                    <note xml:id="note-000000062355303" dur="8" oct="3" pname="c" accid.ges="n" />
                                    <note xml:id="note-000000033566188" dur="4" oct="3" pname="d" accid.ges="n" />
                                </layer>
                            </staff>
                        </measure>
                        <measure xml:id="measure-000000002976052" n="13">
                            <staff xml:id="staff-000000047449302" n="1">
                                <!-- kern: =13  2.b  =14 -->
                                <layer xml:id="layer-000000074648045" n="1">
                                    <note xml:id="note-000000049749099" dots="1" dur="2" oct="4" pname="b" accid.ges="n" />
                                </layer>
                            </staff>
                            <staff xml:id="staff-000000119755709" n="2">
                                <!-- kern: =13  2g  4f  =14 -->
                                <layer xml:id="layer-000000117723115" n="1">
                                    <note xml:id="note-000000095724950" dur="2" oct="4" pname="g" accid.ges="n" />
                                    <note xml:id="note-000000169238043" dur="4" accid="n" oct="4" pname="f" />
                                </layer>
                            </staff>
                            <staff xml:id="staff-000000112530556" n="3">
                                <!-- kern: =13  2.d  =14 -->
                                <layer xml:id="layer-000000041710014" n="1">
                                    <note xml:id="note-000000081549640" dots="1" dur="2" oct="4" pname="d" accid.ges="n" />
                                </layer>
                            </staff>
                            <staff xml:id="staff-000000012206779" n="4">
                                <!-- kern: =13  8GGL  8AAJ  4BB  4GG  =14 -->
                                <layer xml:id="layer-000000080735964" n="1">
                                    <beam xml:id="beam-000000149188857">
                                        <note xml:id="note-000000015223446" dur="8" oct="2" pname="g" accid.ges="n" />
                                        <note xml:id="note-000000095154564" dur="8" oct="2" pname="a" accid.ges="n" />
                                    </beam>
                                    <note xml:id="note-000000031690269" dur="4" oct="2" pname="b" accid.ges="n" />
                                    <note xml:id="note-000000042409988" dur="4" oct="2" pname="g" accid.ges="n" />
                                </layer>
                            </staff>
                        </measure>
                        <measure xml:id="measure-000000034852599" n="14">
                            <staff xml:id="staff-000000112201189" n="1">
                                <!-- kern: =14  2g;  4b  =15 -->
                                <layer xml:id="layer-000000159800500" n="1">
                                    <note xml:id="note-000000123954561" dur="2" fermata="above" oct="4" pname="g" accid.ges="n" />
                                    <note xml:id="note-000000030434217" dur="4" oct="4" pname="b" accid.ges="n" />
                                </layer>
                            </staff>
                            <staff xml:id="staff-000000059998134" n="2">
                                <!-- kern: =14  2e;  4g  =15 -->
                                <layer xml:id="layer-000000192043894" n="1">
                                    <note xml:id="note-000000013815101" dur="2" fermata="above" oct="4" pname="e" accid.ges="n" />
                                    <note xml:id="note-000000047423627" dur="4" oct="4" pname="g" accid.ges="n" />
                                </layer>
                            </staff>
                            <staff xml:id="staff-000000145072594" n="3">
                                <!-- kern: =14  2c;  4d  =15 -->
                                <layer xml:id="layer-000000117729352" n="1">
                                    <note xml:id="note-000000200538444" dur="2" fermata="above" oct="4" pname="c" accid.ges="n" />
                                    <note xml:id="note-000000188797748" dur="4" oct="4" pname="d" accid.ges="n" />
                                </layer>
                            </staff>
                            <staff xml:id="staff-000000196907961" n="4">
                                <!-- kern: =14  2C;  4GG  =15 -->
                                <layer xml:id="layer-000000001918870" n="1">
                                    <note xml:id="note-000000038208511" dur="2" fermata="above" oct="3" pname="c" accid.ges="n" />
                                    <note xml:id="note-000000072838966" dur="4" oct="2" pname="g" accid.ges="n" />
                                </layer>
                            </staff>
                        </measure>
                        <measure xml:id="measure-000000138824452" n="15">
                            <staff xml:id="staff-000000107879606" n="1">
                                <!-- kern: =15  2dd  4cc  =16 -->
                                <layer xml:id="layer-000000131736892" n="1">
                                    <note xml:id="note-000000046307148" dur="2" oct="5" pname="d" accid.ges="n" />
                                    <note xml:id="note-000000036169486" dur="4" oct="5" pname="c" accid.ges="n" />
                                </layer>
                            </staff>
                            <staff xml:id="staff-000000012099922" n="2">
                                <!-- kern: =15  4.a  8g  4f#  =16 -->
                                <layer xml:id="layer-000000162679101" n="1">
                                    <note xml:id="note-000000186219511" dots="1" dur="4" oct="4" pname="a" accid.ges="n" />
                                    <note xml:id="note-000000048659281" dur="8" oct="4" pname="g" accid.ges="n" />
                                    <note xml:id="note-000000054768031" dur="4" oct="4" pname="f" accid.ges="s" />
                                </layer>
                            </staff>
                            <staff xml:id="staff-000000211436047" n="3">
                                <!-- kern: =15  8dL  8cJ  4B  4c  =16 -->
                                <layer xml:id="layer-000000074814316" n="1">
                                    <beam xml:id="beam-000000052538735">
                                        <note xml:id="note-000000188001947" dur="8" oct="4" pname="d" accid.ges="n" />
                                        <note xml:id="note-000000156041801" dur="8" oct="4" pname="c" accid.ges="n" />
                                    </beam>
                                    <note xml:id="note-000000087526413" dur="4" oct="3" pname="b" accid.ges="n" />
                                    <note xml:id="note-000000030131818" dur="4" oct="4" pname="c" accid.ges="n" />
                                </layer>
                            </staff>
                            <staff xml:id="staff-000000164464683" n="4">
                                <!-- kern: =15  4FF#  4GG  4AA  =16 -->
                                <layer xml:id="layer-000000048834609" n="1">
                                    <note xml:id="note-000000209771944" dur="4" oct="2" pname="f" accid.ges="s" />
                                    <note xml:id="note-000000113164570" dur="4" oct="2" pname="g" accid.ges="n" />
                                    <note xml:id="note-000000145413568" dur="4" oct="2" pname="a" accid.ges="n" />
                                </layer>
                            </staff>
                        </measure>
                        <measure xml:id="measure-000000129450451" n="16">
                            <staff xml:id="staff-000000159206434" n="1">
                                <!-- kern: =16  2b  4a  =17 -->
                                <layer xml:id="layer-000000150210126" n="1">
                                    <note xml:id="note-000000214562314" dur="2" oct="4" pname="b" accid.ges="n" />
                                    <note xml:id="note-000000094274717" dur="4" oct="4" pname="a" accid.ges="n" />
                                </layer>
                            </staff>
                            <staff xml:id="staff-000000017927202" n="2">
                                <!-- kern: =16  2g  [4f#  =17 -->
                                <layer xml:id="layer-000000061733862" n="1">
                                    <note xml:id="note-000000111675491" dur="2" oct="4" pname="g" accid.ges="n" />
                                    <note xml:id="note-000000029271439" dur="4" oct="4" pname="f" accid.ges="s" />
                                </layer>
                            </staff>
                            <staff xml:id="staff-000000010533382" n="3">
                                <!-- kern: =16  2d  8dL  8cJ  =17 -->
                                <layer xml:id="layer-000000191331874" n="1">
                                    <note xml:id="note-000000072808426" dur="2" oct="4" pname="d" accid.ges="n" />
                                    <beam xml:id="beam-000000055042124">
                                        <note xml:id="note-000000171786431" dur="8" oct="4" pname="d" accid.ges="n" />
                                        <note xml:id="note-000000137537513" dur="8" oct="4" pname="c" accid.ges="n" />
                                    </beam>
                                </layer>
                            </staff>
                            <staff xml:id="staff-000000081898761" n="4">
                                <!-- kern: =16  4BB  4GG  4D  =17 -->
                                <layer xml:id="layer-000000041583360" n="1">
                                    <note xml:id="note-000000100356147" dur="4" oct="2" pname="b" accid.ges="n" />
                                    <note xml:id="note-000000052116359" dur="4" oct="2" pname="g" accid.ges="n" />
                                    <note xml:id="note-000000175821189" dur="4" oct="3" pname="d" accid.ges="n" />
                                </layer>
                            </staff>
                            <tie xml:id="tie-000000084413896" startid="note-000000029271439" endid="note-000000025035786" />
                        </measure>
                        <measure xml:id="measure-000000089228612" n="17">
                            <staff xml:id="staff-000000056842230" n="1">
                                <!-- kern: =17  4.g  8a  4b  =18 -->
                                <layer xml:id="layer-000000002379767" n="1">
                                    <note xml:id="note-000000053553176" dots="1" dur="4" oct="4" pname="g" accid.ges="n" />
                                    <note xml:id="note-000000057847700" dur="8" oct="4" pname="a" accid.ges="n" />
                                    <note xml:id="note-000000080456987" dur="4" oct="4" pname="b" accid.ges="n" />
                                </layer>
                            </staff>
                            <staff xml:id="staff-000000146648550" n="2">
                                <!-- kern: =17  8f#L]  8eJ  8eL  8f#J  4g  =18 -->
                                <layer xml:id="layer-000000184881399" n="1">
                                    <beam xml:id="beam-000000107599275">
                                        <note xml:id="note-000000025035786" dur="8" oct="4" pname="f" accid.ges="s" />
                                        <note xml:id="note-000000116666309" dur="8" oct="4" pname="e" accid.ges="n" />
                                    </beam>
                                    <beam xml:id="beam-000000158092374">
                                        <note xml:id="note-000000191775195" dur="8" oct="4" pname="e" accid.ges="n" />
                                        <note xml:id="note-000000007499944" dur="8" oct="4" pname="f" accid.ges="s" />
                                    </beam>
                                    <note xml:id="note-000000209018774" dur="4" oct="4" pname="g" accid.ges="n" />
                                </layer>
                            </staff>
                            <staff xml:id="staff-000000055209953" n="3">
                                <!-- kern: =17  4B  4c  4d  =18 -->
                                <layer xml:id="layer-000000124793258" n="1">
                                    <note xml:id="note-000000167772672" dur="4" oct="3" pname="b" accid.ges="n" />
                                    <note xml:id="note-000000109271473" dur="4" oct="4" pname="c" accid.ges="n" />
                                    <note xml:id="note-000000212391926" dur="4" oct="4" pname="d" accid.ges="n" />
                                </layer>
                            </staff>
                            <staff xml:id="staff-000000200744567" n="4">
                                <!-- kern: =17  8EL  8D  8C  8BB  8AA  8GGJ  =18 -->
                                <layer xml:id="layer-000000123785600" n="1">
                                    <beam xml:id="beam-000000197170351">
                                        <note xml:id="note-000000060075252" dur="8" oct="3" pname="e" accid.ges="n" />
                                        <note xml:id="note-000000152697909" dur="8" oct="3" pname="d" accid.ges="n" />
                                        <note xml:id="note-000000150803440" dur="8" oct="3" pname="c" accid.ges="n" />
                                        <note xml:id="note-000000093217571" dur="8" oct="2" pname="b" accid.ges="n" />
                                        <note xml:id="note-000000118400352" dur="8" oct="2" pname="a" accid.ges="n" />
                                        <note xml:id="note-000000096378838" dur="8" oct="2" pname="g" accid.ges="n" />
                                    </beam>
                                </layer>
                            </staff>
                        </measure>
                        <measure xml:id="measure-000000206963698" n="18">
                            <staff xml:id="staff-000000102492596" n="1">
                                <!-- kern: =18  2a;  4b  =19 -->
                                <layer xml:id="layer-000000209662872" n="1">
                                    <note xml:id="note-000000212726748" dur="2" fermata="above" oct="4" pname="a" accid.ges="n" />
                                    <note xml:id="note-000000167686513" dur="4" oct="4" pname="b" accid.ges="n" />
                                </layer>
                            </staff>
                            <staff xml:id="staff-000000096439478" n="2">
                                <!-- kern: =18  2f#;  4g  =19 -->
                                <layer xml:id="layer-000000164449159" n="1">
                                    <note xml:id="note-000000085564985" dur="2" fermata="above" oct="4" pname="f" accid.ges="s" />
                                    <note xml:id="note-000000135659586" dur="4" oct="4" pname="g" accid.ges="n" />
                                </layer>
                            </staff>
                            <staff xml:id="staff-000000152401716" n="3">
                                <!-- kern: =18  2d;  4d  =19 -->
                                <layer xml:id="layer-000000047283966" n="1">
                                    <note xml:id="note-000000132672214" dur="2" fermata="above" oct="4" pname="d" accid.ges="n" />
                                    <note xml:id="note-000000089631698" dur="4" oct="4" pname="d" accid.ges="n" />
                                </layer>
                            </staff>
                            <staff xml:id="staff-000000111903438" n="4">
                                <!-- kern: =18  2D;  [4G  =19 -->
                                <layer xml:id="layer-000000194928364" n="1">
                                    <note xml:id="note-000000174716972" dur="2" fermata="above" oct="3" pname="d" accid.ges="n" />
                                    <note xml:id="note-000000213762903" dur="4" oct="3" pname="g" accid.ges="n" />
                                </layer>
                            </staff>
                            <tie xml:id="tie-000000163788612" startid="note-000000213762903" endid="note-000000204791802" />
                        </measure>
                        <measure xml:id="measure-000000187717654" n="19">
                            <staff xml:id="staff-000000017202424" n="1">
                                <!-- kern: =19  2dd  4cc  =20 -->
                                <layer xml:id="layer-000000106919407" n="1">
                                    <note xml:id="note-000000194912726" dur="2" oct="5" pname="d" accid.ges="n" />
                                    <note xml:id="note-000000126645874" dur="4" oct="5" pname="c" accid.ges="n" />
                                </layer>
                            </staff>
                            <staff xml:id="staff-000000069856408" n="2">
                                <!-- kern: =19  2a  8gL  8f#J  =20 -->
                                <layer xml:id="layer-000000166170179" n="1">
                                    <note xml:id="note-000000019728975" dur="2" oct="4" pname="a" accid.ges="n" />
                                    <beam xml:id="beam-000000013409408">
                                        <note xml:id="note-000000100900812" dur="8" oct="4" pname="g" accid.ges="n" />
                                        <note xml:id="note-000000186859612" dur="8" oct="4" pname="f" accid.ges="s" />
                                    </beam>
                                </layer>
                            </staff>
                            <staff xml:id="staff-000000047341121" n="3">
                                <!-- kern: =19  2d  4e  =20 -->
                                <layer xml:id="layer-000000069426956" n="1">
                                    <note xml:id="note-000000130997522" dur="2" oct="4" pname="d" accid.ges="n" />
                                    <note xml:id="note-000000075125753" dur="4" oct="4" pname="e" accid.ges="n" />
                                </layer>
                            </staff>
                            <staff xml:id="staff-000000019542879" n="4">
                                <!-- kern: =19  4G]  4F#  [4E  =20 -->
                                <layer xml:id="layer-000000132896280" n="1">
                                    <note xml:id="note-000000204791802" dur="4" oct="3" pname="g" accid.ges="n" />
                                    <note xml:id="note-000000150674924" dur="4" oct="3" pname="f" accid.ges="s" />
                                    <note xml:id="note-000000080736167" dur="4" oct="3" pname="e" accid.ges="n" />
                                </layer>
                            </staff>
                            <tie xml:id="tie-000000155790539" startid="note-000000080736167" endid="note-000000019481900" />
                        </measure>
                        <measure xml:id="measure-000000152602359" n="20">
                            <staff xml:id="staff-000000186488015" n="1">
                                <!-- kern: =20  4b  2a  =21 -->
                                <layer xml:id="layer-000000203317971" n="1">
                                    <note xml:id="note-000000089162852" dur="4" oct="4" pname="b" accid.ges="n" />
                                    <note xml:id="note-000000045964687" dur="2" oct="4" pname="a" accid.ges="n" />
                                </layer>
                            </staff>
                            <staff xml:id="staff-000000051700434" n="2">
                                <!-- kern: =20  2g  4f#  =21 -->
                                <layer xml:id="layer-000000078633305" n="1">
                                    <note xml:id="note-000000028535897" dur="2" oct="4" pname="g" accid.ges="n" />
                                    <note xml:id="note-000000069730907" dur="4" oct="4" pname="f" accid.ges="s" />
                                </layer>
                            </staff>
                            <staff xml:id="staff-000000057324107" n="3">
                                <!-- kern: =20  2e  8dL  8cJ  =21 -->
                                <layer xml:id="layer-000000085534503" n="1">
                                    <note xml:id="note-000000052853745" dur="2" oct="4" pname="e" accid.ges="n" />
                                    <beam xml:id="beam-000000113664219">
                                        <note xml:id="note-000000167829768" dur="8" oct="4" pname="d" accid.ges="n" />
                                        <note xml:id="note-000000209898890" dur="8" oct="4" pname="c" accid.ges="n" />
                                    </beam>
                                </layer>
                            </staff>
                            <staff xml:id="staff-000000085109027" n="4">
                                <!-- kern: =20  8EL]  8DJ  4C  4D  =21 -->
                                <layer xml:id="layer-000000099264025" n="1">
                                    <beam xml:id="beam-000000165186311">
                                        <note xml:id="note-000000019481900" dur="8" oct="3" pname="e" accid.ges="n" />
                                        <note xml:id="note-000000159531592" dur="8" oct="3" pname="d" accid.ges="n" />
                                    </beam>
                                    <note xml:id="note-000000114145229" dur="4" oct="3" pname="c" accid.ges="n" />
                                    <note xml:id="note-000000091728660" dur="4" oct="3" pname="d" accid.ges="n" />
                                </layer>
                            </staff>
                        </measure>
                        <measure xml:id="measure-000000005090203" n="21" right="end">
                            <staff xml:id="staff-000000021125824" n="1">
                                <!-- kern: =21  2g;  == -->
                                <layer xml:id="layer-000000022455343" n="1">
                                    <note xml:id="note-000000094086468" dur="2" fermata="above" oct="4" pname="g" accid.ges="n" />
                                </layer>
                            </staff>
                            <staff xml:id="staff-000000082678799" n="2">
                                <!-- kern: =21  2d;  == -->
                                <layer xml:id="layer-000000119070154" n="1">
                                    <note xml:id="note-000000186829449" dur="2" fermata="above" oct="4" pname="d" accid.ges="n" />
                                </layer>
                            </staff>
                            <staff xml:id="staff-000000160665268" n="3">
                                <!-- kern: =21  2B;  == -->
                                <layer xml:id="layer-000000206709064" n="1">
                                    <note xml:id="note-000000174947938" dur="2" fermata="above" oct="3" pname="b" accid.ges="n" />
                                </layer>
                            </staff>
                            <staff xml:id="staff-000000055224899" n="4">
                                <!-- kern: =21  2GG;  == -->
                                <layer xml:id="layer-000000015387855" n="1">
                                    <note xml:id="note-000000066647886" dur="2" fermata="above" oct="2" pname="g" accid.ges="n" />
                                </layer>
                            </staff>
                        </measure>
                    </section>
                </score>
            </mdiv>
        </body>
    </music>
</mei>

And the grand-staff version (notice also the change in fermata display which might be more tricky to deal with):

humcat h://chorales/chor001.krn | satb2gs | grep -v '\*I"' | ./verovio -o chor001gs --spacing-non-linear 0.57 - -f humdrum 

screen shot 2016-07-12 at 8 17 47 pm

Grand-staff MEI data:

<?xml version="1.0" encoding="UTF-8"?>
<?xml-model href="http://music-encoding.org/schema/3.0.0/mei-all.rng" type="application/xml" schematypens="http://relaxng.org/ns/structure/1.0"?>
<?xml-model href="http://music-encoding.org/schema/3.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="3.0.0">
    <meiHead>
        <fileDesc>
            <titleStmt>
                <title xml:lang="de" type="main">Aus meines Herzens Grunde</title>
                <title xml:lang="en" type="translated">From the Depths of My Heart</title>
                <respStmt>
                    <persName role="Composer">Bach, Johann Sebastian</persName>
                    <persName role="digital editor">Craig Stuart Sapp</persName>
                </respStmt>
            </titleStmt>
            <pubStmt>
                <date>2016-07-12 20:08:55</date>
            </pubStmt>
        </fileDesc>
        <encodingDesc>
            <projectDesc>
                <p>Transcoded from Humdrum with Verovio version 0.9.12-dev-48e949d-dirty</p>
            </projectDesc>
        </encodingDesc>
        <extMeta xmlns="http://www.humdrum.org/ns/humxml">
            <metaFrame n="1" token="!!!COM: Bach, Johann Sebastian" xml:id="loc1">
                <frameInfo>
                    <startTime float="0" />
                    <frameType>reference</frameType>
                    <referenceKey>COM</referenceKey>
                    <referenceValue>Bach, Johann Sebastian</referenceValue>
                </frameInfo>
            </metaFrame>
            <metaFrame n="2" token="!!!CDT: 1685/02/21/-1750/07/28/" xml:id="loc2">
                <frameInfo>
                    <startTime float="0" />
                    <frameType>reference</frameType>
                    <referenceKey>CDT</referenceKey>
                    <referenceValue>1685/02/21/-1750/07/28/</referenceValue>
                </frameInfo>
            </metaFrame>
            <metaFrame n="3" token="!!!OTL@@DE: Aus meines Herzens Grunde" xml:id="loc3">
                <frameInfo>
                    <startTime float="0" />
                    <frameType>reference</frameType>
                    <referenceKey language="DE" primary="true">OTL</referenceKey>
                    <referenceValue>Aus meines Herzens Grunde</referenceValue>
                </frameInfo>
            </metaFrame>
            <metaFrame n="4" token="!!!OTL@EN:      From the Depths of My Heart" xml:id="loc4">
                <frameInfo>
                    <startTime float="0" />
                    <frameType>reference</frameType>
                    <referenceKey language="EN">OTL</referenceKey>
                    <referenceValue>From the Depths of My Heart</referenceValue>
                </frameInfo>
            </metaFrame>
            <metaFrame n="5" token="!!!SCT: BWV 269" xml:id="loc5">
                <frameInfo>
                    <startTime float="0" />
                    <frameType>reference</frameType>
                    <referenceKey>SCT</referenceKey>
                    <referenceValue>BWV 269</referenceValue>
                </frameInfo>
            </metaFrame>
            <metaFrame n="6" token="!!!PC#: 1" xml:id="loc6">
                <frameInfo>
                    <startTime float="0" />
                    <frameType>reference</frameType>
                    <referenceKey>PC#</referenceKey>
                    <referenceValue>1</referenceValue>
                </frameInfo>
            </metaFrame>
            <metaFrame n="7" token="!!!AGN: chorale" xml:id="loc7">
                <frameInfo>
                    <startTime float="0" />
                    <frameType>reference</frameType>
                    <referenceKey>AGN</referenceKey>
                    <referenceValue>chorale</referenceValue>
                </frameInfo>
            </metaFrame>
            <metaFrame n="128" token="!!!hum2abc: -Q ''" xml:id="loc128">
                <frameInfo>
                    <startTime float="63" />
                    <frameType>reference</frameType>
                    <referenceKey>hum2abc</referenceKey>
                    <referenceValue>-Q ''</referenceValue>
                </frameInfo>
            </metaFrame>
            <metaFrame n="129" token="!!!title: @{PC#}. @{OTL@@DE}" xml:id="loc129">
                <frameInfo>
                    <startTime float="63" />
                    <frameType>reference</frameType>
                    <referenceKey>title</referenceKey>
                    <referenceValue>@{PC#}. @{OTL@@DE}</referenceValue>
                </frameInfo>
            </metaFrame>
            <metaFrame n="130" token="!!!YOR1: 371 vierstimmige Choralges&amp;auml;nge von Johann Sebastian Bach, " xml:id="loc130">
                <frameInfo>
                    <startTime float="63" />
                    <frameType>reference</frameType>
                    <referenceKey>YOR1</referenceKey>
                    <referenceValue>371 vierstimmige Choralges&amp;auml;nge von Johann Sebastian Bach,</referenceValue>
                </frameInfo>
            </metaFrame>
            <metaFrame n="131" token="!!!YOR2: 4th ed. by Alfred D&amp;ouml;rffel (Leipzig: Breitkopf und H&amp;auml;rtel, " xml:id="loc131">
                <frameInfo>
                    <startTime float="63" />
                    <frameType>reference</frameType>
                    <referenceKey>YOR2</referenceKey>
                    <referenceValue>4th ed. by Alfred D&amp;ouml;rffel (Leipzig: Breitkopf und H&amp;auml;rtel,</referenceValue>
                </frameInfo>
            </metaFrame>
            <metaFrame n="132" token="!!!YOR3: c.1875). 178 pp. Plate &quot;V.A.10&quot;.  reprint: J.S. Bach, 371 Four-Part " xml:id="loc132">
                <frameInfo>
                    <startTime float="63" />
                    <frameType>reference</frameType>
                    <referenceKey>YOR3</referenceKey>
                    <referenceValue>c.1875). 178 pp. Plate "V.A.10".  reprint: J.S. Bach, 371 Four-Part</referenceValue>
                </frameInfo>
            </metaFrame>
            <metaFrame n="133" token="!!!YOR4: Chorales (New York: Associated Music Publishers, Inc., c.1940)." xml:id="loc133">
                <frameInfo>
                    <startTime float="63" />
                    <frameType>reference</frameType>
                    <referenceKey>YOR4</referenceKey>
                    <referenceValue>Chorales (New York: Associated Music Publishers, Inc., c.1940).</referenceValue>
                </frameInfo>
            </metaFrame>
            <metaFrame n="134" token="!!!SMS: B&amp;H, 4th ed, Alfred D&amp;ouml;rffel, c.1875, plate V.A.10" xml:id="loc134">
                <frameInfo>
                    <startTime float="63" />
                    <frameType>reference</frameType>
                    <referenceKey>SMS</referenceKey>
                    <referenceValue>B&amp;H, 4th ed, Alfred D&amp;ouml;rffel, c.1875, plate V.A.10</referenceValue>
                </frameInfo>
            </metaFrame>
            <metaFrame n="135" token="!!!EED:  Craig Stuart Sapp" xml:id="loc135">
                <frameInfo>
                    <startTime float="63" />
                    <frameType>reference</frameType>
                    <referenceKey>EED</referenceKey>
                    <referenceValue>Craig Stuart Sapp</referenceValue>
                </frameInfo>
            </metaFrame>
            <metaFrame n="136" token="!!!EEV:  2009/05/22" xml:id="loc136">
                <frameInfo>
                    <startTime float="63" />
                    <frameType>reference</frameType>
                    <referenceKey>EEV</referenceKey>
                    <referenceValue>2009/05/22</referenceValue>
                </frameInfo>
            </metaFrame>
        </extMeta>
    </meiHead>
    <music>
        <body>
            <mdiv>
                <score>
                    <scoreDef xml:id="scoredef-000000189200467">
                        <staffGrp xml:id="m-000000208481291" symbol="brace">
                            <staffDef xml:id="staffdef-000000110741072" clef.shape="G" clef.line="2" key.sig="1s" meter.count="3" meter.unit="4" n="1" lines="5" />
                            <staffDef xml:id="staffdef-000000001128652" clef.shape="F" clef.line="4" key.sig="1s" meter.count="3" meter.unit="4" n="2" lines="5" />
                        </staffGrp>
                    </scoreDef>
                    <section>
                        <measure xml:id="measure-000000071408154" n="0">
                            <staff xml:id="staff-000000117989373" n="1">
                                <!-- kern: **kern  *clefG2  *^  *ICvox  *Isoprn  *>[A,A,B]  *>norep[A,B]  *>A  !*clefG2  *k[f#]  *G:  *M3/4  *MM100  4g  =1 -->
                                <layer xml:id="layer-000000059574830" n="1">
                                    <note xml:id="note-000000117291578" dur="4" oct="4" pname="g" accid.ges="n" />
                                </layer>
                                <!-- kern: *ICvox  *Ialto  *>[A,A,B]  *>norep[A,B]  *>A  !*clefG2  *k[f#]  *G:  *M3/4  *MM100  4d  =1 -->
                                <layer xml:id="layer-000000144321948" n="2">
                                    <note xml:id="note-000000036215875" dur="4" oct="4" pname="d" accid.ges="n" />
                                </layer>
                            </staff>
                            <staff xml:id="staff-000000061002455" n="2">
                                <!-- kern: **kern  *clefF4  *^  *ICvox  *Itenor  *>[A,A,B]  *>norep[A,B]  *>A  !*clefGv2  *k[f#]  *G:  *M3/4  *MM100  4B  =1 -->
                                <layer xml:id="layer-000000083359010" n="1">
                                    <note xml:id="note-000000211311577" dur="4" oct="3" pname="b" accid.ges="n" />
                                </layer>
                                <!-- kern: *ICvox  *Ibass  *>[A,A,B]  *>norep[A,B]  *>A  !*clefF4  *k[f#]  *G:  *M3/4  *MM100  4GG  =1 -->
                                <layer xml:id="layer-000000005227633" n="2">
                                    <note xml:id="note-000000028761795" dur="4" oct="2" pname="g" accid.ges="n" />
                                </layer>
                            </staff>
                        </measure>
                        <measure xml:id="measure-000000000919625" n="1">
                            <staff xml:id="staff-000000065574137" n="1">
                                <!-- kern: =1  2g  4dd  =2 -->
                                <layer xml:id="layer-000000041445643" n="1">
                                    <note xml:id="note-000000147981901" dur="2" oct="4" pname="g" accid.ges="n" />
                                    <note xml:id="note-000000131010281" dur="4" oct="5" pname="d" accid.ges="n" />
                                </layer>
                                <!-- kern: =1  4d  4e  4d  =2 -->
                                <layer xml:id="layer-000000074812859" n="2">
                                    <note xml:id="note-000000028050936" dur="4" oct="4" pname="d" accid.ges="n" />
                                    <note xml:id="note-000000079430919" dur="4" oct="4" pname="e" accid.ges="n" />
                                    <note xml:id="note-000000119632422" dur="4" oct="4" pname="d" accid.ges="n" />
                                </layer>
                            </staff>
                            <staff xml:id="staff-000000015923002" n="2">
                                <!-- kern: =1  4B  8cL  8BJ  4A  =2 -->
                                <layer xml:id="layer-000000187937997" n="1">
                                    <note xml:id="note-000000154975974" dur="4" oct="3" pname="b" accid.ges="n" />
                                    <beam xml:id="beam-000000213043062">
                                        <note xml:id="note-000000115270155" dur="8" oct="4" pname="c" accid.ges="n" />
                                        <note xml:id="note-000000100510571" dur="8" oct="3" pname="b" accid.ges="n" />
                                    </beam>
                                    <note xml:id="note-000000070545193" dur="4" oct="3" pname="a" accid.ges="n" />
                                </layer>
                                <!-- kern: =1  4G  4E  4F#  =2 -->
                                <layer xml:id="layer-000000027338923" n="2">
                                    <note xml:id="note-000000138526767" dur="4" oct="3" pname="g" accid.ges="n" />
                                    <note xml:id="note-000000132363021" dur="4" oct="3" pname="e" accid.ges="n" />
                                    <note xml:id="note-000000046987381" dur="4" oct="3" pname="f" accid.ges="s" />
                                </layer>
                            </staff>
                        </measure>
                        <measure xml:id="measure-000000087177145" n="2">
                            <staff xml:id="staff-000000071605460" n="1">
                                <!-- kern: =2  4.b  8a  4g  =3 -->
                                <layer xml:id="layer-000000143527716" n="1">
                                    <note xml:id="note-000000001943817" dots="1" dur="4" oct="4" pname="b" accid.ges="n" />
                                    <note xml:id="note-000000027990968" dur="8" oct="4" pname="a" accid.ges="n" />
                                    <note xml:id="note-000000145293928" dur="4" oct="4" pname="g" accid.ges="n" />
                                </layer>
                                <!-- kern: =2  2d  4B  =3 -->
                                <layer xml:id="layer-000000051402976" n="2">
                                    <note xml:id="note-000000211903212" dur="2" oct="4" pname="d" accid.ges="n" />
                                    <note xml:id="note-000000070405579" dur="4" oct="3" pname="b" accid.ges="n" />
                                </layer>
                            </staff>
                            <staff xml:id="staff-000000023135483" n="2">
                                <!-- kern: =2  4G  4F#  4G  =3 -->
                                <layer xml:id="layer-000000043091882" n="1">
                                    <note xml:id="note-000000113780047" dur="4" oct="3" pname="g" accid.ges="n" />
                                    <note xml:id="note-000000181822405" dur="4" oct="3" pname="f" accid.ges="s" />
                                    <note xml:id="note-000000019932834" dur="4" oct="3" pname="g" accid.ges="n" />
                                </layer>
                                <!-- kern: =2  4G  4D  4E  =3 -->
                                <layer xml:id="layer-000000003703870" n="2">
                                    <note xml:id="note-000000188680818" dur="4" oct="3" pname="g" accid.ges="n" />
                                    <note xml:id="note-000000184154965" dur="4" oct="3" pname="d" accid.ges="n" />
                                    <note xml:id="note-000000139078144" dur="4" oct="3" pname="e" accid.ges="n" />
                                </layer>
                            </staff>
                        </measure>
                        <measure xml:id="measure-000000165168174" n="3">
                            <staff xml:id="staff-000000193386954" n="1">
                                <!-- kern: =3  4.g  8a  4b  =4 -->
                                <layer xml:id="layer-000000182330457" n="1">
                                    <note xml:id="note-000000183579936" dots="1" dur="4" oct="4" pname="g" accid.ges="n" />
                                    <note xml:id="note-000000138242152" dur="8" oct="4" pname="a" accid.ges="n" />
                                    <note xml:id="note-000000073302739" dur="4" oct="4" pname="b" accid.ges="n" />
                                </layer>
                                <!-- kern: =3  8eL  8d  8e  8f#J  4g  =4 -->
                                <layer xml:id="layer-000000202524538" n="2">
                                    <beam xml:id="beam-000000068329671">
                                        <note xml:id="note-000000157274446" dur="8" oct="4" pname="e" accid.ges="n" />
                                        <note xml:id="note-000000188742875" dur="8" oct="4" pname="d" accid.ges="n" />
                                        <note xml:id="note-000000153406822" dur="8" oct="4" pname="e" accid.ges="n" />
                                        <note xml:id="note-000000039590765" dur="8" oct="4" pname="f" accid.ges="s" />
                                    </beam>
                                    <note xml:id="note-000000111566960" dur="4" oct="4" pname="g" accid.ges="n" />
                                </layer>
                            </staff>
                            <staff xml:id="staff-000000038036143" n="2">
                                <!-- kern: =3  8cL  8BJ  4c  4d  =4 -->
                                <layer xml:id="layer-000000137924524" n="1">
                                    <beam xml:id="beam-000000103631338">
                                        <note xml:id="note-000000122665091" dur="8" oct="4" pname="c" accid.ges="n" />
                                        <note xml:id="note-000000047884997" dur="8" oct="3" pname="b" accid.ges="n" />
                                    </beam>
                                    <note xml:id="note-000000141033813" dur="4" oct="4" pname="c" accid.ges="n" />
                                    <note xml:id="note-000000177593897" dur="4" oct="4" pname="d" accid.ges="n" />
                                </layer>
                                <!-- kern: =3  4C  8BBL  8AAJ  4GG  =4 -->
                                <layer xml:id="layer-000000033107594" n="2">
                                    <note xml:id="note-000000026326143" dur="4" oct="3" pname="c" accid.ges="n" />
                                    <beam xml:id="beam-000000081855799">
                                        <note xml:id="note-000000072401289" dur="8" oct="2" pname="b" accid.ges="n" />
                                        <note xml:id="note-000000084241597" dur="8" oct="2" pname="a" accid.ges="n" />
                                    </beam>
                                    <note xml:id="note-000000012564076" dur="4" oct="2" pname="g" accid.ges="n" />
                                </layer>
                            </staff>
                        </measure>
                        <measure xml:id="measure-000000066796277" n="4">
                            <staff xml:id="staff-000000071063749" n="1">
                                <!-- kern: =4  2a;  4b  =5 -->
                                <layer xml:id="layer-000000084919695" n="1">
                                    <note xml:id="note-000000027692153" dur="2" fermata="above" oct="4" pname="a" accid.ges="n" />
                                    <note xml:id="note-000000062309166" dur="4" oct="4" pname="b" accid.ges="n" />
                                </layer>
                                <!-- kern: =4  2f#;y  4g  =5 -->
                                <layer xml:id="layer-000000117128365" n="2">
                                    <note xml:id="note-000000192928118" dur="2" oct="4" pname="f" accid.ges="s" />
                                    <note xml:id="note-000000057325662" dur="4" oct="4" pname="g" accid.ges="n" />
                                </layer>
                            </staff>
                            <staff xml:id="staff-000000152783430" n="2">
                                <!-- kern: =4  2d;y  4d  =5 -->
                                <layer xml:id="layer-000000111250635" n="1">
                                    <note xml:id="note-000000190166089" dur="2" oct="4" pname="d" accid.ges="n" />
                                    <note xml:id="note-000000021556077" dur="4" oct="4" pname="d" accid.ges="n" />
                                </layer>
                                <!-- kern: =4  2D;  4GG  =5 -->
                                <layer xml:id="layer-000000012496570" n="2">
                                    <note xml:id="note-000000005964759" dur="2" fermata="below" oct="3" pname="d" accid.ges="n" />
                                    <note xml:id="note-000000176966562" dur="4" oct="2" pname="g" accid.ges="n" />
                                </layer>
                            </staff>
                        </measure>
                        <measure xml:id="measure-000000012169884" n="5">
                            <staff xml:id="staff-000000210382320" n="1">
                                <!-- kern: =5  2dd  4cc  =6 -->
                                <layer xml:id="layer-000000108193629" n="1">
                                    <note xml:id="note-000000135933814" dur="2" oct="5" pname="d" accid.ges="n" />
                                    <note xml:id="note-000000146514942" dur="4" oct="5" pname="c" accid.ges="n" />
                                </layer>
                                <!-- kern: =5  4d  4e  4f#  =6 -->
                                <layer xml:id="layer-000000171883905" n="2">
                                    <note xml:id="note-000000057792752" dur="4" oct="4" pname="d" accid.ges="n" />
                                    <note xml:id="note-000000015929325" dur="4" oct="4" pname="e" accid.ges="n" />
                                    <note xml:id="note-000000147717985" dur="4" oct="4" pname="f" accid.ges="s" />
                                </layer>
                            </staff>
                            <staff xml:id="staff-000000063829135" n="2">
                                <!-- kern: =5  4A  4B  4c  =6 -->
                                <layer xml:id="layer-000000205079643" n="1">
                                    <note xml:id="note-000000062318230" dur="4" oct="3" pname="a" accid.ges="n" />
                                    <note xml:id="note-000000054732094" dur="4" oct="3" pname="b" accid.ges="n" />
                                    <note xml:id="note-000000115064570" dur="4" oct="4" pname="c" accid.ges="n" />
                                </layer>
                                <!-- kern: =5  4FF#  4GG  4AA  =6 -->
                                <layer xml:id="layer-000000081215631" n="2">
                                    <note xml:id="note-000000050510906" dur="4" oct="2" pname="f" accid.ges="s" />
                                    <note xml:id="note-000000036521567" dur="4" oct="2" pname="g" accid.ges="n" />
                                    <note xml:id="note-000000067151937" dur="4" oct="2" pname="a" accid.ges="n" />
                                </layer>
                            </staff>
                        </measure>
                        <measure xml:id="measure-000000119950341" n="6">
                            <staff xml:id="staff-000000016688316" n="1">
                                <!-- kern: =6  4b  2a  =7 -->
                                <layer xml:id="layer-000000142916460" n="1">
                                    <note xml:id="note-000000036499176" dur="4" oct="4" pname="b" accid.ges="n" />
                                    <note xml:id="note-000000120334894" dur="2" oct="4" pname="a" accid.ges="n" />
                                </layer>
                                <!-- kern: =6  2g  4f#  =7 -->
                                <layer xml:id="layer-000000183219800" n="2">
                                    <note xml:id="note-000000098392293" dur="2" oct="4" pname="g" accid.ges="n" />
                                    <note xml:id="note-000000116860261" dur="4" oct="4" pname="f" accid.ges="s" />
                                </layer>
                            </staff>
                            <staff xml:id="staff-000000019174478" n="2">
                                <!-- kern: =6  4d  4e  8dL  8cJ  =7 -->
                                <layer xml:id="layer-000000196611445" n="1">
                                    <note xml:id="note-000000115476879" dur="4" oct="4" pname="d" accid.ges="n" />
                                    <note xml:id="note-000000138943643" dur="4" oct="4" pname="e" accid.ges="n" />
                                    <beam xml:id="beam-000000052095195">
                                        <note xml:id="note-000000034864525" dur="8" oct="4" pname="d" accid.ges="n" />
                                        <note xml:id="note-000000134536134" dur="8" oct="4" pname="c" accid.ges="n" />
                                    </beam>
                                </layer>
                                <!-- kern: =6  4BB  4C  4D  =7 -->
                                <layer xml:id="layer-000000063285657" n="2">
                                    <note xml:id="note-000000208140246" dur="4" oct="2" pname="b" accid.ges="n" />
                                    <note xml:id="note-000000177013688" dur="4" oct="3" pname="c" accid.ges="n" />
                                    <note xml:id="note-000000159968111" dur="4" oct="3" pname="d" accid.ges="n" />
                                </layer>
                            </staff>
                        </measure>
                        <measure xml:id="measure-000000149265578" n="7" right="rptend">
                            <staff xml:id="staff-000000096416771" n="1">
                                <!-- kern: =7  2g;  =:|! -->
                                <layer xml:id="layer-000000107076305" n="1">
                                    <note xml:id="note-000000040161949" dur="2" fermata="above" oct="4" pname="g" accid.ges="n" />
                                </layer>
                                <!-- kern: =7  2d;y  =:|! -->
                                <layer xml:id="layer-000000047766590" n="2">
                                    <note xml:id="note-000000083706007" dur="2" oct="4" pname="d" accid.ges="n" />
                                </layer>
                            </staff>
                            <staff xml:id="staff-000000200265258" n="2">
                                <!-- kern: =7  2B;y  =:|! -->
                                <layer xml:id="layer-000000030334264" n="1">
                                    <note xml:id="note-000000015360611" dur="2" oct="3" pname="b" accid.ges="n" />
                                </layer>
                                <!-- kern: =7  2GG;  =:|! -->
                                <layer xml:id="layer-000000038264791" n="2">
                                    <note xml:id="note-000000159751870" dur="2" fermata="below" oct="2" pname="g" accid.ges="n" />
                                </layer>
                            </staff>
                        </measure>
                        <measure xml:id="measure-000000165637056">
                            <staff xml:id="staff-000000096117536" n="1">
                                <!-- kern: =:|!  *>B  4b  =8 -->
                                <layer xml:id="layer-000000085526262" n="1">
                                    <note xml:id="note-000000129095623" dur="4" oct="4" pname="b" accid.ges="n" />
                                </layer>
                                <!-- kern: =:|!  *>B  [4g  =8 -->
                                <layer xml:id="layer-000000107410558" n="2">
                                    <note xml:id="note-000000074499679" dur="4" oct="4" pname="g" accid.ges="n" />
                                </layer>
                            </staff>
                            <staff xml:id="staff-000000110235001" n="2">
                                <!-- kern: =:|!  *>B  4d  =8 -->
                                <layer xml:id="layer-000000133153878" n="1">
                                    <note xml:id="note-000000024524049" dur="4" oct="4" pname="d" accid.ges="n" />
                                </layer>
                                <!-- kern: =:|!  *>B  4GG  =8 -->
                                <layer xml:id="layer-000000073586406" n="2">
                                    <note xml:id="note-000000030901738" dur="4" oct="2" pname="g" accid.ges="n" />
                                </layer>
                            </staff>
                            <tie xml:id="tie-000000107137665" startid="note-000000074499679" endid="note-000000018341824" />
                        </measure>
                        <measure xml:id="measure-000000103968082" n="8">
                            <staff xml:id="staff-000000112518838" n="1">
                                <!-- kern: =8  4b  4cc  4dd  =9 -->
                                <layer xml:id="layer-000000115710533" n="1">
                                    <note xml:id="note-000000200497537" dur="4" oct="4" pname="b" accid.ges="n" />
                                    <note xml:id="note-000000145520574" dur="4" oct="5" pname="c" accid.ges="n" />
                                    <note xml:id="note-000000209911695" dur="4" oct="5" pname="d" accid.ges="n" />
                                </layer>
                                <!-- kern: =8  8gL]  8f#J  8eL  8f#J  [4g  =9 -->
                                <layer xml:id="layer-000000099724254" n="2">
                                    <beam xml:id="beam-000000169300539">
                                        <note xml:id="note-000000018341824" dur="8" oct="4" pname="g" accid.ges="n" />
                                        <note xml:id="note-000000212456094" dur="8" oct="4" pname="f" accid.ges="s" />
                                    </beam>
                                    <beam xml:id="beam-000000128518713">
                                        <note xml:id="note-000000074972364" dur="8" oct="4" pname="e" accid.ges="n" />
                                        <note xml:id="note-000000131877818" dur="8" oct="4" pname="f" accid.ges="s" />
                                    </beam>
                                    <note xml:id="note-000000052615057" dur="4" oct="4" pname="g" accid.ges="n" />
                                </layer>
                            </staff>
                            <staff xml:id="staff-000000030020802" n="2">
                                <!-- kern: =8  4d  4c  8BL  8AJ  =9 -->
                                <layer xml:id="layer-000000182250571" n="1">
                                    <note xml:id="note-000000129424442" dur="4" oct="4" pname="d" accid.ges="n" />
                                    <note xml:id="note-000000050415689" dur="4" oct="4" pname="c" accid.ges="n" />
                                    <beam xml:id="beam-000000154199727">
                                        <note xml:id="note-000000051548170" dur="8" oct="3" pname="b" accid.ges="n" />
                                        <note xml:id="note-000000075191670" dur="8" oct="3" pname="a" accid.ges="n" />
                                    </beam>
                                </layer>
                                <!-- kern: =8  4GG  4AA  4BB  =9 -->
                                <layer xml:id="layer-000000167034921" n="2">
                                    <note xml:id="note-000000165302292" dur="4" oct="2" pname="g" accid.ges="n" />
                                    <note xml:id="note-000000036029200" dur="4" oct="2" pname="a" accid.ges="n" />
                                    <note xml:id="note-000000167137756" dur="4" oct="2" pname="b" accid.ges="n" />
                                </layer>
                            </staff>
                            <tie xml:id="tie-000000063289336" startid="note-000000052615057" endid="note-000000180636694" />
                        </measure>
                        <measure xml:id="measure-000000175659858" n="9">
                            <staff xml:id="staff-000000051863139" n="1">
                                <!-- kern: =9  4.dd  8cc  4b  =10 -->
                                <layer xml:id="layer-000000018480368" n="1">
                                    <note xml:id="note-000000073412981" dots="1" dur="4" oct="5" pname="d" accid.ges="n" />
                                    <note xml:id="note-000000122619826" dur="8" oct="5" pname="c" accid.ges="n" />
                                    <note xml:id="note-000000146123047" dur="4" oct="4" pname="b" accid.ges="n" />
                                </layer>
                                <!-- kern: =9  8gL]  8aJ  8gL  8f#J  4g  =10 -->
                                <layer xml:id="layer-000000027753900" n="2">
                                    <beam xml:id="beam-000000026357575">
                                        <note xml:id="note-000000180636694" dur="8" oct="4" pname="g" accid.ges="n" />
                                        <note xml:id="note-000000055223154" dur="8" oct="4" pname="a" accid.ges="n" />
                                    </beam>
                                    <beam xml:id="beam-000000207870451">
                                        <note xml:id="note-000000152279740" dur="8" oct="4" pname="g" accid.ges="n" />
                                        <note xml:id="note-000000209331411" dur="8" oct="4" pname="f" accid.ges="s" />
                                    </beam>
                                    <note xml:id="note-000000010574200" dur="4" oct="4" pname="g" accid.ges="n" />
                                </layer>
                            </staff>
                            <staff xml:id="staff-000000000179982" n="2">
                                <!-- kern: =9  8BL  8cJ  4d  4d  =10 -->
                                <layer xml:id="layer-000000123688515" n="1">
                                    <beam xml:id="beam-000000068716435">
                                        <note xml:id="note-000000000422730" dur="8" oct="3" pname="b" accid.ges="n" />
                                        <note xml:id="note-000000018135478" dur="8" oct="4" pname="c" accid.ges="n" />
                                    </beam>
                                    <note xml:id="note-000000075055959" dur="4" oct="4" pname="d" accid.ges="n" />
                                    <note xml:id="note-000000033617068" dur="4" oct="4" pname="d" accid.ges="n" />
                                </layer>
                                <!-- kern: =9  4.BB  8AA  4GG  =10 -->
                                <layer xml:id="layer-000000213874479" n="2">
                                    <note xml:id="note-000000130255330" dots="1" dur="4" oct="2" pname="b" accid.ges="n" />
                                    <note xml:id="note-000000056513323" dur="8" oct="2" pname="a" accid.ges="n" />
                                    <note xml:id="note-000000202152638" dur="4" oct="2" pname="g" accid.ges="n" />
                                </layer>
                            </staff>
                        </measure>
                        <measure xml:id="measure-000000045513989" n="10">
                            <staff xml:id="staff-000000206684033" n="1">
                                <!-- kern: =10  2a;  4g  =11 -->
                                <layer xml:id="layer-000000136823032" n="1">
                                    <note xml:id="note-000000059224742" dur="2" fermata="above" oct="4" pname="a" accid.ges="n" />
                                    <note xml:id="note-000000031580174" dur="4" oct="4" pname="g" accid.ges="n" />
                                </layer>
                                <!-- kern: =10  2f#;y  4e  =11 -->
                                <layer xml:id="layer-000000124781967" n="2">
                                    <note xml:id="note-000000192739754" dur="2" oct="4" pname="f" accid.ges="s" />
                                    <note xml:id="note-000000112715704" dur="4" oct="4" pname="e" accid.ges="n" />
                                </layer>
                            </staff>
                            <staff xml:id="staff-000000183758734" n="2">
                                <!-- kern: =10  2d;y  4B  =11 -->
                                <layer xml:id="layer-000000117522193" n="1">
                                    <note xml:id="note-000000154796008" dur="2" oct="4" pname="d" accid.ges="n" />
                                    <note xml:id="note-000000194826564" dur="4" oct="3" pname="b" accid.ges="n" />
                                </layer>
                                <!-- kern: =10  2D;  [4E  =11 -->
                                <layer xml:id="layer-000000181751289" n="2">
                                    <note xml:id="note-000000113189856" dur="2" fermata="below" oct="3" pname="d" accid.ges="n" />
                                    <note xml:id="note-000000140903682" dur="4" oct="3" pname="e" accid.ges="n" />
                                </layer>
                            </staff>
                            <tie xml:id="tie-000000044249345" startid="note-000000140903682" endid="note-000000186436463" />
                        </measure>
                        <measure xml:id="measure-000000137980953" n="11">
                            <staff xml:id="staff-000000125445810" n="1">
                                <!-- kern: =11  2b  4cc  =12 -->
                                <layer xml:id="layer-000000209619947" n="1">
                                    <note xml:id="note-000000135531367" dur="2" oct="4" pname="b" accid.ges="n" />
                                    <note xml:id="note-000000039790880" dur="4" oct="5" pname="c" accid.ges="n" />
                                </layer>
                                <!-- kern: =11  4e  8f#L  8gJ  4a  =12 -->
                                <layer xml:id="layer-000000038917526" n="2">
                                    <note xml:id="note-000000178094012" dur="4" oct="4" pname="e" accid.ges="n" />
                                    <beam xml:id="beam-000000063362579">
                                        <note xml:id="note-000000212483154" dur="8" oct="4" pname="f" accid.ges="s" />
                                        <note xml:id="note-000000153822765" dur="8" oct="4" pname="g" accid.ges="n" />
                                    </beam>
                                    <note xml:id="note-000000158412222" dur="4" oct="4" pname="a" accid.ges="n" />
                                </layer>
                            </staff>
                            <staff xml:id="staff-000000183047536" n="2">
                                <!-- kern: =11  4G  4B  4e  =12 -->
                                <layer xml:id="layer-000000198749733" n="1">
                                    <note xml:id="note-000000190697987" dur="4" oct="3" pname="g" accid.ges="n" />
                                    <note xml:id="note-000000156476087" dur="4" oct="3" pname="b" accid.ges="n" />
                                    <note xml:id="note-000000085130177" dur="4" oct="4" pname="e" accid.ges="n" />
                                </layer>
                                <!-- kern: =11  4E]  4D  4C  =12 -->
                                <layer xml:id="layer-000000129279207" n="2">
                                    <note xml:id="note-000000186436463" dur="4" oct="3" pname="e" accid.ges="n" />
                                    <note xml:id="note-000000025161181" dur="4" oct="3" pname="d" accid.ges="n" />
                                    <note xml:id="note-000000044450737" dur="4" oct="3" pname="c" accid.ges="n" />
                                </layer>
                            </staff>
                        </measure>
                        <measure xml:id="measure-000000188734416" n="12">
                            <staff xml:id="staff-000000078553774" n="1">
                                <!-- kern: =12  2dd  4cc  =13 -->
                                <layer xml:id="layer-000000204895579" n="1">
                                    <note xml:id="note-000000189980053" dur="2" oct="5" pname="d" accid.ges="n" />
                                    <note xml:id="note-000000116071134" dur="4" oct="5" pname="c" accid.ges="n" />
                                </layer>
                                <!-- kern: =12  4a  4.g  8f#  =13 -->
                                <layer xml:id="layer-000000033407564" n="2">
                                    <note xml:id="note-000000128712906" dur="4" oct="4" pname="a" accid.ges="n" />
                                    <note xml:id="note-000000117540241" dots="1" dur="4" oct="4" pname="g" accid.ges="n" />
                                    <note xml:id="note-000000028635376" dur="8" oct="4" pname="f" accid.ges="s" />
                                </layer>
                            </staff>
                            <staff xml:id="staff-000000195083487" n="2">
                                <!-- kern: =12  2d  4d  =13 -->
                                <layer xml:id="layer-000000023689223" n="1">
                                    <note xml:id="note-000000001311210" dur="2" oct="4" pname="d" accid.ges="n" />
                                    <note xml:id="note-000000133185035" dur="4" oct="4" pname="d" accid.ges="n" />
                                </layer>
                                <!-- kern: =12  4.BB  8C  4D  =13 -->
                                <layer xml:id="layer-000000118686380" n="2">
                                    <note xml:id="note-000000179184049" dots="1" dur="4" oct="2" pname="b" accid.ges="n" />
                                    <note xml:id="note-000000129996716" dur="8" oct="3" pname="c" accid.ges="n" />
                                    <note xml:id="note-000000004948396" dur="4" oct="3" pname="d" accid.ges="n" />
                                </layer>
                            </staff>
                        </measure>
                        <measure xml:id="measure-000000060079475" n="13">
                            <staff xml:id="staff-000000059006264" n="1">
                                <!-- kern: =13  2.b  =14 -->
                                <layer xml:id="layer-000000114142486" n="1">
                                    <note xml:id="note-000000045623698" dots="1" dur="2" oct="4" pname="b" accid.ges="n" />
                                </layer>
                                <!-- kern: =13  2g  4f  =14 -->
                                <layer xml:id="layer-000000145835349" n="2">
                                    <note xml:id="note-000000131626002" dur="2" oct="4" pname="g" accid.ges="n" />
                                    <note xml:id="note-000000115320923" dur="4" accid="n" oct="4" pname="f" />
                                </layer>
                            </staff>
                            <staff xml:id="staff-000000010330863" n="2">
                                <!-- kern: =13  2.d  =14 -->
                                <layer xml:id="layer-000000094769847" n="1">
                                    <note xml:id="note-000000008197549" dots="1" dur="2" oct="4" pname="d" accid.ges="n" />
                                </layer>
                                <!-- kern: =13  8GGL  8AAJ  4BB  4GG  =14 -->
                                <layer xml:id="layer-000000122505951" n="2">
                                    <beam xml:id="beam-000000164946078">
                                        <note xml:id="note-000000062094714" dur="8" oct="2" pname="g" accid.ges="n" />
                                        <note xml:id="note-000000163560843" dur="8" oct="2" pname="a" accid.ges="n" />
                                    </beam>
                                    <note xml:id="note-000000188028544" dur="4" oct="2" pname="b" accid.ges="n" />
                                    <note xml:id="note-000000173560851" dur="4" oct="2" pname="g" accid.ges="n" />
                                </layer>
                            </staff>
                        </measure>
                        <measure xml:id="measure-000000110185036" n="14">
                            <staff xml:id="staff-000000028713845" n="1">
                                <!-- kern: =14  2g;  4b  =15 -->
                                <layer xml:id="layer-000000157924856" n="1">
                                    <note xml:id="note-000000168027229" dur="2" fermata="above" oct="4" pname="g" accid.ges="n" />
                                    <note xml:id="note-000000092652082" dur="4" oct="4" pname="b" accid.ges="n" />
                                </layer>
                                <!-- kern: =14  2e;y  4g  =15 -->
                                <layer xml:id="layer-000000063153095" n="2">
                                    <note xml:id="note-000000127661082" dur="2" oct="4" pname="e" accid.ges="n" />
                                    <note xml:id="note-000000048901859" dur="4" oct="4" pname="g" accid.ges="n" />
                                </layer>
                            </staff>
                            <staff xml:id="staff-000000054019114" n="2">
                                <!-- kern: =14  2c;y  4d  =15 -->
                                <layer xml:id="layer-000000051565951" n="1">
                                    <note xml:id="note-000000159298657" dur="2" oct="4" pname="c" accid.ges="n" />
                                    <note xml:id="note-000000064672206" dur="4" oct="4" pname="d" accid.ges="n" />
                                </layer>
                                <!-- kern: =14  2C;  4GG  =15 -->
                                <layer xml:id="layer-000000104307621" n="2">
                                    <note xml:id="note-000000107295185" dur="2" fermata="below" oct="3" pname="c" accid.ges="n" />
                                    <note xml:id="note-000000068157589" dur="4" oct="2" pname="g" accid.ges="n" />
                                </layer>
                            </staff>
                        </measure>
                        <measure xml:id="measure-000000056834458" n="15">
                            <staff xml:id="staff-000000010075456" n="1">
                                <!-- kern: =15  2dd  4cc  =16 -->
                                <layer xml:id="layer-000000004303608" n="1">
                                    <note xml:id="note-000000175290797" dur="2" oct="5" pname="d" accid.ges="n" />
                                    <note xml:id="note-000000194366627" dur="4" oct="5" pname="c" accid.ges="n" />
                                </layer>
                                <!-- kern: =15  4.a  8g  4f#  =16 -->
                                <layer xml:id="layer-000000182539663" n="2">
                                    <note xml:id="note-000000048988021" dots="1" dur="4" oct="4" pname="a" accid.ges="n" />
                                    <note xml:id="note-000000211187051" dur="8" oct="4" pname="g" accid.ges="n" />
                                    <note xml:id="note-000000059809521" dur="4" oct="4" pname="f" accid.ges="s" />
                                </layer>
                            </staff>
                            <staff xml:id="staff-000000116491054" n="2">
                                <!-- kern: =15  8dL  8cJ  4B  4c  =16 -->
                                <layer xml:id="layer-000000196284415" n="1">
                                    <beam xml:id="beam-000000202547874">
                                        <note xml:id="note-000000031051177" dur="8" oct="4" pname="d" accid.ges="n" />
                                        <note xml:id="note-000000038619063" dur="8" oct="4" pname="c" accid.ges="n" />
                                    </beam>
                                    <note xml:id="note-000000101043801" dur="4" oct="3" pname="b" accid.ges="n" />
                                    <note xml:id="note-000000013108805" dur="4" oct="4" pname="c" accid.ges="n" />
                                </layer>
                                <!-- kern: =15  4FF#  4GG  4AA  =16 -->
                                <layer xml:id="layer-000000202611817" n="2">
                                    <note xml:id="note-000000031997674" dur="4" oct="2" pname="f" accid.ges="s" />
                                    <note xml:id="note-000000055011793" dur="4" oct="2" pname="g" accid.ges="n" />
                                    <note xml:id="note-000000091501640" dur="4" oct="2" pname="a" accid.ges="n" />
                                </layer>
                            </staff>
                        </measure>
                        <measure xml:id="measure-000000055028905" n="16">
                            <staff xml:id="staff-000000016693680" n="1">
                                <!-- kern: =16  2b  4a  =17 -->
                                <layer xml:id="layer-000000075690773" n="1">
                                    <note xml:id="note-000000180269457" dur="2" oct="4" pname="b" accid.ges="n" />
                                    <note xml:id="note-000000118848057" dur="4" oct="4" pname="a" accid.ges="n" />
                                </layer>
                                <!-- kern: =16  2g  [4f#  =17 -->
                                <layer xml:id="layer-000000104753924" n="2">
                                    <note xml:id="note-000000092111899" dur="2" oct="4" pname="g" accid.ges="n" />
                                    <note xml:id="note-000000003733774" dur="4" oct="4" pname="f" accid.ges="s" />
                                </layer>
                            </staff>
                            <staff xml:id="staff-000000109327226" n="2">
                                <!-- kern: =16  2d  8dL  8cJ  =17 -->
                                <layer xml:id="layer-000000047020487" n="1">
                                    <note xml:id="note-000000214091277" dur="2" oct="4" pname="d" accid.ges="n" />
                                    <beam xml:id="beam-000000123253755">
                                        <note xml:id="note-000000063141111" dur="8" oct="4" pname="d" accid.ges="n" />
                                        <note xml:id="note-000000140992678" dur="8" oct="4" pname="c" accid.ges="n" />
                                    </beam>
                                </layer>
                                <!-- kern: =16  4BB  4GG  4D  =17 -->
                                <layer xml:id="layer-000000130491449" n="2">
                                    <note xml:id="note-000000159494791" dur="4" oct="2" pname="b" accid.ges="n" />
                                    <note xml:id="note-000000139872555" dur="4" oct="2" pname="g" accid.ges="n" />
                                    <note xml:id="note-000000202433559" dur="4" oct="3" pname="d" accid.ges="n" />
                                </layer>
                            </staff>
                            <tie xml:id="tie-000000169121163" startid="note-000000003733774" endid="note-000000200792819" />
                        </measure>
                        <measure xml:id="measure-000000042492574" n="17">
                            <staff xml:id="staff-000000158095736" n="1">
                                <!-- kern: =17  4.g  8a  4b  =18 -->
                                <layer xml:id="layer-000000117281594" n="1">
                                    <note xml:id="note-000000191259141" dots="1" dur="4" oct="4" pname="g" accid.ges="n" />
                                    <note xml:id="note-000000138866680" dur="8" oct="4" pname="a" accid.ges="n" />
                                    <note xml:id="note-000000047066561" dur="4" oct="4" pname="b" accid.ges="n" />
                                </layer>
                                <!-- kern: =17  8f#L]  8eJ  8eL  8f#J  4g  =18 -->
                                <layer xml:id="layer-000000129476982" n="2">
                                    <beam xml:id="beam-000000074465372">
                                        <note xml:id="note-000000200792819" dur="8" oct="4" pname="f" accid.ges="s" />
                                        <note xml:id="note-000000010039775" dur="8" oct="4" pname="e" accid.ges="n" />
                                    </beam>
                                    <beam xml:id="beam-000000161037177">
                                        <note xml:id="note-000000078203609" dur="8" oct="4" pname="e" accid.ges="n" />
                                        <note xml:id="note-000000108066179" dur="8" oct="4" pname="f" accid.ges="s" />
                                    </beam>
                                    <note xml:id="note-000000141361950" dur="4" oct="4" pname="g" accid.ges="n" />
                                </layer>
                            </staff>
                            <staff xml:id="staff-000000033521880" n="2">
                                <!-- kern: =17  4B  4c  4d  =18 -->
                                <layer xml:id="layer-000000109134973" n="1">
                                    <note xml:id="note-000000065723434" dur="4" oct="3" pname="b" accid.ges="n" />
                                    <note xml:id="note-000000162925670" dur="4" oct="4" pname="c" accid.ges="n" />
                                    <note xml:id="note-000000035339081" dur="4" oct="4" pname="d" accid.ges="n" />
                                </layer>
                                <!-- kern: =17  8EL  8D  8C  8BB  8AA  8GGJ  =18 -->
                                <layer xml:id="layer-000000164705971" n="2">
                                    <beam xml:id="beam-000000106842017">
                                        <note xml:id="note-000000182710865" dur="8" oct="3" pname="e" accid.ges="n" />
                                        <note xml:id="note-000000134654655" dur="8" oct="3" pname="d" accid.ges="n" />
                                        <note xml:id="note-000000122524418" dur="8" oct="3" pname="c" accid.ges="n" />
                                        <note xml:id="note-000000045832621" dur="8" oct="2" pname="b" accid.ges="n" />
                                        <note xml:id="note-000000006480329" dur="8" oct="2" pname="a" accid.ges="n" />
                                        <note xml:id="note-000000037477003" dur="8" oct="2" pname="g" accid.ges="n" />
                                    </beam>
                                </layer>
                            </staff>
                        </measure>
                        <measure xml:id="measure-000000019045840" n="18">
                            <staff xml:id="staff-000000030646551" n="1">
                                <!-- kern: =18  2a;  4b  =19 -->
                                <layer xml:id="layer-000000081576397" n="1">
                                    <note xml:id="note-000000100944134" dur="2" fermata="above" oct="4" pname="a" accid.ges="n" />
                                    <note xml:id="note-000000055982369" dur="4" oct="4" pname="b" accid.ges="n" />
                                </layer>
                                <!-- kern: =18  2f#;y  4g  =19 -->
                                <layer xml:id="layer-000000083096755" n="2">
                                    <note xml:id="note-000000098547321" dur="2" oct="4" pname="f" accid.ges="s" />
                                    <note xml:id="note-000000145445564" dur="4" oct="4" pname="g" accid.ges="n" />
                                </layer>
                            </staff>
                            <staff xml:id="staff-000000110017552" n="2">
                                <!-- kern: =18  2d;y  4d  =19 -->
                                <layer xml:id="layer-000000022972213" n="1">
                                    <note xml:id="note-000000191180928" dur="2" oct="4" pname="d" accid.ges="n" />
                                    <note xml:id="note-000000112834338" dur="4" oct="4" pname="d" accid.ges="n" />
                                </layer>
                                <!-- kern: =18  2D;  [4G  =19 -->
                                <layer xml:id="layer-000000178671910" n="2">
                                    <note xml:id="note-000000112417854" dur="2" fermata="below" oct="3" pname="d" accid.ges="n" />
                                    <note xml:id="note-000000050761228" dur="4" oct="3" pname="g" accid.ges="n" />
                                </layer>
                            </staff>
                            <tie xml:id="tie-000000167511261" startid="note-000000050761228" endid="note-000000140432679" />
                        </measure>
                        <measure xml:id="measure-000000163456088" n="19">
                            <staff xml:id="staff-000000003845274" n="1">
                                <!-- kern: =19  2dd  4cc  =20 -->
                                <layer xml:id="layer-000000090182836" n="1">
                                    <note xml:id="note-000000008981725" dur="2" oct="5" pname="d" accid.ges="n" />
                                    <note xml:id="note-000000202511820" dur="4" oct="5" pname="c" accid.ges="n" />
                                </layer>
                                <!-- kern: =19  2a  8gL  8f#J  =20 -->
                                <layer xml:id="layer-000000069335013" n="2">
                                    <note xml:id="note-000000088939990" dur="2" oct="4" pname="a" accid.ges="n" />
                                    <beam xml:id="beam-000000165796979">
                                        <note xml:id="note-000000189800793" dur="8" oct="4" pname="g" accid.ges="n" />
                                        <note xml:id="note-000000109723739" dur="8" oct="4" pname="f" accid.ges="s" />
                                    </beam>
                                </layer>
                            </staff>
                            <staff xml:id="staff-000000203024153" n="2">
                                <!-- kern: =19  2d  4e  =20 -->
                                <layer xml:id="layer-000000082678736" n="1">
                                    <note xml:id="note-000000159599704" dur="2" oct="4" pname="d" accid.ges="n" />
                                    <note xml:id="note-000000185156747" dur="4" oct="4" pname="e" accid.ges="n" />
                                </layer>
                                <!-- kern: =19  4G]  4F#  [4E  =20 -->
                                <layer xml:id="layer-000000010907406" n="2">
                                    <note xml:id="note-000000140432679" dur="4" oct="3" pname="g" accid.ges="n" />
                                    <note xml:id="note-000000010709132" dur="4" oct="3" pname="f" accid.ges="s" />
                                    <note xml:id="note-000000029265351" dur="4" oct="3" pname="e" accid.ges="n" />
                                </layer>
                            </staff>
                            <tie xml:id="tie-000000181359192" startid="note-000000029265351" endid="note-000000171980698" />
                        </measure>
                        <measure xml:id="measure-000000088999094" n="20">
                            <staff xml:id="staff-000000091409714" n="1">
                                <!-- kern: =20  4b  2a  =21 -->
                                <layer xml:id="layer-000000044381990" n="1">
                                    <note xml:id="note-000000107045411" dur="4" oct="4" pname="b" accid.ges="n" />
                                    <note xml:id="note-000000165173265" dur="2" oct="4" pname="a" accid.ges="n" />
                                </layer>
                                <!-- kern: =20  2g  4f#  =21 -->
                                <layer xml:id="layer-000000014967823" n="2">
                                    <note xml:id="note-000000093877862" dur="2" oct="4" pname="g" accid.ges="n" />
                                    <note xml:id="note-000000048994544" dur="4" oct="4" pname="f" accid.ges="s" />
                                </layer>
                            </staff>
                            <staff xml:id="staff-000000013265495" n="2">
                                <!-- kern: =20  2e  8dL  8cJ  =21 -->
                                <layer xml:id="layer-000000106079151" n="1">
                                    <note xml:id="note-000000031378882" dur="2" oct="4" pname="e" accid.ges="n" />
                                    <beam xml:id="beam-000000177642839">
                                        <note xml:id="note-000000211429013" dur="8" oct="4" pname="d" accid.ges="n" />
                                        <note xml:id="note-000000046240884" dur="8" oct="4" pname="c" accid.ges="n" />
                                    </beam>
                                </layer>
                                <!-- kern: =20  8EL]  8DJ  4C  4D  =21 -->
                                <layer xml:id="layer-000000210958945" n="2">
                                    <beam xml:id="beam-000000091495821">
                                        <note xml:id="note-000000171980698" dur="8" oct="3" pname="e" accid.ges="n" />
                                        <note xml:id="note-000000180403118" dur="8" oct="3" pname="d" accid.ges="n" />
                                    </beam>
                                    <note xml:id="note-000000003048068" dur="4" oct="3" pname="c" accid.ges="n" />
                                    <note xml:id="note-000000118781523" dur="4" oct="3" pname="d" accid.ges="n" />
                                </layer>
                            </staff>
                        </measure>
                        <measure xml:id="measure-000000060258809" n="21" right="end">
                            <staff xml:id="staff-000000057748732" n="1">
                                <!-- kern: =21  2g;  == -->
                                <layer xml:id="layer-000000173050063" n="1">
                                    <note xml:id="note-000000115317473" dur="2" fermata="above" oct="4" pname="g" accid.ges="n" />
                                </layer>
                                <!-- kern: =21  2d;y  == -->
                                <layer xml:id="layer-000000036790739" n="2">
                                    <note xml:id="note-000000081410082" dur="2" oct="4" pname="d" accid.ges="n" />
                                </layer>
                            </staff>
                            <staff xml:id="staff-000000135092090" n="2">
                                <!-- kern: =21  2B;y  == -->
                                <layer xml:id="layer-000000097423393" n="1">
                                    <note xml:id="note-000000153435358" dur="2" oct="3" pname="b" accid.ges="n" />
                                </layer>
                                <!-- kern: =21  2GG;  == -->
                                <layer xml:id="layer-000000089713714" n="2">
                                    <note xml:id="note-000000070134404" dur="2" fermata="below" oct="2" pname="g" accid.ges="n" />
                                </layer>
                            </staff>
                        </measure>
                    </section>
                </score>
            </mdiv>
        </body>
    </music>
</mei>
lpugin commented 8 years ago

Probably outside the importer. You can do it here https://github.com/rism-ch/verovio/blob/develop-humdrum/src/toolkit.cpp#L288

What you need to do here is to have a first HumdrumInput object that already imports the data string in this block and then replace it with the MEI output of the humdrum import. input needs to be an MEIInput. Makes sense?

lpugin commented 8 years ago

Regarding the handling of choice, the plan is to select the first child by default unless an xpath query matches another one. This is somehow different than with app and rdg since there the behavior is to select the lem by default (if any, and whatever child it is), and if none the first rdg. But because the content of a choice is much less predicable I do not think we can have something similar here. So the best practice is probably to have reg as first child if you prefer to have the regularized version shown without any parameter to be provided.

Bach choral:

Currently I calculate the two layouts in the Humdrum format and then convert separately into MEI.

I don't think there is a straightforward way to have both represented in MEI. Am I wrong?

craigsapp commented 8 years ago

Regarding the handling of choice, the plan is to select the first child by default unless an xpath query matches another one.

That sounds good.

lpugin commented 8 years ago

@pe-ro

For the same reasons, I'm also reluctant to allow <orig> (and such) to contain <scoreDef>

How different is this from app and rdg, which can contain scoreDef? I can see many cases where regularizing a scoreDef could be useful. For example

<choice>
  <reg>
     <scoreDef meter.sym="cut"/>
  </reg>
  <orig>
     <scoreDef meter.sym="common"/>
  </orig>
</choice>
craigsapp commented 8 years ago

I'll close this issue because I fixed XPath processing of Humdrum input. You can fix PAE, DARMS, and MusicXML if they ever have the need for XPath processing...

craigsapp commented 8 years ago

Why are there two <reg>s?

<choice>
  <reg>
     <scoreDef meter.sym="cut"/>
  </reg>
  <reg>
     <scoreDef meter.sym="common"/>
  </reg>
</choice>
lpugin commented 8 years ago

I fixed my comment

pe-ro commented 8 years ago

@lpugin

Currently I calculate the two layouts in the Humdrum format and then convert separately into MEI.

I don't think there is a straightforward way to have both represented in MEI. Am I wrong?

You're correct -- there's no way to represent both layouts since this would make the markup non-declarative.

pe-ro commented 8 years ago

@craigsapp

Why are there two <reg>s?

Because there are two alternative regularizations.

pe-ro commented 8 years ago

@lpugin

For the same reasons, I'm also reluctant to allow (and such) to contain

How different is this from app and rdg, which can contain scoreDef? I can see many cases where regularizing a scoreDef could be useful. For example

<choice>
 <reg>
    <scoreDef meter.sym="cut"/>
 </reg>
 <orig>
    <scoreDef meter.sym="common"/>
 </orig>
</choice>

I said I was reluctant, not opposed. :-) I agree that allowing this might be useful in some cases, but extra caution is required, since opening this door will admit the opportunity for a lot more and a lot more serious abuse. Errors/ambiguity in <scoreDef> can have more serious consequences than elsewhere. Again, I'm not against the idea. I'd just like to see the idea more fully investigated. Can you provide use cases?

lpugin commented 8 years ago

I understand your worries, and I am perfectly aware that this can yield quite complex cases.

Use cases: I think the one with a regularized time signature is a good one. How would you encode it otherwise? You would need to do each for each staffDef separately within the scoreDef. So instead of

<choice>
 <reg>
    <scoreDef meter.sym="cut"/>
 </reg>
 <orig>
    <scoreDef meter.sym="common"/>
 </orig>
</choice>

Would you do?

<scoreDef>
  <staffGrp>
    <choice>
     <reg>
        <staffDef n="1" meter.sym="cut"/>
     </reg>
     <orig>
        <staffDef n="1" meter.sym="common"/>
     </orig>
    </choice>
    <choice>
     <reg>
        <staffDef n="2" meter.sym="cut"/>
     </reg>
     <orig>
        <staffDef n="2" meter.sym="common"/>
     </orig>
    </choice>
    <choice>
     <reg>
        <staffDef n="3" meter.sym="cut"/>
     </reg>
     <orig>
        <staffDef n="3" meter.sym="common"/>
     </orig>
    </choice>
  </staffGrp>
</scoreDef>

Another typical use case would be regularizing key signature, for example if notated in Dorian with no key accidental for a piece in D-minor.

pe-ro commented 8 years ago

@lpugin:

I would --

  1. Use <scoreDef> for information common to all the staff definitions: @meter.count, meter.unit, @lines.
  2. Group the common time and the cut time "redeclarations" in <orig> and <reg>, respectively.
<score xmlns="http://www.music-encoding.org/ns/mei">
  <scoreDef>
    <staffGrp>
      <staffDef meter.count="2" meter.unit="4" n="1" lines="5"/>
      <staffDef meter.count="2" meter.unit="4" n="2" lines="5"/>
      <staffDef meter.count="2" meter.unit="4" n="3" lines="5"/>
    </staffGrp>
  </scoreDef>
  <section>
    <choice>
      <orig>
        <staffDef n="1" meter.sym="common"/>
        <staffDef n="2" meter.sym="common"/>
        <staffDef n="3" meter.sym="common"/>
      </orig>
      <reg>
        <staffDef n="1" meter.sym="cut"/>
        <staffDef n="2" meter.sym="cut"/>
        <staffDef n="3" meter.sym="cut"/>
      </reg>
    </choice>
  </section>
</score>
pe-ro commented 8 years ago

Or in 2 <reg> elements when there is no "original" --

<choice>
  <reg>
    <staffDef n="1" meter.sym="common"/>
    <staffDef n="2" meter.sym="common"/>
    <staffDef n="3" meter.sym="common"/>
  </reg>
  <reg>
    <staffDef n="1" meter.sym="cut"/>
    <staffDef n="2" meter.sym="cut"/>
    <staffDef n="3" meter.sym="cut"/>
  </reg>
</choice>
lpugin commented 8 years ago

OK, this looks better but I am still not convinced because in such a case I would put the common information in the scoreDef and not repeat it in each staffDef in the scoreDef.

Another question: would your proposal be included in a scoreDef/staffGrp or not?

lpugin commented 8 years ago

@pe-ro sorry, forget my question, I have the answer from your previous comment.

kepper commented 8 years ago

Hi all,

the encoding below looks extremely dangerous to me. If we take a decision (and remove the choice), we end up with directly inside . Since this is CMN, I'd like to argue against this (and I believe we had reached a consensus on this before…). In CMN, everything outside of should be wrapped in a , and inside , only s are permitted.

I'm well aware that this may result in problems with grouping staves (most often, people will only use one single for everything in later s), but that's a different problem which we need to address anyway (probably through a clarification in the Guidelines).

Just my 2c, jo

Am 13.07.2016 um 17:05 schrieb pe-ro notifications@github.com:

@lpugin:

I would --

• Use for information common to all the staff definitions: @meter.count, meter.unit, @lines. • Group the common time and the cut time "redeclarations" in and , respectively.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or mute the thread.
pe-ro commented 8 years ago

@kepper:

There was no suggestion that <staffDef> be allowed to occur directly within <choice>. <choice> groups alternative encodings -- it should only ever be allowed to contain elements that mark an editorial intervention.

Requiring the use of <staffGrp> to effect changes to a single staff creates a problem -- what's supposed to happen to the staves not mentioned in the new <staffGrp>? For me, it makes sense to use <staffGrp> to mark changes in the number, order and grouping of staves and <staffDef> to signal changes in the individual staves.

Since <choice> and <staffDef> are currently allowed between <measure> elements, it's a small step to allow <staffDef> in the children of <choice>.

kepper commented 8 years ago

Sorry, I wasn't specific enough. I meant <staffDef> somewhere inside <choice>, so effectively in one if its childs. We're on the same page here. I think it may cause quite a bit of grief when <staffDef> is directly allowed between measures. For instance, @lpugin pointed out (verbally…) that our musicxml2mei.xsl creates inconsistent markup: If a clef changes at the beginning of a measure, a <staffDef> preceding that measure is used. If it changes somewhere inside the measure, a <clef> is used instead. This is not a direct consequence of the situation described here (and should be addressed in a separate ticket for the xsl), but the current situation misguides to such encodings. I believe we offer too much freedom here, allowing people to mix <scoreDef> and plain <staffDef>s as they like. This makes the encodings less predictable and thus harder to process. Since I'm sure we don't need this freedom, I'd like to take it away and be more specific about it. Since this is heading off from the original topic of this issue, I created a new one at https://github.com/music-encoding/music-encoding/issues/324. Please follow over there for a discussion of this new topic.