<div dir="ltr"><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px"><span style="font-size:12.8000001907349px">But they are independent lines. In theory, you could have two one-handed people playing a piano and it would make no practical difference. :)</span></blockquote><div><span style="font-size:12.8000001907349px"><br></span></div><div><span style="font-size:12.8000001907349px">Visually it's separate lines, but musically it's absolutely one line (again the harp as a better example). If a piano part is intended for 2 players, each player should have it's own group of staves, or a single stave. And to avoid confusion a brace shouldn't be used across both piano parts (bracket would be better, although there are examples of engravers using braces to group different parts).</span></div><div><span style="font-size:12.8000001907349px">Calling these independent lines feels like leaving out half of an instrument. </span><span style="font-size:12.8000001907349px">I' ielaigothl fteltesi  etne </span><span style="font-size:12.8000001907349px">(It's like leaving out half of the letters in a sentence), the one independent line is worthless without the other one. They should be more closely grouped than just a bracket/brace (in a part if you ask me). Imho this should be clear in the semantics of an MEI file.</span></div><div><span style="font-size:12.8000001907349px"><br></span></div><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px"><div><span style="font-size:12.8000001907349px">The voice/layer nomenclature in MEI comes from a desire to separate a melodic line from any idea of "voice leading." (i.e., not wanting to confuse the practical separation of independent instrument lines from the music-theoretical notions of harmonic and melodic progression).</span></div></blockquote><div style="font-size:12.8000001907349px"><span style="font-size:12.8000001907349px"><br></span></div><span style="font-size:12.8000001907349px">Layers still give an 'on top of each other' feeling, so I don't know whether 'layer' is the way to go. But I understand why.</span><div><span style="font-size:12.8000001907349px"><br></span></div><div><span style="font-size:12.8000001907349px">@instr would help if it would mean that all staves within the group are played by one instrument, but if I read the specs correctly these are both ok, but the first example is played by 2 players, the second by 1...</span></div><div><span style="font-size:12.8000001907349px"><br></span></div><div><div style="font-size:12.8000001907349px">                                <staffGrp symbol="brace" barthru="true" instr="Trompete"></div><div style="font-size:12.8000001907349px">                                    <staffDef n="1" clef.line="2" clef.shape="G" key.sig="0" lines="5" label="1"/></div><div style="font-size:12.8000001907349px">                                    <staffDef n="2" clef.line="2" clef.shape="G" key.sig="0" lines="5" label="2"/></div><div style="font-size:12.8000001907349px">                                </staffGrp></div><div style="font-size:12.8000001907349px"><br></div><div style="font-size:12.8000001907349px"><br></div><div style="font-size:12.8000001907349px"><div style="font-size:12.8000001907349px">                                <staffGrp symbol="brace" barthru="true" instr="Harp"></div><div style="font-size:12.8000001907349px">                                    <staffDef n="1" clef.line="2" clef.shape="G" key.sig="0" lines="5"/></div><div style="font-size:12.8000001907349px">                                    <staffDef n="2" clef.line="4" clef.shape="F" key.sig="0" lines="5"/></div><div style="font-size:12.8000001907349px">                                </staffGrp></div><div style="font-size:12.8000001907349px"><br></div><div style="font-size:12.8000001907349px">Notating multiple parts on one staff can be done with the layerDef, looks good, thanks.</div><div style="font-size:12.8000001907349px"><br></div></div></div><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px"><div><div style="font-size:12.8000001907349px"><div style="font-size:12.8000001907349px"><span style="font-size:12.8000001907349px">one part on multiple staves is a bit trickier, but can still be done. You can use the @staff and @layer attributes on events (chords, notes, rests) to "assign" that event to a particular staff and/or layer.</span><br></div><div style="font-size:12.8000001907349px"><br></div></div></div></blockquote><span style="font-size:12.8000001907349px">One part on multiple staves is a very common thing (I'm a professional pianist) and shouldn't be 'a bit trickier'. Besides I'm working on reading files, not creating them. I didn't look through all the MEI examples but this far I didn't found a single example demonstrating this technique. Ruling out all files who don't follow this technique would be a massive mistake.</span><div><span style="font-size:12.8000001907349px"><br></span></div><div><span style="font-size:12.8000001907349px"><br></span></div><div><div><div><span style="font-size:12.8000001907349px">Thanks for discussing this with me!</span></div><div><span style="font-size:12.8000001907349px"> </span></div></div></div></div><div class="gmail_extra"><br clear="all"><div><div class="gmail_signature"><div dir="ltr"><span style="color:rgb(136,136,136);font-family:'Helvetica Neue',Helvetica,Arial;font-size:11px">Hans Vereyken</span><br style="color:rgb(136,136,136);font-family:'Helvetica Neue',Helvetica,Arial;font-size:11px"><strong style="color:rgb(136,136,136);font-family:'Helvetica Neue',Helvetica,Arial;font-size:11px">Developer</strong><br style="color:rgb(136,136,136);font-family:'Helvetica Neue',Helvetica,Arial;font-size:11px"><br style="color:rgb(136,136,136);font-family:'Helvetica Neue',Helvetica,Arial;font-size:11px"><span style="color:rgb(136,136,136);font-family:'Helvetica Neue',Helvetica,Arial;font-size:11px">M </span><a href="mailto:hans@neoscores.com" style="color:rgb(153,204,0);text-decoration:initial;font-family:'Helvetica Neue',Helvetica,Arial;font-size:11px" target="_blank">hans@neoscores.com</a><br style="color:rgb(136,136,136);font-family:'Helvetica Neue',Helvetica,Arial;font-size:11px"><span style="color:rgb(136,136,136);font-family:'Helvetica Neue',Helvetica,Arial;font-size:11px">T +32 472 52 75 59</span><br style="color:rgb(136,136,136);font-family:'Helvetica Neue',Helvetica,Arial;font-size:11px"><br style="color:rgb(136,136,136);font-family:'Helvetica Neue',Helvetica,Arial;font-size:11px"><a href="http://www.neoscores.com/" style="color:rgb(153,204,0);text-decoration:initial;font-family:'Helvetica Neue',Helvetica,Arial;font-size:11px" target="_blank">neoScores BVBA</a><span style="color:rgb(136,136,136);font-family:'Helvetica Neue',Helvetica,Arial;font-size:11px"> </span><span style="color:rgb(136,136,136);font-family:'Helvetica Neue',Helvetica,Arial;font-size:11px">// Pluyseghemstraat 19, BE-2550 Kontich // Twitter: @neoscores</span><br style="color:rgb(136,136,136);font-family:'Helvetica Neue',Helvetica,Arial;font-size:11px"><span style="text-decoration:initial;font-family:'Helvetica Neue',Helvetica,Arial;font-size:11px"><font color="#606060">/////////////////////////////////////////////////////////////////////////////////////////////////////</font></span><br style="color:rgb(136,136,136);font-family:'Helvetica Neue',Helvetica,Arial;font-size:11px"><br style="color:rgb(136,136,136);font-family:'Helvetica Neue',Helvetica,Arial;font-size:11px"><span style="color:rgb(136,136,136);font-family:'Helvetica Neue',Helvetica,Arial;font-size:11px">Follow us on: </span><a href="http://www.facebook.com/neoscores" style="color:rgb(153,204,0);text-decoration:initial;font-family:'Helvetica Neue',Helvetica,Arial;font-size:11px" target="_blank">Facebook</a><span style="color:rgb(136,136,136);font-family:'Helvetica Neue',Helvetica,Arial;font-size:11px"> // </span><a href="http://twitter.com/neoscores" style="color:rgb(153,204,0);text-decoration:initial;font-family:'Helvetica Neue',Helvetica,Arial;font-size:11px" target="_blank">Twitter</a><br></div></div></div>
<br><div class="gmail_quote">On 22 May 2015 at 09:54, Andrew Hankinson <span dir="ltr"><<a href="mailto:andrew.hankinson@mail.mcgill.ca" target="_blank">andrew.hankinson@mail.mcgill.ca</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word"><br><div><blockquote type="cite"><span class=""><div>On May 22, 2015, at 9:16 AM, Hans Vereyken <<a href="mailto:hans@neoscores.com" target="_blank">hans@neoscores.com</a>> wrote:</div><br></span><div><div dir="ltr">Hi Andrew,<div><br></div><div><span class="">I see, my subject title is a bit confusing, better would be: How to distinguish different players in the <staffDef> and <staffGrp> elements.<br><div><br></div></span><span class=""><div><span style="font-size:12.8000001907349px">"If you have two different staves, these are two different players, regardless of the label (a left and a right hand on a piano could be thought of as two different "players" since they're playing two separate parts)."</span><br></div></span><span class=""><div><span style="font-size:12.8000001907349px">I strongly disagree on that, it is played by a single player and it is a single part. This is even more clear if you think about harp parts, (very often) one 'voice' (strangely called 'layers' in MEI) traveling across 2 staves.</span></div></span></div></div></div></blockquote><div><br></div><div>But they are independent lines. In theory, you could have two one-handed people playing a piano and it would make no practical difference. :) The voice/layer nomenclature in MEI comes from a desire to separate a melodic line from any idea of "voice leading." (i.e., not wanting to confuse the practical separation of independent instrument lines from the music-theoretical notions of harmonic and melodic progression). </div><span class=""><br><blockquote type="cite"><div><div dir="ltr"><div><div><span style="font-size:12.8000001907349px">Another problem is cross staff notes, in your opinion these are the same as something that would be called 'cross part notes' (since each staff is a part). Think about it, 'cross part notes'... I don't even know any contemporary composer who did this.</span></div><div><span style="font-size:12.8000001907349px">I think this information should be added to the MEI format, and I think it can be done with an attribute in the staffGrp element indicating that all staves in that group are performed by one player/instrument (or group of players, eg, 1st Violin).</span></div></div></div></div></blockquote><div><br></div></span><div>Sorry, I'm still not clear on what you are asking. Have you looked at the @instr attribute on staffGrp? Is this what you are looking for? Or is it something else?</div><span class=""><br><blockquote type="cite"><div><div dir="ltr"><div><div><span style="font-size:12.8000001907349px">This way you can keep numbering the staves top to bottom  for the whole score, but it's clear which staves are played by the same player/instrument and should be grouped together when playing around with parts.</span></div><div><span style="font-size:12.8000001907349px">I agree that it needs to be possible to hide a single staff in a part with multiple staves, but semantically spoken it's a big difference with hiding a part.</span></div></div></div></div></blockquote><div><br></div></span><div>Would the `layerDef` mechanism help clear this up? You can define a specific layer to correspond to a specific voice, in the same way you can define a specific staffDef to define a specific staff. Then you can trace a specific layer ("voice") throughout the work, having pre-defined it in your scoreDef/staffDef block.</div><div><br></div><div>For an example, see the Ponchielli_LarrivoDelRe.mei file, where you have the percussion instruments on a single staff:</div><div><br></div><div><div><staffDef n="18" xml:id="P18" label="Batteria" label.abbr="Batt." lines="1" clef.shape="perc" key.sig="4f" key.mode="major" spacing="117"></div><div>  <layerDef n="1"></div><div>    <instrDef n="Snare_Drum" xml:id="P18-X2"/></div><div>  </layerDef></div><div>  <layerDef n="2"></div><div>    <instrDef n="Bass_Drum" xml:id="P18-X1"/></div><div>  </layerDef></div><div></staffDef></div><div><br></div><div>and then in the body (for example):</div><div><br></div><div><staff n="18"><br>   <layer n="1"><br>      <beam><br>         <note xml:id="d1e1818" pname="f" oct="4" dur="16" stem.dir="up"<br>            instr="#P18-X2" pnum="61"/><br>         <note xml:id="d1e1837" pname="f" oct="4" dur="16" stem.dir="up"<br>            instr="#P18-X2" pnum="61"/><br>      </beam><br>   </layer><br>   <layer n="2"><br>      <rest xml:id="d1e1859" dur="8"/><br>   </layer><br></staff></div></div><span class=""><br><blockquote type="cite"><div><div dir="ltr"><div><div><span style="font-size:12.8000001907349px"><br></span></div><div><span style="font-size:12.8000001907349px">At the same time it would be great to have another attribute in the staffDef element indicating that this staff is performed by multiple players, for instance 1st and 2nd Violins are notated as 1st and 2nd voice (again, called layers in MEI). This would be very helpfull in reading some chorus score's to (in the MEI examples this would clear up different parts in Altenburg_Macht_auf_die_Tor).</span></div></div></div></div></blockquote><div><br></div></span><div>I think the layerDef mechanism will help here too.</div><span class=""><br><blockquote type="cite"><div><div dir="ltr"><div><div><span style="font-size:12.8000001907349px"><br></span></div><div>To be sure we are talking about the same:</div><div>- staff: needed to notate music</div><div>- part: music performed by a single player/instrument</div><div><br></div><div>One part can be notated on multiple staves, multiple parts can be notated on a single staff. For me part is definitely not the same as staff.</div></div></div></div></blockquote><div><br></div></span><div>Multiple parts on a single staff is pretty easy; one part on multiple staves is a bit trickier, but can still be done. You can use the @staff and @layer attributes on events (chords, notes, rests) to "assign" that event to a particular staff and/or layer.</div><div><br></div><div>See: <a href="http://www.verovio.org/examples/features/cross-staff.mei" target="_blank">http://www.verovio.org/examples/features/cross-staff.mei</a> for an example of how this might work (and <a href="http://www.verovio.org/features.xhtml?id=cross-staff" target="_blank">http://www.verovio.org/features.xhtml?id=cross-staff</a> for a sample rendering).</div><br><blockquote type="cite"><div><div dir="ltr"><div><div><span style="font-size:12.8000001907349px"><br></span></div><div><span style="font-size:12.8000001907349px">Thanks</span></div></div><div><span style="font-size:12.8000001907349px">Hans</span></div></div><div class="gmail_extra"><span class=""><br clear="all"><div><div><div dir="ltr"><span style="color:rgb(136,136,136);font-family:'Helvetica Neue',Helvetica,Arial;font-size:11px">Hans Vereyken</span><br style="color:rgb(136,136,136);font-family:'Helvetica Neue',Helvetica,Arial;font-size:11px"><strong style="color:rgb(136,136,136);font-family:'Helvetica Neue',Helvetica,Arial;font-size:11px">Developer</strong><br style="color:rgb(136,136,136);font-family:'Helvetica Neue',Helvetica,Arial;font-size:11px"><br style="color:rgb(136,136,136);font-family:'Helvetica Neue',Helvetica,Arial;font-size:11px"><span style="color:rgb(136,136,136);font-family:'Helvetica Neue',Helvetica,Arial;font-size:11px">M </span><a href="mailto:hans@neoscores.com" style="color:rgb(153,204,0);text-decoration:initial;font-family:'Helvetica Neue',Helvetica,Arial;font-size:11px" target="_blank">hans@neoscores.com</a><br style="color:rgb(136,136,136);font-family:'Helvetica Neue',Helvetica,Arial;font-size:11px"><span style="color:rgb(136,136,136);font-family:'Helvetica Neue',Helvetica,Arial;font-size:11px">T <a href="tel:%2B32%20472%2052%2075%2059" value="+32472527559" target="_blank">+32 472 52 75 59</a></span><br style="color:rgb(136,136,136);font-family:'Helvetica Neue',Helvetica,Arial;font-size:11px"><br style="color:rgb(136,136,136);font-family:'Helvetica Neue',Helvetica,Arial;font-size:11px"><a href="http://www.neoscores.com/" style="color:rgb(153,204,0);text-decoration:initial;font-family:'Helvetica Neue',Helvetica,Arial;font-size:11px" target="_blank">neoScores BVBA</a><span style="color:rgb(136,136,136);font-family:'Helvetica Neue',Helvetica,Arial;font-size:11px"> </span><span style="color:rgb(136,136,136);font-family:'Helvetica Neue',Helvetica,Arial;font-size:11px">// Pluyseghemstraat 19, BE-2550 Kontich // Twitter: @neoscores</span><br style="color:rgb(136,136,136);font-family:'Helvetica Neue',Helvetica,Arial;font-size:11px"><span style="text-decoration:initial;font-family:'Helvetica Neue',Helvetica,Arial;font-size:11px"><font color="#606060">/////////////////////////////////////////////////////////////////////////////////////////////////////</font></span><br style="color:rgb(136,136,136);font-family:'Helvetica Neue',Helvetica,Arial;font-size:11px"><br style="color:rgb(136,136,136);font-family:'Helvetica Neue',Helvetica,Arial;font-size:11px"><span style="color:rgb(136,136,136);font-family:'Helvetica Neue',Helvetica,Arial;font-size:11px">Follow us on: </span><a href="http://www.facebook.com/neoscores" style="color:rgb(153,204,0);text-decoration:initial;font-family:'Helvetica Neue',Helvetica,Arial;font-size:11px" target="_blank">Facebook</a><span style="color:rgb(136,136,136);font-family:'Helvetica Neue',Helvetica,Arial;font-size:11px"> // </span><a href="http://twitter.com/neoscores" style="color:rgb(153,204,0);text-decoration:initial;font-family:'Helvetica Neue',Helvetica,Arial;font-size:11px" target="_blank">Twitter</a><br></div></div></div>
<br></span><div class="gmail_quote"><span class="">On 22 May 2015 at 00:58, Andrew Hankinson <span dir="ltr"><<a href="mailto:andrew.hankinson@mail.mcgill.ca" target="_blank">andrew.hankinson@mail.mcgill.ca</a>></span> wrote:<br></span><div><div class="h5"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi Hans,<br>
<br>
Welcome to MEI!<br>
<br>
Are you looking for the equivalent of the MIDI instrument that would perform these parts? Or something else?<br>
<br>
If you have two different staves, these are two different players, regardless of the label (a left and a right hand on a piano could be thought of as two different "players" since they're playing two separate parts). If you have a staff that is "hidden" (for example, if you have an instrument that does not play on certain pages) you still need to define the staff and give it a number. This number should be constant throughout the score. If it does not play in a specific place, it will simply not appear in the measure (as far as I understand it).<br>
<br>
If you're in a renderer and you want to switch all the "n=2" parts off, then, you would simply hide it whenever you have <staff n="2" ...>. The "2" does not refer to the second staff on any given page; rather, it refers to the second staff defined in a score, regardless of whether it appears or not.<br>
<br>
-Andrew<br>
<div><div><br>
> On May 21, 2015, at 4:26 PM, Hans Vereyken <<a href="mailto:hans@neoscores.com" target="_blank">hans@neoscores.com</a>> wrote:<br>
><br>
> Hi,<br>
><br>
> This is my first post to the MEI mailing list.<br>
> I'm implementing MEI into our music renderer and am having trouble getting all the info I need about staves.<br>
><br>
> I searches the documentation and mail archives for answers but wasn't able to find what I'm looking for.<br>
><br>
> So each staff is declared seperatly, with the <staffGrp> certain groups and there symbols are declared. Although a brace usually means that the staves within are the same player (e.g. piano brace), it is not enough to be sure of it.<br>
><br>
> In the example files I looked at 'Altenburg_Ein_feste_Burg', the relevant xml:<br>
><br>
>                         <scoreDef meter.count="4" meter.unit="4" meter.sym="common" key.sig="0" key.mode="major"><br>
>                             <staffGrp><br>
>                                 <staffGrp symbol="brace" barthru="true"><br>
>                                     <staffDef n="1" clef.line="2" clef.shape="G" key.sig="0" lines="5" label="Trompete 1" label.abbr="Tr 1"/><br>
>                                     <staffDef n="2" clef.line="2" clef.shape="G" key.sig="0" lines="5" label="Trompete 2" label.abbr="Tr 2"/><br>
>                                     <staffDef n="3" clef.line="2" clef.shape="G" key.sig="0" lines="5" label="Trompete 3" label.abbr="Tr 3"/><br>
>                                 </staffGrp><br>
>                                 <staffGrp symbol="bracket" barthru="true"><br>
>                                     <staffDef n="4" clef.shape="G" clef.dis="8" clef.dis.place="below" clef.line="2" label="Pos1 Tro 4" key.sig="0" label.abbr="P 1 Tr 4" lines="5"/><br>
>                                     <staffDef n="5" clef.line="4" clef.shape="F" lines="5" key.sig="0" label="Posaune 2" label.abbr="Pos 2"/><br>
>                                     <staffDef n="6" label="Posaune 3" label.abbr="Pos 3" clef.line="4" clef.shape="F" key.sig="0" lines="5"/><br>
>                                 </staffGrp><br>
>                             </staffGrp><br>
>                         </scoreDef><br>
><br>
> and: Chopin_Etude_op.10_no.9:<br>
><br>
>                         <scoreDef meter.count="6" meter.unit="8" key.sig="4f" key.mode="minor"><br>
>                             <staffGrp symbol="brace" barthru="true"><br>
>                                 <staffDef n="1" clef.shape="G" lines="5" clef.line="2"/><br>
>                                 <staffDef n="2" clef.line="4" clef.shape="F" lines="5"/><br>
>                             </staffGrp><br>
>                         </scoreDef><br>
><br>
> So in both cases I have a group of staves with a brace symbol, how should I know which staves are played by which player.<br>
> I can try to sniff the labels and by guessing the semantic meaning of 'Trompete 1,2,3' and conclude these has to be 3 different parts. In the second example this isn't possible, so this won't work (no surprise).<br>
> In a dynamic music renderer, where you can switch parts on/off this is key information.<br>
><br>
> How should it be done? Am I missing something?<br>
><br>
> Thanks in advance!<br>
> Hans Vereyken<br>
</div></div>> _______________________________________________<br>
> mei-l mailing list<br>
> <a href="mailto:mei-l@lists.uni-paderborn.de" target="_blank">mei-l@lists.uni-paderborn.de</a><br>
> <a href="https://lists.uni-paderborn.de/mailman/listinfo/mei-l" target="_blank">https://lists.uni-paderborn.de/mailman/listinfo/mei-l</a><br>
<br>
<br>
_______________________________________________<br>
mei-l mailing list<br>
<a href="mailto:mei-l@lists.uni-paderborn.de" target="_blank">mei-l@lists.uni-paderborn.de</a><br>
<a href="https://lists.uni-paderborn.de/mailman/listinfo/mei-l" target="_blank">https://lists.uni-paderborn.de/mailman/listinfo/mei-l</a><br>
</blockquote></div></div></div><br></div><div><div class="h5">
_______________________________________________<br>mei-l mailing list<br><a href="mailto:mei-l@lists.uni-paderborn.de" target="_blank">mei-l@lists.uni-paderborn.de</a><br><a href="https://lists.uni-paderborn.de/mailman/listinfo/mei-l" target="_blank">https://lists.uni-paderborn.de/mailman/listinfo/mei-l</a><br></div></div></div></blockquote></div><br></div><br>_______________________________________________<br>
mei-l mailing list<br>
<a href="mailto:mei-l@lists.uni-paderborn.de">mei-l@lists.uni-paderborn.de</a><br>
<a href="https://lists.uni-paderborn.de/mailman/listinfo/mei-l" target="_blank">https://lists.uni-paderborn.de/mailman/listinfo/mei-l</a><br>
<br></blockquote></div><br></div>