2.03. Dynamic scoring-up and display of early music in Verovio

Zum Projekt

In den letzten Jahren hat das MEI-Format aufgrund seiner reichhaltigen Funktionalität und Flexibilität eine breite Akzeptanz in der wissenschaftlichen Gemeinschaft gefunden. So erlaubt es z. B. die Bereitstellung umfangreicher Metadaten für Bibliotheken, wie auch Analysedaten für Musiktheoretiker:innen usw. und unterstützt als einziges Format nativ mehrere Notationsarten (neben der modernen westlichen Notation auch Neumen, Tabulaturen und Mensuralnotation). Forschende im Bereich der Alten Musik verwenden daher MEI zur Kodierung von Quellen in Originalnotation, um das Repertoire in einer Form maschinenlesbar verfügbar zu machen und weiterverarbeiten zu können, die der Gestalt in den Originalquellen treu bleibt. Die Softwarebiliothek Verovio ist das am weitesten verbreitete Tool zur Konvertierung von MEI-Kodierungen in SVG-Vektorgrafiken und damit zum Rendering von MEI als Musiknotation. Verovio enthält bereits verschiedene Features zur Darstellung von Mensuralnotation, z. B. die mensuralen Notenformen, Mensurzeichen und Ligaturen (die dynamische Anzeige und Aufteilung von Notengruppen). Bisher fehlte jedoch die Möglichkeit zum dynamischen Layoutwechsel. Dieser ist von zentraler Bedeutung für Vokalmusik des Spätmittelalters und der Renaissance, da die Überlieferung zum einen in Einzelstimmen erfolgt und zum anderen Notendauern in Mensuralnotation kontextabhängig sind, d. h. durch vorangehende und/oder nachfolgende Noten modifiziert werden.

Ziel des Projektes war, den Scoring-Up-Algorithmus für die automatische Berechnung der kontextabhängigen Notendauern in Mensuralnotation in Verovio zu implementieren.

Ergebnisse

Die beschriebene Funktionalität wurde in Verovio in der Version 5.0.0 im Februar 2025 veröffentlicht. Der Quellcode von Verovio ist öffentlich zugänglich unter: https://github.com/rism-digital/verovio

Implementierung des Scoring-Up-Algorithmus in Verovio

Der Scoring-Algorithmus von Martha Thomae wurde in C++ reimplementiert und in Verovio integriert. Dieser berechnet die Dauern der Noten und kodiert diese im @dur.quality Attribut (@dur.quality="perfecta", @dur.quality="imperfecta" bzw. @dur-quality="altera"). Durch dieses Attribut wird Verovio erlaubt, die Datei als sinnvoll ausgerichtete Partitur darzustellen.

Die Integration in Verovio umfasst folgende Funktionen:

  • Grundlegende Prinzipien von Imperfektion und Alteration (nach Willi Apel "The notation of polyphonic music, 900–1600", Cambridge Massachusets, 1953)
  • Ausnahmen von der Anwendung genannter Prinzipien, z. B. wenn eine Note durch kleinere Notenwerte ersetzt wird
  • Identifikation der Funktionen von Punkten
  • Unterstützung simultaner perfekter Mensuren auf mehreren Notenebenen
  • Unterstützung von Mensurwechseln

Die Funktionalität ist über ein neues --mensural-score-up Flag in Verovio verfügbar.

Hier ein Beispiel ohne Verwendung des Flags:

Beispiel eines Verovio-Renderings ohne Scoring-Up-Funktionalität. (Screenshot)

Und hier ein Rendering derselben Datei mit der Scoring-Up-Funktion:

Beispiel eines Verovio-Renderings mit Scoring-Up-Funktionalität. (Screenshot)

Erarbeitung und Bereitstellung einer Sammlung von Testfällen

Eine Sammlung von Testfällen wurde erstellt und im Rahmen der Verovio Test Suite öffentlich bereitgestellt (siehe Beispiel 008 bis 023).
Die Sammlung deckt folgende Fälle ab:

  • Beispiele zu den Prinzipien von Imperfektion und Alteration
  • Beispiele zur Unterscheidung der verschiedenen Funktionen von Punkten bei identischem Aussehen (Punctus imperfectionis vs. Punctus perfectionis vs. Punctus augmentationis)
  • Beispiele zur Behandlung simultaner perfekter Mensur auf mehreren Notenebenen
  • Beispiele zum Mensurwechsel

Ausblick

In Zukunft soll die Funktionalität um die Kompatibilitität mit editorischem Markup erweitert werden.

Anna Plaksin, Laurent Pugin und Martha Thomae