Tutorial Basics Noten: Grundlagen music21

(Version 2022_01_03)

Inhaltsverzeichnis:

  1. Jupyter-Notebook: Grundlegende Funktionen
  2. Konfiguration der lokalen Settings von music21
  3. Bedienung von Jupyter Notebooks und music21
  4. Aufgaben

Dieses Grundlagen-Tutorial zeigt Ihnen

  1. den Aufbau und die Funktionsweise eines Jupyter-Notebooks
  2. wie Sie die Settings Ihrer lokalen music21-Befehlsbibliothek ändern können, um Noten aus dem Internet laden und einen Noteneditor einbinden zu können.
  3. wie die Jupyter-Notebooks und music21 für die Analyse von Notendaten nutzen können.

Auf dieser Grundlage zeigen die Tutorials Part 2 und 3 Möglichkeiten der Darstellung und Visualisierung von Notentexten sowie einfacher statistischer Abfragen.

1. Jupyter-Notebook: Grundlegende Funktionen

Ein Jupyter-Notebook ist eine Datei, die im Browser geöffnet und bearbeitet werden kann. Jedes Jupyter-Notebook besteht aus einer Folge von Textblöcken (Markdown cells) und Blöcken mit Python-Colde (Code cells). Beide Blöcke können von jedem User verändert und bearbeitet werden, indem innerhalb eines Blocks die Eingabetaste gedrückt wird. Eigene, veränderte Versionen des Notebooks können unter neuem Namen abgespeichert werden (Menu: File -> Save as...).

WICHTIG: Die Befehle jeder einzelnen Code cell werden mit dem Run-Button ausgeführt. Während der Ausführung (die bei manchen Befehlen einige Sekunden dauern kann) wird oben auf dem Browser-Tab ein Sanduhr-Symbol angezeigt. Anschließend werden ggf. Ergebnisse (oder Fehlermeldungen) angezeigt und der Cursor springt zur nächsten Box. Gehen Sie in den Tutorials jeweils Code cell für Code cell durch, aktivieren Sie den Code mit dem Run-Button und warten Sie ab, was geschieht!

In den Code Cells werden alle Zeilen hinter einem Rautezeicheen (#) nicht ausgeführt; dies bietet die Möglichkeit, entweder Erläuterungen zum Code in den Code cells zu vermerken oder zusätzliche deaktivierte Befehle zu vermerken, die durch Löschen der Raute (und anschließendem Run) ausgeführt werden.

Eine neue Cell wird mit dem +-Button oder den Menu-Punkt Insert erzeugt und kann dann im Menu als Markdown oder Code cell festgelegt werden. Hier können Sie Ihre eigenen Kommentare oder Befehle vermerken. (Und bitte nicht vergessen, das Notebook zuvor unter neuem Namen abzuspeichern!).

Parallel zum Notebook läuft ein Command-Fenster ("Anaconda Prompt"), das Sie nicht weiter beachten müssen - das Sie aber bitte auch nicht schließen! Beenden Sie ein Notebook bitte mit dem Menu-Befehl "File" -> "Close and Halt", loggen Sie sich dann aus und schließen Sie erst zum Schluss das Command-Fenster.

Jeder Start eines Jupyter Notebooks, in dem die Python-Bibliothek music21 verwendet wird, beginnt mit dem Import aller music21 - und zwar durch diesen einfachen Befehl:

2. Konfiguration der lokalen Settings von music21

Um eine Notendatei aus dem Internet aufrufen und als Partitur anzeigen und abspeichern zu können, müssen Sie ein Mal - und wirklich nur beim allerersten Mal! - music21 erlauben, Dateien aus dem Internet zu laden und in Ihrem Noteneditor (MuseScore) anzuschauen und abzuspeichern. Hierzu müssen Sie die Settings in der Datei 'music21-settings.xml' von music21 einrichten.

Dies ist in erster Linie bei Windows-Rechnern, aber auch bei manchen Mac-Betriebssystemen notwendig. Andere Mac-Betriebssyteme fragen die Settings bei der Ausführung interaktiv ab - was deutlich einfacher ist.

ACHTUNG: Im Folgenden sind alle Befehle durch eine Rautetaste (#) zu Beginn der Zeile deaktiviert. Sie müssen den jeweils durch Löschen der Raute aktivieren, zuvor gegebenenfalls durch Eingabe des Dateipfads auf Ihrem lokalen Computer anpassen, und anschließend auf 'Run' drücken. Sind die Settings erfolgreich angepasst, deaktivieren Sie die Befehle wieder - damit Sie sie nicht versehentlich erneut auslösen (etwa durch den Befehl 'Run All')!

Es gibt mehrere Möglichkeiten, die in den folgenden Code Cells erläutert und ausgeführt werden. Leider funktionieren nicht alle Möglichkeiten bei allen Betriebssytemen reibungslos. Daher werden im folgenden vier der Möglichkeiten vorgestellt.

  1. Konfigurationsassistent: Die einfachste Möglichkeit ist der 'music21 Configuration Assistant', der durch den Befehl der folgenden Code Cell geöffnet wird. Der Assistant stellt Ihnen dann Fragen bzw. fordert Sie auf, den Pfad Ihres Noteneditors einzugeben, automatische Downloads zu ermöglichen u.a.

Aktivieren Sie bitte die folgenden drei Befehlszeilen durch löschen des Rautezeichens (#) und klicken Sie auf "Run". Anschließend beantworten Sie bitte die angezeigten Fragen des 'music21 Configuration Assistant'.

Leider kann der Ordner, in dem automatisch alle Grafiken und andere Daten gespeichert werden, mit dem Assistenten jedoch nicht festgelegt werden. Sie können den Speicherplatz entweder bei jeder Abfrage individuell angeben, oder - was einfacher ist - den Pfad mit folgendem Befehl festlegen (bitte wieder die beiden #-Zeichen von run() löschen, anschließend 'Run' im Menu):

  1. Automatische Konfiguration der Settings-Datei:
  1. Falls Sie Probleme mit den ersten beiden Möglichkeiten haben (was bei manchen Mac-Betriebssystemen der Fall sein kann), verwenden Sie bitte die folgende Methode mit dem Befehl 'environment.set(...)':
  1. Alternativ können Sie mit den folgenden Befehlen die Settings-Datei mit einem Texteditor bearbeiten.

Angezeigt ('Out[...]') wird nun der Pfad zu einer Datei mit dem Namen 'music21-settings.xml', die Sie in einem Texteditor ändern können, indem Sie in den einzelnen Zeilen Werte im Feld 'value' eintragen, z.B. 'allow' oder einen Daten-Pfad auf Ihrem Computer.

3. Bedienung von Jupyter Notebooks und music21

Die folgenden music21-Befehle werden außerdem auf der Website https://analyse.hfm-weimar.de/doku.php?id=music21 beschrieben.

3.1 Laden einer Notendatei

Um aus dem Internet eine Datei zu aus dem Internet zu laden, müssen Sie lediglich mit der folgenden Syntax die Internet-Adresse des Files einfügen (rot markierter URL). Der URL kann der Notendatenbank entnommen werden, z.B. https://analyse.hfm-weimar.de/doku.php?id=mowo (Maus-Rechts-Klick auf den Link: "Link-Adresse kopieren"). Wir laden nun den ersten Satz des Streichquartetts No. 1, D-Dur, KV 80, von Wolfgang Amadeus Mozart.

Sie können sich die Datei auch zunächst auf Ihrem lokalen Rechner speichern (Maus-Rechts-Klick auf den Link: "Ziel speichern unter") und anschließend anstatt des URLs den lokalen Dateipfad eingeben. Auf diese Weise können Sie auch eigene Notendateien von Ihrer Festplatte einlesen:

Der 'converter.parse'-Befehl von music21 ist in der Lage, eine ganze Reihe unterschiedlicher Notenformate einzulesen - neben MusicXML (.xml) u.a. auch .krn, .abc, .mei und .mid (Midi). Eine Liste der konvertierbaren Notendatenformate finden Sie hier: https://web.mit.edu/music21/doc/moduleReference/moduleConverter.html

Sie können sich das Stück auch im Browser anhören - allerdings nur in einer Version mit MIDI-Klängen und wenn als Browser Firefox oder Chrome verwendet wird.

music21-Befehle sind in der Regel nach dieser Syntax aufgebaut: Am Beginn steht die Variable ('music'), die Sie selbst definiert haben. Dann folge der music21-Befehl ('show') - oder eine Reihe von Befehlen - und schließlich ein Attribut, wie der Befehl ausgeführt werden soll (hier: als 'midi' gezeigt bzw. abgespielt).

3.2 Abfrage von Metadaten

Die gesamte in der MusicXML gespeicherte Metadaten zum untersuchten Werk (Komponist, Werktitel, Entstehungsjahr, usw.) können mit dem folgenden Befehl angezeigt werden:

3.3. Anzeige von Notentexten

Notendaten können komplett oder in Ausschnitten, Stimmen etc. angezeigt werden. Bei längeren Stücken wird allerdings nur der Anfang im Browserfenster angezeigt. Zur Ansicht der kompletten Datei müssen Sie diese im Noteneditor öffnen.

3.4 Auswahl von Stimmen und Takten

3.5 Export der Grafiken als Bilddateien (pgn)

Zur Verwendung in anderen Computeranwendungen (Word, Powerpoint) können die Grafiken (als png-Datei) selbstverständlich exportiert werden:

4. Aufgaben

Laden Sie weitere Notendateien aus dem Notenarchiv (https://analyse.hfm-weimar.de/doku.php?id=komponisten) oder von Ihrer Festplatte. Testen Sie an diesen Dateien die hier vorgestellten Befehle.

Überlegen Sie sich dazu analytische Fragestellungen: Was würden Sie gerne über die Kompositionen erfahren?