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
678 stars 185 forks source link

"3" mensuration sign encoding #988

Closed craigsapp closed 5 years ago

craigsapp commented 5 years ago

Has it been determined how to encode a "3" mensuration sign? And if so, is it available in verovio? Here is an example case from JRP:

screen shot 2019-01-25 at 1 58 40 am

http://josquin.stanford.edu/cgi-bin/jrp?a=notationEditText&f=Jos0301c

The meaning of the "3" is basically a short-hand for coloration [in an imperfect mensuration]. In other words the music in the "3" mensuration is played like triplets in modern music notation. The music before the "3" is in Cut-C, and the Cut-C following the "3" cancels the triplets.

So "3" is not a literal mensuration sign so it should not go in staffDef@mensur.sign. (@mensur.sign would technically remain mensur.sign="C" mensur.slash="1", since the mensural context of the "3" is important (for example "3" can occur in O mensuration).

It seems most like a proportion: https://music-encoding.org/guidelines/v4/content/mensural.html#mensuralProportions

But in this case the "2" is invisible: @proport.num="3" and @proport.numbase="2" for 3 in the time of 2, but with the 2 not being displayed.

I would expect "3" to be encoded in staffDef as @proport.num="3" with no @mensur.sign or @proport.numbase attributes. But @proport.num will only be shown with verovio currently if there is a @mensur.sign in the staffDef as well.

There are less common cases where @numbase="2" is shown:

screen shot 2019-01-25 at 2 16 29 am

http://josquin.stanford.edu/cgi-bin/jrp?a=notationEditText&f=Jos2618


A similar case exists with @proport.numbase being shown without @proport.num:

screen shot 2019-01-25 at 2 30 21 am

http://josquin.stanford.edu/cgi-bin/jrp?a=notationEditText&f=Jos1903

But verovio requires @proport.num in order to display@proport.numbase.

Here is a table of mensurations that are present in JRP (with some of the more esoteric ones omitted):

screen shot 2019-01-25 at 2 27 23 am

Six of them: 3, 2, 3/2, O/3, C|/2, C|/3, cannot currently be rendered with verovio.

Note that "3", "3/2", and "O/3" all have the same meaning (at least in Cut-C mensuration), which is a shorthand for triplets (coloration).

lpugin commented 5 years ago

Please move to music-encoding