verovio
verovio copied to clipboard
Placement of note-level slurs
Here is an example of slurs attached to notes rather than the chord that need improved placement:
![Screen Shot 2022-04-20 at 7 03 47 AM](https://user-images.githubusercontent.com/3487289/164249154-1ae0da00-3d1a-4a89-9991-124ba74ceb0c.png)
Click to view MEI data for above example
<?xml version="1.0" encoding="UTF-8"?>
<?xml-model href="https://music-encoding.org/schema/dev/mei-all.rng" type="application/xml" schematypens="http://relaxng.org/ns/structure/1.0"?>
<?xml-model href="https://music-encoding.org/schema/dev/mei-all.rng" type="application/xml" schematypens="http://purl.oclc.org/dsdl/schematron"?>
<mei xmlns="http://www.music-encoding.org/ns/mei" meiversion="5.0.0-dev">
<meiHead>
<fileDesc>
<titleStmt>
<title>Piano Sonata no. 1 in F minor</title>
</titleStmt>
<pubStmt>
<respStmt>
<persName xml:id="persname-L38" analog="humdrum:EED" role="editor">Craig Stuart Sapp</persName>
</respStmt>
</pubStmt>
</fileDesc>
<encodingDesc>
<appInfo>
<application isodate="2022-04-20T07:01:55" version="3.10.0-dev-67ca6d0-dirty">
<name>Verovio</name>
<p>Transcoded from Humdrum</p>
</application>
</appInfo>
<projectDesc>
<p>Encoded by: Craig Stuart Sapp</p>
<p>Version: 2022/04/20</p>
</projectDesc>
</encodingDesc>
<workList>
<work>
<title xml:id="title-L3" analog="humdrum:OTL" type="main">Piano Sonata no. 1 in F minor</title>
<composer analog="humdrum:COM" xml:id="person-L1">Beethoven, Ludwig van</composer>
</work>
</workList>
</meiHead>
<music>
<body>
<mdiv xml:id="m1lyri2">
<score xml:id="sq94u64">
<scoreDef xml:id="s2ditgs" midi.bpm="40.000000">
<pgHead xml:id="pn2q97o">
<rend xml:id="rqi673y" halign="center" valign="middle">
<rend xml:id="rowxhx9" fontsize="large">Piano Sonata no. 1 in F minor</rend>
<lb xml:id="lkwq20t" />Â
<lb xml:id="lyrss1y" />Â </rend>
<rend xml:id="rws34g3" halign="right" valign="bottom" fontsize="small">Ludwig van Beethoven</rend>
<rend xml:id="rscx9ip" halign="right" valign="bottom" fontsize="small">1770–1827</rend>
</pgHead>
<staffGrp xml:id="sdh4gro" bar.thru="true" symbol="brace">
<staffDef xml:id="seflzq8" n="1" lines="5">
<clef xml:id="clef-L9F2" shape="G" line="2" />
<keySig xml:id="keysig-L10F2" pname="f" mode="major" sig="1f" />
<meterSig xml:id="metersig-L12F2" count="3" unit="4" />
</staffDef>
<staffDef xml:id="sggg6kc" n="2" lines="5">
<clef xml:id="clef-L9F1" shape="F" line="4" />
<keySig xml:id="keysig-L10F1" pname="f" mode="major" sig="1f" />
<meterSig xml:id="metersig-L12F1" count="3" unit="4" />
</staffDef>
</staffGrp>
</scoreDef>
<section xml:id="section-L8F1">
<measure xml:id="measure-L1" n="18">
<staff xml:id="s6jtt7a" n="1">
<layer xml:id="layer-L8F2N1" n="1">
<chord xml:id="chord-L15F2" type="placed" dur="4" stem.dir="up">
<note xml:id="note-L15F2S1" oct="5" pname="d" accid.ges="n" />
<note xml:id="note-L15F2S2" oct="6" pname="d" accid.ges="n" />
</chord>
<chord xml:id="chord-L19F2" type="placed" dur="8" stem.dir="up">
<note xml:id="note-L19F2S1" oct="5" pname="c" accid="s" />
<note xml:id="note-L19F2S2" oct="6" pname="c" accid="s" />
</chord>
<rest xml:id="rest-L21F2" dur="8" ploc="c" oloc="6" />
<beam xml:id="beam-L23F2-L26F2">
<note xml:id="note-L23F2" dots="1" dur="8" oct="6" pname="c" accid.ges="s" />
<note xml:id="note-L26F2" dur="16" oct="6" pname="d" stem.dir="up" accid.ges="n" />
</beam>
</layer>
</staff>
<staff xml:id="s75rnbe" n="2">
<layer xml:id="layer-L8F1N1" n="1">
<rest xml:id="rest-L15F1" dur="16" staff="1" ploc="e" oloc="4" />
<beam xml:id="beam-L16F1-L18F1" beam.with="above">
<chord xml:id="chord-L16F1" dur="16" staff="1" stem.dir="down">
<note xml:id="note-L16F1S1" oct="4" pname="e" accid.ges="n" />
<note xml:id="note-L16F1S2" oct="4" pname="g" accid.ges="n" />
</chord>
<chord xml:id="chord-L17F1" dur="16" staff="1" stem.dir="down">
<note xml:id="note-L17F1S1" oct="4" pname="f" accid.ges="n" />
<note xml:id="note-L17F1S2" oct="4" pname="a" accid.ges="n" />
</chord>
<chord xml:id="chord-L18F1" dur="16" staff="1" stem.dir="down">
<note xml:id="note-L18F1S1" oct="4" pname="g" accid.ges="n" />
<note xml:id="note-L18F1S2" oct="4" pname="b" accid.ges="f" />
</chord>
</beam>
<rest xml:id="rest-L19F1" dur="16" staff="1" ploc="e" oloc="4" />
<beam xml:id="beam-L20F1-L22F1" beam.with="above">
<chord xml:id="chord-L20F1" dur="16" staff="1" stem.dir="down">
<note xml:id="note-L20F1S1" oct="4" pname="g" accid.ges="n" />
<note xml:id="note-L20F1S2" oct="4" pname="b" accid.ges="f" />
</chord>
<chord xml:id="chord-L21F1" dur="16" staff="1" stem.dir="down">
<note xml:id="note-L21F1S1" oct="4" pname="f" accid="s" />
<note xml:id="note-L21F1S2" oct="4" pname="a" accid.ges="n" />
</chord>
<chord xml:id="chord-L22F1" dur="16" staff="1" stem.dir="down">
<note xml:id="note-L22F1S1" oct="4" pname="g" accid.ges="n" />
<note xml:id="note-L22F1S2" oct="4" pname="b" accid.ges="f" />
</chord>
</beam>
<rest xml:id="rest-L23F1" dur="16" staff="1" ploc="g" oloc="4" />
<beam xml:id="beam-L24F1-L26F1" beam.with="above">
<chord xml:id="chord-L24F1" dur="16" staff="1" stem.dir="down">
<note xml:id="note-L24F1S1" oct="4" pname="g" accid.ges="n" />
<note xml:id="note-L24F1S2" oct="4" pname="b" accid.ges="f" />
</chord>
<chord xml:id="chord-L25F1" dur="16" staff="1" stem.dir="down">
<note xml:id="note-L25F1S1" oct="4" pname="f" accid="n" />
<note xml:id="note-L25F1S2" oct="4" pname="a" accid.ges="n" />
</chord>
<chord xml:id="chord-L26F1" dur="16" staff="1" stem.dir="down">
<note xml:id="note-L26F1S1" oct="4" pname="e" accid.ges="n" />
<note xml:id="note-L26F1S2" oct="4" pname="g" accid.ges="n" />
</chord>
</beam>
</layer>
</staff>
<slur xml:id="slur-L15F2N2-L19F2N1" type="placed" staff="1" startid="#note-L15F2S1" endid="#note-L19F2S1" curvedir="above" />
<slur xml:id="slur-L15F2N1-L19F2N2" type="placed" staff="1" startid="#note-L15F2S1" endid="#note-L19F2S1" curvedir="above" />
<turn xml:id="turn-L23F2" staff="1" tstamp="3.375000" accidlower="n" form="upper" />
<slur xml:id="slur-L16F1-L18F1" type="placed" staff="1" startid="#chord-L16F1" endid="#chord-L18F1" curvedir="above" />
<slur xml:id="slur-L20F1-L22F1" type="placed" staff="1" startid="#chord-L20F1" endid="#chord-L22F1" curvedir="above" />
<slur xml:id="slur-L24F1-L26F1" type="placed" staff="1" startid="#chord-L24F1" endid="#chord-L26F1" curvedir="above" />
</measure>
</section>
</score>
</mdiv>
</body>
</music>
</mei>
Expected rendering:
![Screen Shot 2022-04-20 at 7 08 13 AM](https://user-images.githubusercontent.com/3487289/164249289-b780944f-ccdf-4b64-87fe-06998aba6d62.png)
The main difference is that the two slurs attached to notes in the D-C#
octaves are both above the chords. Instead, one of the slurs should be attached to the lower two notes. Both slurs on this chord are attached to notes rather than the chords:
<slur xml:id="slur-L15F2N2-L19F2N1" type="placed" staff="1" startid="#note-L15F2S1" endid="#note-L19F2S1" curvedir="above" />
<slur xml:id="slur-L15F2N1-L19F2N2" type="placed" staff="1" startid="#note-L15F2S1" endid="#note-L19F2S1" curvedir="above" />
A secondary issue for this measure would be to figure out how to get the turn under the beam...
From a musicology point of view what is the benefit of having several slurs between two chords? Gould in Behind Bars, p 114 explicitly advises against this:
From a development point of view the simplification of starting/ending slurs from chord notes on top/bottom of the whole chord avoids a lot of trouble that we would have to deal with otherwise:
- If the slur ends near its target note, it should not intersect other notes in the chord.
- It should also not intersect accidentals of other notes in the chord. In the example at hand you can see that it is pretty hard to find a path for the lower slur that does not hit any accidentals in the end chord.
Thus I would consider this issue very low priority.
A different idea would be to render only one slur if several slurs are encoded between chords with the same curve direction and display a warning in this case.
I am in no hurry 😉 , but eventually it should be implemented.
From a musicological point of view it is to encode a diplomatic edition of a composition. This in turn can be used to create a critical edition of the work, which compares how the musical content changes between different editions.
Gould is not Gospel, but rather best practice—and best practice in terms of modern editions. 19th century editions and earlier will do things that are not common and/or frowned upon in modern scores.
Here is a survey of that measure in various editions (beethoven piano sonata no. 1 mvmt 2, m. 18), starting with the first edition (printed in 1796):
(probably one slur -- with another slur on the 16th notes)
https://s9.imslp.org/files/imglnks/usimg/6/60/IMSLP51970-PMLP01446-Beethoven_-Piano_Sonata_No.1(Artaria).pdf
London: Monzani & Hill, n.d.[1812]
(no slurs on those two chords)
https://s9.imslp.org/files/imglnks/usimg/d/d4/IMSLP580376-PMLP1446-beethoven_Op.2_No.11111.pdf
London: Royal Harmonic Institution, n.d.[1820]. Plate 387
(no slurs, probably copied from previous edition)
https://s9.imslp.org/files/imglnks/usimg/d/da/IMSLP328877-PMLP01446-b25669825.pdf
Hamburg:Â August Cranz, n.d.(ca.1821).
(one slur)
https://s9.imslp.org/files/imglnks/usimg/4/43/IMSLP333393-PMLP01446-b1027215x.pdf
Stuttgart: Eduard Hallberger, n.d.[1860]. Plate B. I.
(two slurs)
https://s9.imslp.org/files/imglnks/usimg/d/d1/IMSLP90564-PMLP01446-Beethoven,_Lv,_Piano_Sonata_No.1,_Op.2_No.1,_Moscheles.pdf
Ludwig van Beethovens Werke, Serie 16:
Sonaten für das Pianoforte, Nr.124
Leipzig: Breitkopf und Härtel, n.d.[1862]. Plate B.124.
(first complete academic version of Beethoven's music)
(two slurs)
https://s9.imslp.org/files/imglnks/usimg/4/45/IMSLP77992-PMLP01446-Beethoven_Werke_Breitkopf_Kalmus_Band_20_B_124_Op_2_scan.pdf
Stuttgart: J.G. Cotta, n.d.(ca.1875). Plate 32.
(two slurs)
https://s9.imslp.org/files/imglnks/usimg/a/a9/IMSLP03062-Beethoven-PianoSonataNo1Lebert.pdf
Sonata Album, Book II, No.24 (pp.124-42)
New York: G. Schirmer, No.340, 1896. Plate 12589.
(two slurs)
https://s9.imslp.org/files/imglnks/usimg/d/d9/IMSLP472523-PMLP01446-134_IMSLP363246-PMLP586489-sonataalbumtwent00lebe_bw.pdf
Sonaten für Pianoforte solo, Bd.1
Leipzig: C.F. Peters, n.d.(ca.1910). Plate 9452.
(no slurs)
https://s9.imslp.org/files/imglnks/usimg/9/94/IMSLP27752-PMLP01446-Beethoven_Sonaten_Piano_Band1_Peters_No1_Op2.pdf
Vienna: Universal Edition, 1918-21.
(two slurs)
https://s9.imslp.org/files/imglnks/usimg/8/8e/IMSLP00001-Beethoven,L.v.-_Piano_Sonata_01.pdf
Klaviersonaten, Band I
Berlin: Ullstein, n.d.(ca.1918).
(two slurs)
https://s9.imslp.org/files/imglnks/usimg/3/36/IMSLP03796-Beethoven_-Piano_Sonatas_Lamond-_1.pdf
Sonate per pianoforte, Vol.1 (pp.1-21)
Milan: Edizione Ricordi, 1919. Plate E.R. 1.
(two slurs)
https://s9.imslp.org/files/imglnks/usimg/1/17/IMSLP66279-PMLP01446-Opus_2_no_1.pdf
Sonaten für Klavier zu zwei Händen, Bd.1
Leipzig: C.F. Peters, n.d.(ca.1920). Plate 10543, 10555-56
(no slurs)
https://s9.imslp.org/files/imglnks/usimg/5/59/IMSLP05524-Btsn2_1.pdf
Milan: Curci, 1949. Plate E. 4279 C..
(no slurs)
https://imslp.hk/files/imglnks/euimg/0/01/IMSLP500942-PMLP1446-Beethoven_(ed.Schnabel).2_no1.pdf
Bronislaw von Pozniak (1877-1953)
Publisher Info. Halle: Mitteldeutscher Verlag, n.d. Plate K 601
(one slur)
https://s9.imslp.org/files/imglnks/usimg/a/a1/IMSLP639762-PMLP1446-Beethoven_Sonata_op.2,1_ed._v._Pozniak.pdf
Budapest: Editio Musica Budapest, 1959. Plate Z.2346.
(one slur)
https://petruccimusiclibrary.ca/files/imglnks/caimg/0/0a/IMSLP590015-PMLP1446-Beethoven.op2no1.sonata.no1.weiner.pdf
Klaviersonaten, Band I (pp.2-17)
Munich-Duisburg: G. Henle Verlag, 1971.
(one slur)
https://imslp.hk/files/imglnks/euimg/f/fd/IMSLP529977-PMLP01446-beethoven_piano-sonata-op2-no1_henle-pp2-17.pdf
Klaviersonaten, Band I (pp.6-21)
Munich: G. Henle Verlag, No.HN1032, 1976.
(has one slur, as expected to match the first edition which may be the source of the second slur in later editions)
https://imslp.hk/linkhandler.php?path=/imglnks/euimg/6/63/IMSLP621777-PMLP01446-E621557_4-19-beethoven--sonatas-vol1.pdf
Source: https://imslp.org/wiki/Piano_Sonata_No.1,Op.2_No.1%28Beethoven,_Ludwig_van%29
Notice that more recent editions start to prefer the single slur version.
The original source for the first example in the issue is from Durand c1911 -- and French editions have several conventions that are not common in other countries (such as French beaming).
@craigsapp OK thanks for this detailed overview.
Here is a related example (which has been discussed at some point previously and may be an open issue):
![Screen Shot 2022-04-25 at 3 19 25 PM](https://user-images.githubusercontent.com/3487289/165184410-7df0cbb2-883d-48cb-a11e-cc8fee4291f8.png)
Click to view MEI data for above example
<?xml version="1.0" encoding="UTF-8"?>
<?xml-model href="https://music-encoding.org/schema/dev/mei-all.rng" type="application/xml" schematypens="http://relaxng.org/ns/structure/1.0"?>
<?xml-model href="https://music-encoding.org/schema/dev/mei-all.rng" type="application/xml" schematypens="http://purl.oclc.org/dsdl/schematron"?>
<mei xmlns="http://www.music-encoding.org/ns/mei" meiversion="5.0.0-dev">
<meiHead>
<fileDesc>
<titleStmt>
<title />
</titleStmt>
<pubStmt />
</fileDesc>
<encodingDesc>
<appInfo>
<application isodate="2022-04-25T15:19:27" version="3.10.0-dev-3dbda78">
<name>Verovio</name>
<p>Transcoded from Humdrum</p>
</application>
</appInfo>
</encodingDesc>
<workList>
<work>
<title />
</work>
</workList>
<extMeta>
<frames xmlns="http://www.humdrum.org/ns/humxml">
<metaFrame n="14" token="!!!RDF**kern: < = below" xml:id="L15">
<frameInfo>
<startTime float="3" />
<frameType>reference</frameType>
<referenceKey>RDF**kern</referenceKey>
<referenceValue>< = below</referenceValue>
</frameInfo>
</metaFrame>
<metaFrame n="15" token="!!!RDF**kern: > = above" xml:id="L16">
<frameInfo>
<startTime float="3" />
<frameType>reference</frameType>
<referenceKey>RDF**kern</referenceKey>
<referenceValue>> = above</referenceValue>
</frameInfo>
</metaFrame>
</frames>
</extMeta>
</meiHead>
<music>
<body>
<mdiv xml:id="mxedzbo">
<score xml:id="scmozjo">
<scoreDef xml:id="slzbhah">
<staffGrp xml:id="se8tzj3">
<staffDef xml:id="s7qldcu" n="1" lines="5">
<clef xml:id="clef-L4F1" shape="G" line="2" />
<keySig xml:id="keysig-L5F1" pname="c" mode="major" sig="0" />
<meterSig xml:id="metersig-L7F1" count="3" unit="4" />
</staffDef>
</staffGrp>
</scoreDef>
<section xml:id="section-L1F1">
<measure xml:id="measure-L1">
<staff xml:id="skdwrh9" n="1">
<layer xml:id="layer-L1F1N1" n="1">
<note xml:id="note-L9F1" type="placed" dur="8" oct="4" pname="b" grace="unacc" stem.dir="up">
<accid xml:id="accid-L9F1" accid="n" func="caution" />
</note>
<beam xml:id="beam-L10F1-L11F1">
<chord xml:id="chord-L10F1" dur="8">
<note xml:id="note-L10F1S1" oct="4" pname="c" accid.ges="n" />
<note xml:id="note-L10F1S2" oct="5" pname="c" accid.ges="n" />
</chord>
<chord xml:id="chord-L11F1" dur="8">
<note xml:id="note-L11F1S1" oct="4" pname="e" accid.ges="n" />
<note xml:id="note-L11F1S2" oct="5" pname="e" accid.ges="n" />
</chord>
</beam>
<chord xml:id="chord-L12F1" dur="2">
<note xml:id="note-L12F1S1" oct="4" pname="g" accid.ges="n" />
<note xml:id="note-L12F1S2" oct="5" pname="g" accid.ges="n" />
</chord>
</layer>
</staff>
<slur xml:id="slur-L9F1-L10F1" type="placed" staff="1" startid="#note-L9F1" endid="#chord-L10F1" curvedir="below" />
</measure>
</section>
</score>
</mdiv>
</body>
</music>
</mei>
The problem is that the grace note should be slurred to the C5 and not the C4.
This could be done in two possible ways: either identify the closest note in the chord and attach to that note (which may not always work in all cases), or explicitly attach to the C5 note rather than the chord.
Related to issue https://github.com/rism-digital/verovio/issues/1139 (which was before the new slur system was implemented).
Here is a good example where the slur needs to be attached to a note within a chord:
![Screen Shot 2022-05-01 at 2 56 53 AM](https://user-images.githubusercontent.com/3487289/166141070-9fc85678-e8b5-4600-95be-810cf2e75a65.png)
Click to view MEI data for above example
<?xml version="1.0" encoding="UTF-8"?>
<?xml-model href="https://music-encoding.org/schema/dev/mei-all.rng" type="application/xml" schematypens="http://relaxng.org/ns/structure/1.0"?>
<?xml-model href="https://music-encoding.org/schema/dev/mei-all.rng" type="application/xml" schematypens="http://purl.oclc.org/dsdl/schematron"?>
<mei xmlns="http://www.music-encoding.org/ns/mei" meiversion="5.0.0-dev">
<meiHead>
<fileDesc>
<titleStmt>
<title>Piano Sonata no. 7 in D major</title>
</titleStmt>
<pubStmt>
<respStmt>
<persName xml:id="persname-L36" analog="humdrum:EED" role="editor">Craig Stuart Sapp</persName>
</respStmt>
</pubStmt>
</fileDesc>
<encodingDesc>
<appInfo>
<application isodate="2022-05-01T02:56:28" version="3.10.0-dev-36a3430-dirty">
<name>Verovio</name>
<p>Transcoded from Humdrum</p>
</application>
</appInfo>
<projectDesc>
<p>Encoded by: Craig Stuart Sapp</p>
<p>Version: 2022/04/01</p>
</projectDesc>
</encodingDesc>
<workList>
<work>
<title xml:id="title-L3" analog="humdrum:OTL" type="main">Piano Sonata no. 7 in D major</title>
<composer analog="humdrum:COM" xml:id="person-L1">Beethoven, Ludwig van</composer>
</work>
</workList>
</meiHead>
<music>
<body>
<mdiv xml:id="mwxdw30">
<score xml:id="s3hg8iw">
<scoreDef xml:id="sbf2vz0" midi.bpm="240.000000">
<pgHead xml:id="pxbnfds">
<rend xml:id="rqa40xa" halign="center" valign="middle">
<rend xml:id="rt0vql2" fontsize="large">Piano Sonata no. 7 in D major</rend>
<lb xml:id="lx5csn2" />Â
<lb xml:id="ldboy2x" />Â </rend>
<rend xml:id="r4kh1p" halign="right" valign="bottom" fontsize="small">Ludwig van Beethoven</rend>
<rend xml:id="rvzv7eg" halign="right" valign="bottom" fontsize="small">1770–1827</rend>
</pgHead>
<staffGrp xml:id="sui9wsw" bar.thru="true" symbol="brace">
<staffDef xml:id="smey9ok" n="1" lines="5">
<clef xml:id="clef-L12F2" shape="G" line="2" />
<keySig xml:id="keysig-L13F2" pname="d" mode="major" sig="2s" />
<meterSig xml:id="metersig-L16F2" count="4" unit="4" />
</staffDef>
<staffDef xml:id="sugnczr" n="2" lines="5">
<clef xml:id="clef-L12F1" shape="F" line="4" />
<keySig xml:id="keysig-L13F1" pname="d" mode="major" sig="2s" />
<meterSig xml:id="metersig-L16F1" count="4" unit="4" />
</staffDef>
</staffGrp>
</scoreDef>
<section xml:id="section-L8F1">
<choice xml:id="cwva61r">
<orig xml:id="ogu9z4d">
<expansion plist="#label-A #label-A #label-B" xml:id="expansion-L9F1" />
</orig>
<reg xml:id="rtz8747" type="norep">
<expansion plist="#label-A #label-B" xml:id="expansion-L10F1" type="norep" />
</reg>
</choice>
<section xml:id="label-A">
<measure xml:id="measure-L1">
<staff xml:id="sh6fww2" n="1">
<layer xml:id="layer-L8F2N1" n="1">
<chord xml:id="chord-L19F2" dur="4" stem.dir="up">
<note xml:id="note-L19F2S1" staff="2" oct="3" pname="d" accid.ges="n" />
<note xml:id="note-L19F2S2" oct="4" pname="d" accid.ges="n" />
</chord>
</layer>
</staff>
<staff xml:id="sorikpe" n="2">
<layer xml:id="layer-L8F1N1" n="1">
<note xml:id="note-L19F1" type="placed" dur="4" oct="2" pname="d" stem.dir="down" accid.ges="n" />
</layer>
</staff>
<tempo xml:id="tempo-L7F1" staff="1" tstamp="1.000000">Presto</tempo>
<dynam xml:id="dynam-L19F3" staff="1" tstamp="1.000000" vgrp="100">
<rend xml:id="rzlotg" halign="right" fontsize="large" fontweight="bold">p </rend>
</dynam>
<slur xml:id="slur-L19F2-L21F2" type="placed" staff="1" startid="#chord-L19F2" endid="#note-L21F2" curvedir="below" />
<slur xml:id="slur-L19F1-L21F1" type="placed" staff="2" startid="#note-L19F1" endid="#note-L21F1" curvedir="below" />
</measure>
<measure xml:id="measure-L20" n="1">
<staff xml:id="staff-L20F2N1" n="1">
<layer xml:id="layer-L20F2N1" n="1">
<note xml:id="note-L21F2" dur="4" oct="4" pname="c" accid.ges="s">
<artic xml:id="artic-L21F2" artic="stacc" />
</note>
<note xml:id="note-L22F2" dur="4" oct="3" pname="b" accid.ges="n">
<artic xml:id="artic-L22F2" artic="stacc" />
</note>
<note xml:id="note-L23F2" dur="4" oct="3" pname="a" accid.ges="n">
<artic xml:id="artic-L23F2" artic="stacc" />
</note>
<note xml:id="note-L24F2" dur="4" oct="4" pname="c" accid.ges="s">
<artic xml:id="artic-L24F2" artic="stacc" />
</note>
</layer>
</staff>
<staff xml:id="staff-L20F1N1" n="2">
<layer xml:id="layer-L20F1N1" n="1">
<note xml:id="note-L21F1" dur="4" oct="2" pname="c" accid.ges="s">
<artic xml:id="artic-L21F1" artic="stacc" />
</note>
<note xml:id="note-L22F1" dur="4" oct="1" pname="b" accid.ges="n">
<artic xml:id="artic-L22F1" artic="stacc" />
</note>
<note xml:id="note-L23F1" dur="4" oct="1" pname="a" accid.ges="n">
<artic xml:id="artic-L23F1" artic="stacc" />
</note>
<note xml:id="note-L24F1" dur="4" oct="2" pname="c" accid.ges="s">
<artic xml:id="artic-L24F1" artic="stacc" />
</note>
</layer>
</staff>
</measure>
</section>
</section>
</score>
</mdiv>
</body>
</music>
</mei>
Expected rendering if slur could be attached to note rather than chord:
![Screen Shot 2022-05-01 at 2 57 08 AM](https://user-images.githubusercontent.com/3487289/166141095-da5be860-b045-415b-881b-99c077ffc940.png)