advanced1

In diesem Modul werden Möglichkeiten erläutert, wie in einer Notendatei nach bestimmten Mustern gesucht werden kann.

Ganz allgemein sind Muster (engl.: patterns) mehrmals auftretende Strukturen. In Musik gibt es zahlreiche solche Muster: melodisch-rhythmische Motive, Begleitfiguren, Rhythmen, Akkordverbindungen usw. Viele dieser Muster treten zusätzlich in leicht (oder stärker) variierter Form auf, so z.B. melodische Motive auf anderen Tonstufen und mit zusätzlichen Tönen oder Begleitfiguren mit harmonischen Variationen.

Wiederholung und Variation sind zwei der grundlegenden Strukturprinzipien von Musik. Von großen Interesse ist daher die Frage, wie in einer Komposition, einer Gattung oder im Schaffen eines Komponisten die Prinzipien der Wiederholung und Variation zum Tragen kommen. Hierbei kann es von Vorteil sein, bestimmte Muster automatisiert zu suchen, zu identifizieren sowie aufzulisten oder im Notentext zu kennzeichnen. Man spricht in diesem Zusammenhang auch von Pattern Mining. Dies wird in den beiden Tutorials anhand zweier Kompositionen von Josquin und Beethoven dargestellt:

Einen schnellen und umkomplizierten Einstieg in die Möglichkeiten der computergestützten Musikanalyse mit music21 bietet das interaktive Programm Interaktive Musikanalyse. Dort können Sie durch die Auswahl von Optionen mehrere Möglichkeiten der Suche nach Tonfolgen kennenlernen, ohne sich auf die Befehlssyntax von music21 und die Funktionsweise der Jupyter Notebooks einlassen zu müssen. (Voraussetzung ist die Installation von Anaconda bzw. Miniconda.)

In dieser Einführung wird die Thematik der Mustersuche zunächst näher eingegrenzt.

Die einfachste und bereits sehr ergiebige Suchmöglichkeit ist die

  • Suche nach bestimmten Tonhöhenfolgen (ohne Dauernwerten).

Nimmt man die rhythmische Struktur hinzu (also mit Dauernwerten), so ergibt sich eine

  • Suche nach Melodiezellen als rhythmisierten Tonhöhenfolgen.

Diese beiden Suchmöglichkeiten sind mit music21 möglich und werden im ersten Tutorial Jupyter_Noten_Advanced_Part1_Josquin (Jupyter-Notebook; html preview) detailliert am Beispiel einer Messenkomposition von Josquin dargestellt.

Neben der Suche nach identischen Zellen/Mustern, gibt es verschiedene Möglichkeiten der unscharfen Suche:

  • Suche nach Intervallfolgen bzw. nach chromatischen Transpositionen einer Melodiezelle.
  • Suche nach diatonischen Transpositionen (innerhalb einer Tonart, d.h. einzelne Intervalle werden verändert).
  • Suche nach Variationen, bei denen einzelne Töne bzw. Intervalle oder Dauernwerte der Melodiezelle verändert sind.
  • Suche nach Variationen, bei denen zusätzliche Töne eingeschoben sind oder fehlen.

In music21 lässt sich von diesen mannigfaltigen unscharfen Suchmöglichkeiten leider nur die erste Möglichkeit auf verlässliche Weise realisieren, wobei hier der Weg über Transpositionen gewählt werden muss. Sie wird im Jupyter_Noten_Advanced_Part2_Beethoven (Jupyter-Notebook; html preview) dargestellt.
Eine Suche nach Intervallfolgen ist mit dem Tool CAMAT auf recht einfache Weise möglich, s. Modul Advanced Notenanalyse mit CAMAT.

Die Eingabe der Suchanfrage in music21 erfolgt als Melodiezelle in einer einfach zu erlernenden Noten-Syntax.

Die Ausgabe der Suchergebnisse erfolgt in Form von Listen (Stimme, Takt und Taktposition als Beginn des gesuchten Musters) oder einer Kennzeichnung in der Partitur, die ausschnittsweise im Browser sowie komplett über MuseScore angesehen werden kann.

Die Suche ist natürlich auch in mehreren Stücken möglich: Eine Eingrenzung des Suchkorpus kann nach verschiedenen Kriterien vorgenommen werden, u.a. Komponist, Gattung und Zeitraum.

Suchmöglichkeiten nach melodischen Motiven in verschiedenen Noten-Korpora bieten der Themefinder von David Huron sowie Musiconn Score Search der Bayrischen StaatsBibliothek.

Im Rahmen der Forschungsprojekte Jazzomat Research Projects und Dig That Lick wurden Tools zur Online-Suche von gleichen und ähnlichen Patterns in Jazzimprovisationen (der Weimar Jazz Database und dem DTL1000 Dataset) entwickelt: Similarity Search.

  • advanced1.txt
  • Zuletzt geändert: 2022/01/20 08:09
  • von martin