humdrum-tools / verovio-humdrum-viewer

Verovio Humdrum Viewer
http://verovio.humdrum.org
39 stars 9 forks source link

Change visual note duration for tremolo #306

Open jacekiwaszko1 opened 4 years ago

jacekiwaszko1 commented 4 years ago

There are cases in early music manuscripts, where tremolo is notated incorrectly:

trem-vis1

System similar to !LO:N:vis would be usful in this case, eg. !LO:N:TREM:vis=. Encoding of the example above could look like that:

**kern
*clefC4
*M3/4
=
8r
8EL
8E
8E
8E
8EJ
=
8r
*tremolo
!LO:N:TREM:vis=2.
8F#L
8F#
8F#
8F#
8F#J
*Xtremolo
=
*-

Target rendering:

trem-vis2

Target (?) MEI encoding

<?xml version="1.0" encoding="UTF-8"?>
<?xml-model href="https://music-encoding.org/schema/4.0.0/mei-all.rng" type="application/xml" schematypens="http://relaxng.org/ns/structure/1.0"?>
<?xml-model href="https://music-encoding.org/schema/4.0.0/mei-all.rng" type="application/xml" schematypens="http://purl.oclc.org/dsdl/schematron"?>
<mei xmlns="http://www.music-encoding.org/ns/mei" meiversion="4.0.0">
    <meiHead>
        <fileDesc>
            <titleStmt>
                <title />
            </titleStmt>
            <pubStmt />
        </fileDesc>
        <encodingDesc>
            <appInfo>
                <application isodate="2020-05-18T18:30:56" version="2.7.0-dev-9bf1e9f">
                    <name>Verovio</name>
                    <p>Transcoded from Humdrum</p>
                </application>
            </appInfo>
        </encodingDesc>
        <workList>
            <work>
                <title />
            </work>
        </workList>
    </meiHead>
    <music>
        <body>
            <mdiv xml:id="mdiv-0000001359448342">
                <score xml:id="score-0000000088107684">
                    <scoreDef xml:id="scoredef-0000001022910213">
                        <staffGrp xml:id="staffgrp-0000002063442318">
                            <staffDef xml:id="staffdef-0000000963674871" n="1" lines="5">
                                <clef xml:id="clef-L2F1" shape="C" line="4" />
                                <meterSig xml:id="metersig-L3F1" count="3" unit="4" />
                            </staffDef>
                        </staffGrp>
                    </scoreDef>
                    <section xml:id="section-L1F1">
                        <measure xml:id="measure-L1">
                            <staff xml:id="staff-0000001695819382" n="1">
                                <layer xml:id="layer-L1F1N1" n="1">
                                    <rest xml:id="rest-L5F1" dur="8" />
                                    <beam xml:id="beam-L6F1-L10F1">
                                        <note xml:id="note-L6F1" dur="8" oct="3" pname="e" accid.ges="n" />
                                        <note xml:id="note-L7F1" dur="8" oct="3" pname="e" accid.ges="n" />
                                        <note xml:id="note-L8F1" dur="8" oct="3" pname="e" accid.ges="n" />
                                        <note xml:id="note-L9F1" dur="8" oct="3" pname="e" accid.ges="n" />
                                        <note xml:id="note-L10F1" dur="8" oct="3" pname="e" accid.ges="n" />
                                    </beam>
                                </layer>
                            </staff>
                        </measure>
                        <measure xml:id="measure-L11">
                            <staff xml:id="staff-L11F1N1" n="1">
                                <layer xml:id="layer-L11F1N1" n="1">
                                    <rest xml:id="rest-L12F1" dur="8" />
                                    <bTrem xml:id="btrem-L14F1-L18F1" unitdur="8">
                                        <note xml:id="note-L14F1" dur="2" dots="1" oct="3" pname="f" accid="s" />
                                    </bTrem>
                                </layer>
                            </staff>
                        </measure>
                    </section>
                </score>
            </mdiv>
        </body>
    </music>
</mei>

As 5 eights are impossible to encode in MEI as dur + dots, note@dur.ges and note@dots.ges can't be filled in, I suppose?

craigsapp commented 4 years ago

Is it impossible to encode such a case in MEI, @lpugin? I seem to remember that @dur.ges was allowed to contain a list of durations, which would be additive. So in this case @dur.ges="2 8" or @dur.ges="8 8 8 8 8" could then be used.

In the current documentation for @dur.ges I do not see this as allowed:

https://music-encoding.org/guidelines/v4/data-types/data.duration.gestural.html

(or I was thinking of another durational parameter that I do not see anyway).