en:mei-friend-compendium

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
en:mei-friend-compendium [2026/04/23 12:02] egorpolyen:mei-friend-compendium [2026/05/12 00:57] (aktuell) egorpoly
Zeile 15: Zeile 15:
 ===== Current corpus status ===== ===== Current corpus status =====
  
-tba+[[https://github.com/egorpol/DdT_1_vol_11#current-progress]]
  
 ===== Current corpus assignments ===== ===== Current corpus assignments =====
  
-tba+[[https://nextcloud.uni-weimar.de/f/42181526]]
  
 ===== Open bugs ===== ===== Open bugs =====
Zeile 537: Zeile 537:
   * does each continuous span have its own child ''staffGrp''?   * does each continuous span have its own child ''staffGrp''?
   * is the brace or bracket attached to the correct subgroup?   * is the brace or bracket attached to the correct subgroup?
 +
 +
 +==== Staff and page breaks ====
 +
 +For the current editorial task, also check the position of ''<sb>'' and ''<pb>'' carefully.
 +
 +This is important because misplaced system or page breaks can change the number of bars per system or page and create mismatches with the facsimile layout.
 +
 +Local recommendation:
 +
 +  * always compare encoded ''<sb>'' and ''<pb>'' positions with the facsimile
 +  * check whether the number of measures per system matches the source
 +  * check whether the number of measures per page matches the source
 +  * if the bar count looks wrong, inspect break positions before changing musical content
 +
 +Minimal checklist:
 +  * does each encoded system begin where the facsimile begins?
 +  * does each encoded page begin where the facsimile page begins?
 +  * do the measures per system and per page still align with the source image?
 +
 +==== Facsimile zones ====
 +
 +When a measure still has no facsimile mapping, add a new ''<zone>'' in the relevant ''<surface>'' and then link that zone to the measure with the ''facs'' attribute.
 +
 +Local recommendation:
 +
 +  * create the new ''<zone>'' inside the correct ''<surface>''
 +  * give it a unique ''xml:id''
 +  * set the bounding box with ''ulx'', ''uly'', ''lrx'', and ''lry''
 +  * use ''type="measure"'' for measure zones
 +  * add or update ''facs="#zone_id"'' on the matching ''<measure>''
 +
 +Example:
 +
 +<code xml>
 +<surface>
 +  <zone xml:id="zone_new123" ulx="100" uly="200" lrx="500" lry="800" type="measure"/>
 +</surface>
 +
 +<measure n="12" facs="#zone_new123">
 +  ...
 +</measure>
 +</code>
 +
 +Minimal checklist:
 +  * is the new zone on the correct page surface?
 +  * does the bounding box match the visible measure in the facsimile?
 +  * does the ''facs'' value point to the correct zone id?
 +  * does each measure point to exactly the intended measure zone?
 +
 +==== Duration encoding: dur vs. dur.ppq ====
 +
 +Please encode written musical duration with ''dur'' and, where needed, ''dots''.
 +
 +''dur'' records the notated value, for example ''dur="4"'' for a quarter note or ''dur="8"'' for an eighth note. ''dur.ppq'' records a calculated playback/timing value in pulses per quarter note. It is not the editorial duration and does not represent the visual notation directly.
 +
 +Local directive:
 +
 +  * use ''dur'' and ''dots'' as the authoritative duration encoding
 +  * do not add ''dur.ppq'' to notes, rests, chords, or spaces
 +  * do not add ''ppq'' to ''staffDef'' or ''scoreDef''
 +  * remove existing ''dur.ppq'' and ''ppq'' values from imported files during cleanup
 +
 +Reason:
 +
 +  * the edition is based on the facsimile and should preserve written notation, not generated timing data
 +  * ''dur.ppq'' is usually import or playback residue and can disagree with the written ''dur''/''dots''
 +  * rhythmic proofreading should check whether the written durations fill the measure
 +
 +Minimal checklist:
 +  * does every timed event have a clear written ''dur'' where required?
 +  * are dotted values encoded with ''dots''?
 +  * have ''dur.ppq'' and ''ppq'' been removed?
 +
 +==== Cross-staff notation ====
 +
 +For cross-staff chords encode it as one logical ''<chord>'' in a single ''<layer>'', and place the low (or high) note on the other staff with ''staff="5"'' (use the number of corresponding staff). The lower (or higher) staff's time is then filled with ''<space/>'' so that the rhythmic alignment remains complete.
 +
 +The MEI guidelines explicitly give this as an alternative for cross-staff chords. Some software handles this method better than separate cross-staff notes connected only by ''stem.with''.
 +
 +Example:
 +
 +<code xml>
 +<staff xml:id="j138ax0t" n="4">
 +  <layer xml:id="lie03m1" n="1">
 +    <chord xml:id="n1v09lce" dur="8" stem.dir="up">
 +      <note xml:id="m11lbwz8" oct="4" pname="f"/>
 +      <note xml:id="ooukl9j" oct="4" pname="d"/>
 +      <note xml:id="dgfh734" oct="3" pname="b" staff="5"/>
 +    </chord>
 +    ...
 +  </layer>
 +</staff>
 +
 +<staff xml:id="k10lc1io" n="5">
 +  <layer n="2">
 +    <space dur="8"/>
 +    <note xml:id="dfj82467" dur="4" oct="3" pname="g" stem.dir="up"/>
 +    <note xml:id="dfj82d467" dur="4" oct="3" pname="a" stem.dir="up"/>
 +  </layer>
 +</staff>
 +</code>
 +
 +For mei-friend / Verovio-style workflows, this second version is often the more robust semantic encoding because it represents one chord rather than two separate events that merely share a stem.
 +
 +Local recommendation:
 +
 +  * use a single ''<chord>'' with note-level ''staff'' when the source clearly shows one chord split across staves
 +  * fill the destination staff's elapsed time with ''<space/>'' when that staff has no independent sounding event at that moment
 +  * keep the written duration on the ''<chord>'' with ''dur''
  • en/mei-friend-compendium.1776945740.txt.gz
  • Zuletzt geändert: 2026/04/23 12:02
  • von egorpoly