-
Notifications
You must be signed in to change notification settings - Fork 9
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Unmatched hairpin rendering in **dynam as cresc./dim. #123
Comments
But what if I want a |
To produce a crescendo hairpin you need to have a For replicating the source as closely as possible, there will be a need to specify what text should be displayed in such cases. "cresc." is a good default, but others could be "cres." or "crescendo" depending on the edition. I am thinking of two possibilities for controlling the text: (1) An RDF to indicate the text:
This would be a global setting for all unpaired
This system could also force correctly formed hairpins to be text:
In this case the hairpin would be forced to become a text direction in MEI, but it would possess both a start time and end time. |
And what about fontstyle changes? I'm guessing that attributes
(as with parentheses/bracket in #57) looks to me like convenient solution. |
Global RDF method of indicating the text for unmatched
The quotes are optional, but if optional, then only the first non-space-containing word would be processed:
Example:
Renders as: |
In the following example (from Chopin's Mazurka op. 30 no 1, Braitkopf & Härtel) there's a dim. sign with extention line: I would like to encode it as properly ended hairpin (since the end of the extention line defines the end of diminuendo) and change rendering to text (as in Comment above).
Unfortunately this kind of encoding does not work in VHV: This encoding should be unambiguous enough to define start and end of diminuendo, and to specify that it should be rendered as text direction.
What's more, I think that by default it should be rendered with extention line unlike this:
What do you think? Another question is, if it is possible to encode extention lines in MEI. I can't find any information about that in MEI documentation. There's an MEI issue about that (music-encoding/music-encoding#494), but without any conclusions... |
It looks like it should be encoded in MEI as: <dir tstamp="2" tstamp2="5m+0" extender="true" lform="dashed">dim.</dir> But
Yes that is a good idea. This example would be rendered automatically with a dashed line after
While this one would not, since the endpoint of the decrescendo is not specified:
Perhaps there would be additional parameters to control the style of the line, similar to control And perhaps an additional parameter such as |
It's impossible to place dynamics rendered as text above the top staff. Kern:
current rendering: |
It seems related to transmutation of dynamics/hairpins into text directions since plain dynamics and hairpins respond to When this happens, I need to check for the DY or HP layout parameters. Using |
Fixed with commit rism-digital/verovio@56b5535. Here is a test:
The parameter controls should be done with |
For some reason unmatched crescendo can't be moved above the staff:
MEI conversion: <?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-04-16T18:06:04" version="2.7.0-dev-9b84e3d">
<name>Verovio</name>
<p>Transcoded from Humdrum</p>
</application>
</appInfo>
</encodingDesc>
<workList>
<work>
<title />
</work>
</workList>
</meiHead>
<music>
<body>
<mdiv xml:id="mdiv-0000000187993496">
<score xml:id="score-0000001192889224">
<scoreDef xml:id="scoredef-0000000337750368" midi.bpm="400">
<staffGrp xml:id="staffgrp-0000001078662939">
<staffDef xml:id="staffdef-0000000381227533" n="1" lines="5">
<clef xml:id="clef-0000000282450030" shape="G" line="2" />
</staffDef>
</staffGrp>
</scoreDef>
<section xml:id="section-L1F1">
<measure xml:id="measure-L1">
<staff xml:id="staff-0000000573528090" n="1">
<layer xml:id="layer-L1F1N1" n="1">
<note xml:id="note-L3F1" dur="1" oct="4" pname="c" accid.ges="n" />
</layer>
</staff>
<dir xml:id="dir-L3F2" place="above" staff="1" tstamp="1.000000">decresc.</dir>
</measure>
<measure xml:id="measure-L4">
<staff xml:id="staff-L4F1N1" n="1">
<layer xml:id="layer-L4F1N1" n="1">
<note xml:id="note-L6F1" dur="1" oct="4" pname="c" accid.ges="n" />
</layer>
</staff>
<dir xml:id="dir-L6F2" staff="1" tstamp="1.000000">cresc.</dir>
</measure>
</section>
</score>
</mdiv>
</body>
</music>
</mei> It looks like |
Also both unmatched
<?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-04-16T20:25:42" version="2.7.0-dev-9b84e3d">
<name>Verovio</name>
<p>Transcoded from Humdrum</p>
</application>
</appInfo>
</encodingDesc>
<workList>
<work>
<title />
</work>
</workList>
</meiHead>
<music>
<body>
<mdiv xml:id="mdiv-0000001479679160">
<score xml:id="score-0000001031012397">
<scoreDef xml:id="scoredef-0000001124977466" midi.bpm="400">
<staffGrp xml:id="staffgrp-0000000352452682">
<staffDef xml:id="staffdef-0000001531102189" n="1" lines="5">
<clef xml:id="clef-0000001693757565" shape="G" line="2" />
</staffDef>
</staffGrp>
</scoreDef>
<section xml:id="section-L1F1">
<measure xml:id="measure-L1">
<staff xml:id="staff-0000000879084723" n="1">
<layer xml:id="layer-L1F1N1" n="1">
<note xml:id="note-L4F1" dur="1" oct="4" pname="c" accid.ges="n" />
</layer>
</staff>
<dir xml:id="dir-L4F2" staff="1" tstamp="1.000000">decresc.</dir>
</measure>
<measure xml:id="measure-L5">
<staff xml:id="staff-L5F1N1" n="1">
<layer xml:id="layer-L5F1N1" n="1">
<note xml:id="note-L6F1" dur="1" oct="4" pname="c" accid.ges="n" />
</layer>
</staff>
<dir xml:id="dir-L6F2" staff="1" tstamp="1.000000">cresc.</dir>
</measure>
<measure xml:id="measure-L7" right="invis">
<staff xml:id="staff-L7F1N1" n="1">
<layer xml:id="layer-L7F1N1" n="1">
<note xml:id="note-L8F1" dur="1" oct="4" pname="c" accid.ges="n" />
</layer>
</staff>
<dynam xml:id="dynam-L8F2" place="above" staff="1" tstamp="1.000000" vgrp="100">f</dynam>
</measure>
</section>
</score>
</mdiv>
</body>
</music>
</mei> |
When a hairpin is started but not ended in **dynam spines, this hairpin was previously ignored in the Humdrum-to-MEI converter. Now it is converted into a "cresc." for
<
and "dim." for>
:Humdrum data:
The previous method of encoding "cresc." and "dim." was:
(with the
<
and>
often present, but this will now cause a double display of "cresc." or "dim.")There should be a way of specifiying "crescendo" rather than "cresc.". Perhaps as
<<
and likewise with "diminuendo" and "dimin" as alternates for "dim.".This will allow faster entry of "cresc." and "dim." text into music and closely represents the meaning of an unclosed hairpin:
<
by itself means crescendo, but does not explicitly how long the crescendo is.The text was updated successfully, but these errors were encountered: