Fakultät für Informatik Professur Datenverwaltungssysteme Diplomarbeit Entwicklung und Implementierung von Vergleichsoperationen für symbolische Tondokumente Michael Rentzsch Chemnitz, 03. Oktober 2005 2 Autor: Michael Rentzsch Reichenhainer Straße 37/486 09126 Chemnitz Matrikelnummer: 24758 E-Mail: [email protected] geboren am 07.04.1981 in Werdau Hochschullehrer: Professor Dr. W. Benn Betreuer: Dr.-Ing. F. Seifert Ausgabe: 28.04.2005 Eingereicht am: 04.10.2005 3 Aufgabenstellung Im Rahmen des Projektes musikalische Datenbanken soll auf Basis des Leadsheet-Modells die Identifizierung und gegenseitige Zuordenbarkeit verschiedener Instanzen desselben Musikstücks realisiert werden. Dazu müssen geeignete Abstandsmaße für musikalische Linien, Harmonien und rhythmische Informationen gefunden und evaluiert werden. Des Weiteren sind die mögliche Einbeziehung weiterer Musikparameter zu untersuchen, die individuelle Bedeutung verschiedener Parameter für die Ähnlichkeitsuntersuchung festzustellen und diese in ein geeignetes kombiniertes Distanzmaß einfließen zu lassen. 4 Danksagung An dieser Stelle möchte ich mich bei allen bedanken, die mich bei der Fertigstellung dieser Arbeit unterstützt haben. Zuerst bedanke ich mich bei Herrn Professor Dr. Benn und den Mitarbeitern der Professur Datenverwaltungssysteme der TU Chemnitz für die gute Betreuung und die anregenden Diskussionen zu verschiedenen Fragen rund um das Thema Musikdatenbanken. Herrn J. D. Koftinoff danke ich für die Entwicklung der MIDI-Bibliothek Libjdkmidi, die ich in der Implementierung zu dieser Arbeit verwende. Ohne die Anstrengungen von Jean-François Moine, dem Programmierer von abcm2ps, und den Entwicklern der LATEX-Gemeinde würde diese Arbeit nicht so aussehen, wie sie es tut. Herrn Raphael Kunis danke ich für das Korrekturlesen der Arbeit. Bei meiner Familie möchte ich mich für die viele Unterstützung während meines Studiums bedanken. Ganz besonders danke ich meiner Frau Katrin. Ohne ihre aufmunternden Worte, aber auch ohne den einen oder anderen Ansporn wäre diese Diplomarbeit sicher nicht oder nicht rechtzeitig fertig geworden. 5 Selbstständigkeitserklärung Hiermit erkläre ich, dass ich die vorliegende Arbeit selbstständig und nur unter Verwendung der angegebenen Literatur und Hilfsmittel angefertigt habe. Michael Rentzsch Chemnitz, den 03. Oktober 2005 6 Inhaltsverzeichnis 1 Einleitung 2 Musikalische Grundlagen 1.1 1.2 2.1 2.2 2.3 Musikalische Datenbanken . . . . . . . . . . . . . . . . . . . . . . . . . . . Kapitelübersicht . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Darstellung von Melodie und Rhythmus . . . . . . . . . . . . . . . . . . . . Intervalle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Harmonielehre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Datenformate zur Speicherung von Musik 4 Das Leadsheet-Modell 5 3.1 3.2 3.3 4.1 4.2 Darstellung von Leadsheets als Bäume . . . . . . . . . . . . . . . . . . . . . Darstellung von Leadsheets als Graphen . . . . . . . . . . . . . . . . . . . . Ähnlichkeitsoperation für Motive 5.1 5.2 5.3 5.4 6 Subsymbolische Datenformate . . . . . . . . . . . . . . . . . . . . . . . . . Symbolische Datenformate . . . . . . . . . . . . . . . . . . . . . . . . . . . Verwendetes Datenformat . . . . . . . . . . . . . . . . . . . . . . . . . . . . Kontinuum musikalischer Parameter 5.1.1 Melodie . . . . . . . . . . . 5.1.2 Rhythmus . . . . . . . . . . 5.1.3 Tempo . . . . . . . . . . . 5.1.4 Harmonisierung . . . . . . . 5.1.5 Tonhöhe (Transposition) . . Haupt- und Nebenstimmen . . . . . Wichtigkeit der Parameter . . . . . Resultierende Ähnlichkeit E . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.1 6.2 6.3 6.4 6.5 6.6 6.7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 3 5 5 8 8 12 13 14 15 16 16 19 23 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 25 26 27 28 29 30 31 32 Graphen im Multimedia Retrieval . . . . . . . . . . . Repräsentation von Tondokumenten als Graphen . . . Distanzmaße für Graphen . . . . . . . . . . . . . . . . Editierdistanz für Graphen . . . . . . . . . . . . . . . Transformation von Schablonen zu Bäumen . . . . . . Distanzmaß für Schablonen auf Basis der Editierdistanz Nachteile des graphbasierten Distanzmaßes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 36 37 38 39 40 41 Graphbasiertes Distanzmaß für Tondokumente . . . . . . . . . 1 35 i 7 Semantikorientiertes Distanzmaß für Tondokumente 7.1 7.2 7.3 8 9 Betrachtung der Distanz auf verschiedenen Ebenen . 7.1.1 Zeitliche Ebene . . . . . . . . . . . . . . . . 7.1.2 Strukturelle Ebene . . . . . . . . . . . . . . 7.1.3 Semantische Ebene . . . . . . . . . . . . . . 7.1.4 Motivebene . . . . . . . . . . . . . . . . . . Zusammenfassung der Ebenen zu einem Distanzwert Bewertung des semantikorientierten Distanzmaßes . Vorstellung der Prototypimplementierung CoSMIc 8.1 8.2 8.3 8.4 8.5 8.6 8.7 8.8 Entwicklungsplattform . . . . . . . Übersetzung und Installation . . . . Programmablauf und -komponenten Anwendung . . . . . . . . . . . . . Melodieerkennung . . . . . . . . . Harmonieerkennung . . . . . . . . Verfahren zur Motivsuche . . . . . . Experimente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 44 45 46 47 47 49 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 51 52 53 58 58 59 61 Auswertung und Ausblicke 9.1 9.2 9.3 9.4 43 Kritische Betrachtung der Ähnlichkeitsoperation für Motive . . . . . . . . . Kritische Betrachung der Implementierung CoSMIc . . . . . . . . . . . . . . Ideen für weiterführende Arbeiten . . . . . . . . . . . . . . . . . . . . . . . 9.3.1 Verwaltung des Leadsheet-Graphen in einer Datenbank . . . . . . . . 9.3.2 Automatische Erkennung charakteristischer Motive in Originaldokumenten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.3.3 Konfiguration der Gewichtungsparameter der Ähnlichkeitsoperation für Motive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.3.4 Indexierung von Tondokumenten . . . . . . . . . . . . . . . . . . . Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A Intervallübersicht B Das MIDI-Datenformat B.1 Header Chunk (MThd) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B.2 Track Chunk (MTrk) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 64 65 66 67 68 69 70 71 72 73 74 74 75 C Harmonieformen 78 D Hierarchie möglicher Relationen 79 E Datenformat zur Spezifikation des Leadsheet-Graphen E.1 Beispieldefinition: nodes.dat . . . . . . . . . . . . . . . . . . . . . . . . . E.2 Beispieldefinition: edges.dat . . . . . . . . . . . . . . . . . . . . . . . . . ii 80 81 85 F Konfigurationsparameter für CoSMIc 86 G Tondokumente für Experimente 87 H Abkürzungsverzeichnis 91 Literaturverzeichnis 93 iii iv Abbildungsverzeichnis 1.1 Anwendungsgebiete des Multimedia-Retrievals . . . . . . . . . . . . . . . . 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 2.10 2.11 2.12 2.13 2.14 2.15 2.16 Griechische Notenschrift, Quelle: [Wikipedia1] . . . . . . . . G-Dur Dreiklang im heute verwendeten Notensystem . . . . . Häufig verwendete Notenschlüssel . . . . . . . . . . . . . . . Oktavräume . . . . . . . . . . . . . . . . . . . . . . . . . . . Stammtonreihe . . . . . . . . . . . . . . . . . . . . . . . . . Parallele Tonarten: C-Dur und a-Moll . . . . . . . . . . . . . Häufig verwendete Notenwerte . . . . . . . . . . . . . . . . . Gitarrentabulatur . . . . . . . . . . . . . . . . . . . . . . . . Quintenzirkel mit paralleler Moll-Tonart . . . . . . . . . . . . Akkordformen: gleichzeitig und gebrochen (Arpeggio) gespielt Leitereigene Dreiklänge in C-Dur . . . . . . . . . . . . . . . C-Dur Kadenz . . . . . . . . . . . . . . . . . . . . . . . . . . C-Dur Kadenz in T5 S3 D8 T5 - Form . . . . . . . . . . . . . Reines, harmonisches und melodisches a-Moll . . . . . . . . . Harmonische a-Moll Kadenz . . . . . . . . . . . . . . . . . . C-Dur Kadenz mit Dominantseptakkord . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 6 6 6 7 7 8 8 9 9 9 10 10 10 11 11 3.1 Subsymbolische und symbolische Darstellung von Musik . . . . . . . . . . . 12 4.1 4.2 4.3 4.4 4.5 4.6 4.7 Charakteristisches Motiv zu „Hänschen klein“ Nichtcharakteristisches Motiv . . . . . . . . Motivbestandteile von „Hänschen klein“ . . . Leadsheetbaum zu „Hänschen klein“ . . . . . Gemeinsame Verwendung eines Elements E . Einfügen eines extra LS-Knotens . . . . . . . Beispiel eines Leadsheet-Graphen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 17 18 18 19 20 22 5.1 5.2 5.3 5.4 5.5 5.6 5.7 5.8 5.9 Melodiekontur des Motivs „Hänschen klein“ . . . . . . . . . . . Variationen des Motivs „Hänschen klein“ . . . . . . . . . . . . Änderung eines Tones . . . . . . . . . . . . . . . . . . . . . . . Änderung von Tonlängen . . . . . . . . . . . . . . . . . . . . . Verhältnis der Tempi . . . . . . . . . . . . . . . . . . . . . . . Vergleich der Harmonisierungen . . . . . . . . . . . . . . . . . „Hänschen klein“ in verschiedenen Tonhöhen . . . . . . . . . . Faktoren der Musikähnlichkeit nach [Uitdenbogerd/Zobel1998] „Hänschen klein“ in einer Nebenstimme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 24 25 27 28 29 30 30 31 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 v vi 5.10 Gewichtungsverteilung der musikalischen Parameter . . . . . . . . . . . . . 5.11 Motivvariation „Hänschen klein“ in Melodie, Rhythmus und Tempo . . . . . 32 33 6.1 6.2 6.3 6.4 6.5 Modellierung eines Bildes als Graph . . . . . . . Ein Tondokument mit identifizierten Motiven . . Schablone für den Anfang von „Hänschen klein“ Zwei ähnliche Graphen . . . . . . . . . . . . . . Schablone als geordneter, unattributierter Baum . . . . . . 35 36 37 38 40 7.1 7.2 7.3 Schablone mit semantischen Informationen . . . . . . . . . . . . . . . . . . Bestimmung der Schnittmenge zweier Tondokumente . . . . . . . . . . . . . „Versionen“ eines Leadsheets . . . . . . . . . . . . . . . . . . . . . . . . . . 43 44 45 8.1 8.2 8.3 8.4 8.5 8.6 8.7 8.8 8.9 8.10 Quelltext mit Doxygen-Kommentaren . . . . . . . . . . . . . . . . . CoSMIc Screenshot . . . . . . . . . . . . . . . . . . . . . . . . . . . Beispielausgabe von CoSMIc . . . . . . . . . . . . . . . . . . . . . . Screenshot des Programms generateRelationNo . . . . . . . . . . Klavierpartitur (Ausschnitt) . . . . . . . . . . . . . . . . . . . . . . . Mehrere mögliche Harmonien: C7+ oder e6? . . . . . . . . . . . . . Hoher Aufwand beim Finden aller möglichen Tonfolgen (vereinfacht) Aufbau eines Suchintervalls . . . . . . . . . . . . . . . . . . . . . . Distanzwerte zu „Alle meine Entchen“ im 3D-Diagramm . . . . . . . Distanzwerte zu „Hänschen klein“ im 3D-Diagramm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 55 56 57 58 59 60 60 62 63 9.1 9.2 9.3 9.4 9.5 9.6 9.7 9.8 Als gleichwertig betrachtete Variationen des „Hänschen klein“-Motivs Verschiedene Melodievariationen desselben Motivs . . . . . . . . . . Nichtkreuzende und sich kreuzende Streams . . . . . . . . . . . . . . Modellierung des Leadsheet-Graphen im Relationalen Modell . . . . Melodieverlauf am Beginn von „Hänschen klein“ . . . . . . . . . . . Schicksalsmotiv aus Beethovens 5. Sinfonie . . . . . . . . . . . . . . Struktur eines künstlichen neuronalen Netzes, Quelle: [Wikipedia2] . Indexierung über Tondokumenten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 66 67 68 69 69 70 71 B.1 Aufbau einer MIDI-Datei . . . . . . . . . . . . . . . . . . . . . . . . . . . . B.2 Aufbau eines MIDI-Headers . . . . . . . . . . . . . . . . . . . . . . . . . . 74 75 D.1 Relationenhierarchie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 G.1 G.2 G.3 G.4 G.5 G.6 G.7 87 87 88 88 89 89 90 . . . . . . . . . . . . . . . . . . . . „Alle meine Entchen“, exakt . . . . . . . . . . . . . . . „Alle meine Entchen“ mit Motivvariationen . . . . . . . „Alle meine Entchen“ mit Strukturänderungen . . . . . . „Hänschen klein“, exakt . . . . . . . . . . . . . . . . . „Hänschen klein“ mit Motivvariationen . . . . . . . . . „Hänschen klein“ mit Strukturänderungen . . . . . . . . Medley aus „Alle meine Entchen“ und „Hänschen klein“ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Tabellenverzeichnis 4.1 Zuordnung der Bitposition (von rechts nach links) zum Beziehungstyp . . . . 21 7.1 7.2 7.3 Bewertung von strukturellen Veränderungen . . . . . . . . . . . . . . . . . . Bewertung identifizierter Motive bzw. Leadsheets . . . . . . . . . . . . . . . Einfluss der vier Ebenen auf den Distanzwert . . . . . . . . . . . . . . . . . 45 46 48 8.1 8.2 Beschreibung der Klassen von CoSMIc . . . . . . . . . . . . . . . . . . . . . Ergebnisse des Experiments mit CoSMIc . . . . . . . . . . . . . . . . . . . . 54 62 A.1 Wichtige Intervalle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 B.1 Mögliche Werte für MIDI-Typ . . . . . . . . . . . . . . . . . . . . . . . . . B.2 MIDI Events und ihre Parameter . . . . . . . . . . . . . . . . . . . . . . . . B.3 Wichtige Meta Events und ihre Parameter . . . . . . . . . . . . . . . . . . . 75 76 77 C.1 Gültige Harmonieformen . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 Konfigurationsparameter für CoSMIc . . . . . . . . . . . . . . . . . . . . . . 86 F.1 vii viii 1 Einleitung Musik stellt einen wichtigen Faktor in unserem Leben dar. Sie begleitet uns in aktiver Form, also beim selbst Musizieren, viel mehr noch aber in passiver Form jeden Tag. Wenn wir Auto fahren, wenn wir einkaufen gehen oder – dank des aktuellen Trends zu tragbaren MP3Abspielgeräten – wenn wir Sport treiben oder mit dem Zug fahren, Musik ist fast immer dabei. Es ist daher nicht verwunderlich, dass in den letzten Jahrzehnten große Anstrengungen unternommen wurden, Musik mit Computern nutzbar zu machen. Ergebnis dieser Anstrengungen ist, dass viele Arbeiten auf dem Gebiet der Musik bereits mit einfachen PCs unterstützt werden. Dazu gehören: • das Abspielen von Musik (CDs oder Audiodateien), • (mehrspurige) Aufnahme von Musik, • die Speicherung großer Mengen an Audiodaten durch Kompressionsverfahren für Musikdateien, • die Steuerung elektronischer Instrumente (z. B. Synthesizer), • automatischer bzw. manueller Notensatz, u. v. a. 1.1 Musikalische Datenbanken Diese Diplomarbeit entstand im Rahmen des Projektbereichs „Musikalische Datenbanken“ der Professur Datenverwaltungssysteme an der Technischen Universität Chemnitz. Ziele dieses Projekts sind der Entwurf und die Erprobung von Konzepten für ein System zur Verwaltung großer Mengen an Musikdaten. Dazu gehört nicht nur die Speicherung und das zur Verfügung stellen der vorhandenen Daten, sondern auch die Möglichkeit, spezielle Anfragen zu bearbeiten, die im Bereich Musik typisch sind. Bei diesen Anfragen spielen folgende Kriterien eine wichtige Rolle: • Metadaten (Titel, Komponist, Zeit), • Einfache musikalische Information (Tempo, Tonart, Taktart), • Komplexe musikalische Informationen (Stil, Rhythmus) und • Ähnlichkeit von Tondokumenten. Während die Spezifikation der Metadaten in den meisten Fällen manuell erfolgen muss, stellen Speicherung und Abfrage dieser strukturierten Informationen kein Problem für heutige 1 Einleitung Datenbanksysteme dar. Werden die musikalischen Informationen „von Hand“ eingegeben, so können auch diese problemlos gespeichert und angefragt werden – das Problem der unterschiedlichen Interpretation von Musik durch mehrere Hörer sei an dieser Stelle vernachlässigt. Allerdings gestaltet sich der Aufbau einer Datenbank über einer großen Menge von Tondokumenten weitaus weniger zeitaufwändig, wenn diese Informationen durch Computer selbstständig gewonnen werden können. Deshalb gibt es bereits viele Arbeiten, die die genannten Daten (Tempo, Tonart, . . . ) automatisch aus Musikstücken extrahieren. Für die als „einfach“ bezeichneten Informationen ist dies zur Zeit sehr gut möglich ([Eppelt2002], [Stigge2004], . . . ) aber auch für die komplexen gibt es aktuelle Ansätze, die zumeist auf Methoden der Künstlichen Intelligenz basieren. Die Ähnlichkeit von Tondokumenten zu ermitteln ist bisher nur schwer möglich. Es gibt Werkzeuge, die dies für Klangdateien anhand der Überlagerung von Frequenspektren zu lösen versuchen. Dieser Ansatz ist allerdings weder flexibel noch berücksichtigt er die inhaltliche Bedeutung (Semantik) von Musik. Anfragen der Art „Welche Tondokumente im Datenbestand klingen wie ‚Hänschen klein‘?“ können damit nicht beantwortet werden. Gerade die Anfragen nach Ähnlichkeit und ihre Bearbeitung sind aber in allen Teilgebieten des Multimedia-Retrievals1 (siehe Abbildung 1.1) besonders interessant. Abbildung 1.1: Anwendungsgebiete des Multimedia-Retrievals Deshalb beschäftigt sich die vorliegende Arbeit mit dem Entwurf einer Vergleichsoperation für symbolische musikalische Tondokumente, die bestimmen soll, wie „ähnlich“ sich diese sind. Dazu wird die Idee des Leadsheet-Modells, das ebenfalls am Lehrstuhl Datenverwaltungssysteme entstanden ist, verwendet. Es basiert auf der Wiedererkennung charakteristischer Motive in Musikstücken. Mit Hilfe dieser Operation soll es dann nicht nur möglich 1 Verarbeitung 2 von Bildern, Videos, Musik und Texten Einleitung sein, die genannten Anfragen nach der Ähnlichkeit von Tondokumenten zu beantworten, sondern auch durch eine Gruppierung zusammengehörender Stücke, die Antwort in entsprechend schneller Zeit zu gewinnen. Zur Umsetzung dieser Gruppierung wird die in der Datenbankwelt gängige Methode vorgesehen, einen Index über den Datenbestand – also die Musikdokumente – zu bilden. 1.2 Kapitelübersicht Im nächsten Kapitel werden zuerst die zum Verständnis der Arbeit benötigten musikalischen Grundlagen vorgestellt. Diese umfassen die Notation von Musik (Melodie und Rhythmus), die Intervalle und einige Informationen zur Harmonielehre. Natürlich kann ein solches einleitendes Kapitel ein musikalisches Lehrbuch nicht ersetzen. Sollte der Leser an der ein oder anderen Stelle vertiefte Informationen benötigen, sei er auf die entsprechende Literatur zur Musiktheorie verwiesen. Im dritten Kapitel werden verschiedene Datenformate zur Speicherung von Musik auf einem Computersystem vorgestellt. Dabei werden sowohl symbolische als auch subsymbolische Formate erläutert. Es werden die Unterschiede zwischen den einzelnen Dateitypen genannt und eventuelle Vor- und Nachteile diskutiert. Im letzten Abschnitt des Kapitels wird erläutert, welches Datenformat für Tondokumente in dieser Diplomarbeit Verwendung findet und welche Gründe es dafür gibt. Im Kapitel 4 wird das in dieser Arbeit verwendete Modell zur Wiedererkennung von Musik vorgestellt. Es wurde bereits erwähnt, dass dieses Modell ebenfalls an der Professur Datenverwaltungssysteme (in [Seifert2004]) entwickelt wurde und auf der Identifikation charakteristischer Motive beruht. Es wird zuerst der Modellteil erläutert, der zu Beginn dieser Arbeit vorlag. Im zweiten Abschnitt des Kapitels wird eine Erweiterung diskutiert, die benötigt wurde, um die später vorgestellten Konzepte zu ermöglichen. Zur Identifikation der charakteristischen Motive in Musikstücken wird im Kapitel 5 eine Ähnlichkeitsoperation für Motive definiert. Diese vergleicht eine Tonfolge mit einem spezifizierten Motiv auf Basis verschiedener musikalischer Parameter und bestimmt, ob sich diese „ähnlich“ sind, d. h. ob und – wenn ja – wie gut ein Hörer die Tonfolge als das gegebene Motiv wiedererkennt. In den darauf folgenden beiden Kapiteln, 6 und 7, werden zwei verschiedene Distanzmaße für den Vergleich von symbolischen Tondokumenten (Musikstücken), die im Rahmen dieser Diplomarbeit entwickelt wurden, vorgestellt. Das erste basiert auf der Repräsentation von Musikstücken als Graphen und der Berechnung der Ähnlichkeit zwischen diesen. Das zweite Distanzmaß ist an der Semantik von Musik orientiert. Beide Maße werden jeweils im letzten Abschnitt der Kapitel bewertet und es wird begründet, warum die Entscheidung bei der Experimentierumgebung zugunsten des gewählten ausfiel. Aufgabe dieser Arbeit war nicht nur die Entwicklung von Vergleichsoperationen für symbolische Tondokumente, sondern auch die Implementierung dieser Operationen zu Testzwecken. 3 Einleitung Deshalb entstand die Prototypapplikation CoSMIc, die im Kapitel 8 beschrieben wird. Dabei wird sowohl auf technische Details als auch auf einige der verwendeten Verfahren eingegangen. Zum Abschluss des Kapitels werden einige Experimente vorgestellt, die mit Hilfe von CoSMIc durchgeführt wurden. Sie dienen dazu, die praktische Anwendbarkeit der Konzepte aus den Kapiteln 5 bis 7 zu untersuchen. Im letzten Kapitel werden die Ergebnisse der Arbeit zusammengefasst und kritisch bewertet. Dabei werden auch Verbesserungsvorschläge diskutiert. Außerdem werden mehrere Ideen für zukünftige Projekte im Anschluss an diese Arbeit präsentiert. Diese reichen von Vorschlägen zur Steigerung der Qualität der entwickelten Konzepte bis hin zu neuen Projekten, die die Ergebnisse dieser Diplomarbeit als Grundlage haben. Im Anhang zu dieser Arbeit befinden sich einige größere Tabellen und Übersichten sowie zwei Kapitel zur Vorstellung eines Datenformats zur Spezifikation von Leadsheet-Graphen und zur Erläuterung der technischen Besonderheiten von MIDI-Dateien. Außerdem findet der Leser dort die Noten zu den Experimenten, die im Kapitel 8 erläutert werden. 4 2 Musikalische Grundlagen In diesem Kapitel werden die musikalischen Grundlagen, die zum Verständnis der vorliegenden Arbeit notwendig sind, eingeführt. Die nachfolgend vorgestellten Konzepte und Festlegungen sind bereits über 900 Jahre alt und ein wichtiger Bestandteil jeder musikschulischen Ausbildung. Weiterführende Literatur zu den an dieser Stelle beschriebenen Grundlagen findet der interessierte Leser unter anderem in [Vinci88], [Apel62] und [Stockhausen60]. Im ersten Abschnitt des Kapitels wird ausführlich auf die heute gebräuchliche Form der Notation von Musik eingegangen, die auf den italienischen Musiktheoretiker Guido von Arezzo (um 992 – 1050) zurückgeht. Alternative Notationsformen werden aber ebenfalls genannt. Im darauf folgenden Abschnitt werden Tonhöhenabstände, die sogenannten Intervalle, näher betrachtet. Diese spielen im Zusammenhang mit den Gestaltgesetzen eine wichtige Rolle bei der Betrachtung, welche Tonfolgen wir Menschen als „Melodien“ wahrnehmen. Im letzten Abschnitt wird ein kurzer Überblick über die Harmonielehre gegeben. Sie befasst sich mit dem Zusammenklang von Tönen, wie er in der traditionellen Musik verwendet wird. Dabei sind die Begriffe Akkord und Kadenz von besonderer Relevanz. 2.1 Darstellung von Melodie und Rhythmus Noten waren jahrhundertelang – neben der Überlieferung durch auswendig spielen oder singen – die einzige Möglichkeit, Musik von einer Generation an die nächste weiterzugeben. Deshalb ist es nicht verwunderlich, dass Historiker Anzeichen für eine bereits seit dem 3. Jahrhundert v. Chr. existierende Notenschrift gefunden haben. Die älteste heute vollständig entschlüsselte Notation ist die griechische (dargestellt in Abbildung 2.1). Sie verwendet Buchstaben und Symbole, um die Tonhöhe und -dauer anzugeben. Leider ist nicht genau bekannt, wann diese Notationsform entstanden ist. Unterschiedliche historische Quellen lassen ihren Entstehungszeitpunkt zwischen 700 und 250 v. Chr. vermuten. Abbildung 2.1: Griechische Notenschrift, Quelle: [Wikipedia1] 5 Musikalische Grundlagen Die Vorform unserer heutigen Notenschrift wurde im 9. Jahrhundert in europäischen Klöstern entwickelt. Dabei wurden sogenannte Neumen, die eine bestimmte musikalische Wendung repräsentierten, über dem Liedtext notiert. Guido von Arezzo entwickelte dann zu Beginn des 11. Jahrhunderts ein System, bei dem diese Neumen auf ursprünglich vier, mit unterschiedlichen Farben gezeichneten Linien gesetzt wurden. Diese Linien stellten den Tonabstand einer Terz dar. Weiterhin wurde ein Notenschlüssel verwendet, um die exakte Tonhöhe festzulegen. Im Frankreich des 16. Jahrhunderts enstand dann die fünflinige Notenzeile, die gegenwärtig noch verwendet wird. Außerdem wurden der Bass- und der Violinschlüssel eingeführt – vorher wurde nur vom c-Schlüssel Gebrauch gemacht. (2) (3)(4) (5) (1) 4 4 Abbildung 2.2: G-Dur Dreiklang im heute verwendeten Notensystem Abbildung 2.2 zeigt den G-Dur Dreiklang im heute verwendeten Notensystem. Es besteht aus den fünf Notenlinien (1), dem Notenschlüssel (2), der Angabe der Ton- (3) und Taktart (4) sowie den Noten (5). In diesem Beispiel wird der Violinschlüssel eingesetzt. Er legt die Note g’ auf der zweituntersten Linie fest. Weitere häufig gebrauchte Schlüssel sind der Bass-, der Alt-, der Tenor- und der Schlagzeugschlüssel. Alle eben genannten Notenschlüssel sind in Abbildung 2.3 dargestellt. Abbildung 2.3: Häufig verwendete Notenschlüssel Das abendländische Tonsystem wird ausgehend vom Ton c in Oktaven unterteilt, die sich jeweils über 12 Halbtöne erstrecken. Die Oktavräume haben verschiedene Namen (vgl. Abbildung 2.4), von der Subkontraoktave zur n-gestrichenen Oktave, wobei selten Werte größer als 5 für n betrachtet werden. 8 8 C’’’ (Subkontra−) C’’ (Kontra−) C c c’ c’’ c’’’ c’’’’ c’’’’’ Abbildung 2.4: Oktavräume Innerhalb eines Oktavraumes werden die Töne ausgehend von der a-Moll Tonleiter mit Buchstaben benannt. Die dadurch entstehende Stammtonreihe ist in Abbildung 2.5 dargestellt. Der 6 Musikalische Grundlagen Notenname b wurde im Deutschen aufgrund der Verwechselungsgefahr mit dem Versetzungszeichen [ zu h geändert. Wird ein Ton durch ein Kreuz (]) um einen Halbton erhöht, so wird an seinen Namen das Suffix „is“ angehängt. Ein durch ein Be ([) nach unten versetzter Ton wird im Regelfall durch die Nachsilbe „es“ gekennzeicht. Ausnahmen bilden die Töne e, a und h, sie werden zu es, as und b. 4 4 c’ d’ e’ f’ g’ a’ h’ Abbildung 2.5: Stammtonreihe Die meisten Musikstücke schöpfen den aus 12 Halbtonschritten bestehenden Tonvorrat einer Oktave nicht aus. Stattdessen beschränkt man sich auf die acht Töne einer Tonart. Jede Tonart ist durch ihren Grundton und ihr Geschlecht, bestimmt durch eine Folge von Tonhöhenabständen (Intervallen, siehe Abschnitt 2.2), gekennzeichnet. Die beiden am häufigsten verwendeten Tongeschlechter sind Dur und Moll. Sie sind durch folgende Intervallfolgen gegeben: • Dur: Ganzton, Ganzton, Halbton, Ganzton, Ganzton, Ganzton, Halbton • Moll: Ganzton, Halbton, Ganzton, Ganzton, Halbton, Ganzton, Ganzton Dur- und Moll-Tonarten, die durch die gleichen Vorzeichen gekennzeichnet sind, heißen parallele Tonarten. Dies ist immer dann der Fall, wenn der Grundton der Moll-Tonart 1 12 Töne tiefer als der Grundton der Dur-Tonart ist. Abbildung 2.6 zeigt die C-Dur Tonleiter mit ihrer Mollparallelen a-Moll. 4 4 4 4 Abbildung 2.6: Parallele Tonarten: C-Dur und a-Moll Die relative Länge eines Tones wird durch die Art der verwendeten Note angegeben. Die gebräuchlichsten Notenwerte sind 32-tel, 16-tel, Achtel-, Viertel-, Halbe und Ganze Noten. Wie die mathematische Darstellung vermuten lässt, ist jede der genannten Noten doppelt so lang wie der vorher aufgeführte Typ. Die grafische Notation der verschiedenen Notenwerte ist in Abbildung 2.7 wiedergegeben. Ein Punkt hinter einer Note verlängert diese um die Hälfte ihrer Zählzeit. Obwohl sich das in diesem Abschnitt vorgestellte Notensystem weitgehend durchgesetzt hat, wird ihm von Kritikern oft vorgeworfen, zu sehr an den Bedürfnissen gesungener Musik ori- 7 Musikalische Grundlagen Abbildung 2.7: Häufig verwendete Notenwerte entiert und für Instrumentalmusik schlecht geeignet zu sein. Deshalb haben sich auch einige alternative Notationsmethoden entwickelt. Eine dieser Methoden, die Tabulaturnotation, die vor allem in der Gitarrenmusik Verwendung findet, wird in Abbildung 2.8 gezeigt. e|------------------------------------------------H|------------------------------------------------G|------------------------------------------------D|-0-0-3-5--0-8-0-6-0-3-5--5-0-0-3-5--5-0-0-0-3-5-A|-0-0-3-5--0-8-0-6-0-3-5--5-0-0-3-5--5-0-0-0-3-5-E|-0-0-3-5--0-8-0-6-0-3-5--5-0-0-3-5--5-0-0-0-3-5-- Abbildung 2.8: Gitarrentabulatur 2.2 Intervalle Intervalle (lateinisch intervallum: Zwischenraum) wurden von dem römischen Philosophen Anicius Manlius Torquatus Severinus Boëthius (um 480 – 524 oder 525) als der Abstand zwischen zwei Tönen definiert, die gleichzeitig (harmonisches Intervall) oder nacheinander (melodisches Intervall) erklingen. Ihre Namen sind von den lateinischen Ordnungszahlen abgeleitet, wobei die Anzahl der Tonschritte in der Tonleiter und nicht die Anzahl der Halbtonschritte berücksichtigt wird. Tabelle A.1 im Anhang A, „Intervallübersicht“ (Seite 73), zeigt die wichtigsten Intervalle. Reine Intervalle, wie Prime, Quarte, Quinte, u. a., haben die gleichen Frequenzverhältnisse wie in der Obertonreihe. Bei der Oktave beträgt dieses Verhältnis 2 : 1. Je „einfacher“ das Frequenzverhältnis zweier Töne, desto wohlklingender (konsonanter) empfinden wir dieses Intervall. Ist das Verhältnis kompliziert (z. B. 16 : 15 bei der kleinen Sekunde), so empfinden wir das Intervall als dissonant. Reiht man, angefangen vom Ton c, die im Quintabstand liegenden Töne im Uhrzeigersinn auf einem Kreis aneinander, so erhält man den Quintenzirkel (siehe Abbildung 2.9). Dieser spielt unter anderem bei der Erklärung der Tonarten eine wichtige Rolle. Das Phänomen, dass Töne zwar gleich klingen aber unterschiedliche Namen haben, wie bei fis und ges, nennt man Enharmonische Verwechselung. 2.3 Harmonielehre Die Harmonielehre (lateinisch harmonia: Einklang) befasst sich mit den Funktionen bestimmter Akkordgestalten. Ein Akkord ist das gleichzeitige Erklingen mehrerer unterschiedlicher 8 PSfrag replacements Musikalische Grundlagen F B Es 2[ 3[ C 1[ a d G e g 4[ Des D h c As 1] 3] A fis f 5[ cis b dis es gis H 6] Fis 6[ 2] E 4] 5] Ges Abbildung 2.9: Quintenzirkel mit paralleler Moll-Tonart Töne. Der Begriff Harmonielehre geht auf das Werk „Traité l’Harmonie“ des französischen Komponisten und Musiktheoretikers Jean-Philippe Rameau (1683 – 1764) zurück. 4 4 Abbildung 2.10: Akkordformen: gleichzeitig und gebrochen (Arpeggio) gespielt Der Dreiklang, eine besondere Form des Akkords, wird gebildet, indem man gleichzeitig mit einem Grundton zwei darüber liegende Terzen erklingen lässt. Ausgehend von den Tönen einer Tonleiter lassen sich damit sieben (verschiedene) leitereigene Dreiklänge bilden (vgl. Abbildung 2.11). 4 4 T S D T Abbildung 2.11: Leitereigene Dreiklänge in C-Dur Die Dreiklänge, die über dem ersten, vierten und fünften Ton der Tonleiter gebildet werden haben besondere Namen: Tonika (T), Subdominante (S) und Dominante (D). Diese sind bei Dur-Tonleitern stets Dur-Akkorde, bei Moll-Tonleitern entstehen immer Moll-Akkorde. Spielt man die entsprechenden Dreiklänge nacheinander, so ergeben sich zwei fallende Quinten (siehe Abbildung 2.12). Daher heißt diese Akkordfolge Kadenz (lateinisch cadere: fallen). Sie spielt bei der Komposition von Begleitstimmen zu einer Melodie eine große Rolle. Dreiklänge können in drei verschiedenen Lagen auftreten: 1. Terzlage: Die Terz vom Grundton ist der oberste Ton, Beispiel: G C E 2. Quintlage: Die Quinte vom Grundton ist der oberste Ton, Beispiel C E G 9 Musikalische Grundlagen 4 4 Abbildung 2.12: C-Dur Kadenz 3. Oktavlage: Der Grundton ist der oberste Ton, Beispiel E G C Im Sinne einer linearen Stimmführung werden die Akkorde der Kadenz deshalb so umgestellt, dass sie möglichst „nah beieinander“ liegen. Abbildung 2.13 verdeutlicht diese Vorgehensweise. 4 4 Abbildung 2.13: C-Dur Kadenz in T5 S3 D8 T5 - Form Die bisher aufgeführten Grundlagen der Harmonielehre reichen aus, um eine einfache Begleitung zu Melodiestimmen zu entwickeln. Im Folgenden sollen noch einige wichtige Besonderheiten erläutert werden. Bildet man die Moll-Tonleiter nach der in Abschnitt 2.1 angegebenen Intervallfolge, befindet sich zwischen dem vorletzten und dem letzten Ton der entstehenden Tonleiter ein Ganztonschritt. Dieser „große“ Tonabstand wirkt für den Hörer nicht auflösend. Deshalb wird der siebente Ton um einen Halbton erhöht, es ensteht die harmonische Moll-Tonleiter. In dieser Form ist dann aber zwischen dem sechsten und dem siebenten Ton ein 1 12 Tonschritt. Um auch diesen zu vermeiden, wird der sechste Ton ebenfalls um einen Halbton erhöht. Es entsteht die melodische Moll-Tonleiter. Alle drei Varianten sind am Beispiel von a-Moll in Abbildung 2.14 dargestellt. 4 4 4 4 4 4 Abbildung 2.14: Reines, harmonisches und melodisches a-Moll Die erläuterte Umformung der Moll-Tonleiter hat natürlich auch Auswirkungen auf die Ka- 10 Musikalische Grundlagen denz. So wird meistens zur Begleitung die Dreiklangsfolge verwendet, die sich aus der harmonischen Tonleiter ergibt. Dazu wird der Dur-Akkord der Dominante benutzt. Die entstehende Akkordfolge wird – wieder am Beispiel von a-Moll – in Abbildung 2.15 gezeigt. 4 4 Abbildung 2.15: Harmonische a-Moll Kadenz Ein Akkord muss nicht immer nur aus drei Tönen bestehen. Passt einer der Töne nicht in das vorgestellte Dreiklangschema, spricht man von einer Dissonanz. Die wichtigste Dissonanz ist der Dominantseptakkord (vgl. Abbildung 2.16). Er wird gebildet, indem zum Dreiklang der Dominante dessen kleine Septime 1 hinzugenommen wird. Dieser Akkord verstärkt den „Auflösungstrend“ in der Kadenz. 4 4 Abbildung 2.16: C-Dur Kadenz mit Dominantseptakkord In diesem Abschnitt wurde eine grundlegende Einführung in die Harmonielehre gegeben. Weitere Ausführungen zu diesem Thema würden den Rahmen dieser Arbeit überschreiten. Der Leser sei deshalb an dieser Stelle auf die einschlägige Literatur verwiesen. Eine ebenfalls sehr interessante Vorstellung der Harmonielehre bietet die Internetseite [Koehn05]. 1 also die Quarte der Tonika 11 3 Datenformate zur Speicherung von Musik Seit der Einführung der Audio Compact Disc (CD) und der Durchsetzung von Soundkarten als Standardkomponenten in PCs (Personal Computer) hat Musik in digitalisierter Form Einzug in das tägliche Leben und die Arbeit am Computer gehalten. Dank moderner Komprimierungstechniken und ständig steigender Festplattenkapazitäten ist es möglich, viele Stunden Musik auf dem PC abzuspeichern. In diesem Kapitel werden die verschiedenen Datenformate zur Speicherung und Wiedergabe von Musik im Computer betrachtet. Grundsätzlich unterscheidet man hierbei zwischen zwei Arten von Formaten: Subsymbolische Datenformate, bei denen die Klangdaten als diskrete Darstellung des zeitlichen Verlaufs einer Schwingung vorliegen, und Symbolische Datenformate, bei denen musikalische Informationen, wie Melodie, Rhythmus und erklingende Instrumente, gespeichert werden. Abbildung 3.1: Subsymbolische und symbolische Darstellung von Musik In den nachfolgenden Abschnitten werden diese beiden Formattypen noch einmal genauer unterschieden und einige Vertreter genannt. 12 Datenformate zur Speicherung von Musik 3.1 Subsymbolische Datenformate Subsymbolische Datenformate für Audiodaten werden in verlustfreie und verlustbehaftete Formate unterschieden. Der berühmteste Vertreter des ersten Typs ist sicherlich das RIFF WAVE-Format (gekennzeichnet durch die Endung .wav). Der am häufigsten verwendete verlustbehaftete Audiodatentyp ist MPEG 1 -1 Audio Layer 3 (mit der Dateiendung .mp3). Die verlustfreien Audioformate werden zusätzlich in komprimiert und nicht komprimiert unterschieden. Bei komprimierten Formaten wird der Speicherbedarf der Signaldaten mit einem ZIP-ähnlichen Algorithmus, der aber besser auf die Eigenschaften von Klangdaten angepasst ist, reduziert. Dabei treten keine Qualitätsverluste auf. Bei verlustbehafteten Formaten werden die Eigenschaften des menschlichen Hörvorgangs ausgenutzt, um Informationen, die vom Menschen nicht oder nur sehr wenig wahrgenommen werden, nicht mit abzuspeichern. Damit werden höhere Kompressionsraten erzielt als mit komprimierten, verlustfreien Datenformaten. Dafür kommt es bei der Anwendung von verlustbehafteten Audiodateien zu Qualitätsverlusten, die der „geübte“ Musiker wahrnimmt. Weitere Informationen zu subsymbolischen Datenformaten sowie eine ausführlichere Beschreibung der in diesem Umfeld verwendeten Algorithmen findet man unter anderem in [Watkinson2001]. Nachfolgend werden die wichtigsten Audioformate kurz erläutert. RIFF WAVE (Dateiendung .wav): Das WAVE-Format wurde von Microsoft und IBM im Rahmen der für das Betriebssystem Windows definierten Resource Interchange File Formats festgelegt. Es handelt sich um ein verlustfreies, unkomprimiertes Audioformat. Die Qualität (und natürlich auch die Größe) einer WAVE-Klangdatei hängt von der Abtastrate und der Anzahl der Bits pro Sample, also dem mögliche Wertebereich der Amplitude, ab. AIFF (Dateiendung .aif[f]): Das verlustfreie Audio Interchange File Format (AIFF) wurde von der Firma Apple entwickelt und ist das Standard-Audioformat auf dem Macintosh. Es basiert auf dem Interchange File Format von Electronic Arts. AIFF-Dateien können auch komprimiert vorliegen, dann wird die Endung .aiffc verwendet. FLAC (Dateiendung .flac): Der Free Lossless Audio Codec (FLAC) ist ein komprimier- tes, verlustfreies Audioformat. Die Software zur Verarbeitung von Dateien dieses Formats ist frei verfügbar. Der besondere Vorteil des FLAC-Formats liegt in der schnellen Dekodierbarkeit. Weitere Informationen sind auf der Homepage des Projekts [FLAC] verfügbar. MP3 (Dateiendung .mp3): Beim MP3-Standard, eigentlich MPEG-1 Audio Layer 3, han- delt es sich um ein verlustbehaftetes Audioformat. Es werden psychoakustische Effekte ausgenutzt, um Informationen, die der Mensch nicht hört, z. B. einen leisen Ton, der kurz nach einem sehr lauten Ton auftritt, nicht mit abzuspeichern. Dadurch werden hohe Kompressionsraten erreicht, es kommt aber zu Qualitätsverlusten. MP3 wurde am 1 Motion Picture Expert Group 13 Datenformate zur Speicherung von Musik Fraunhofer-Institut in Erlangen in Zusammenarbeit mit AT&T Bell Labs und Thomson entwickelt. Einige Teile des Standards sind patentgeschützt. Vorbis (Dateiendung .ogg): Vorbis wurde im Rahmen des Ogg-Projektes als freie Alternati- ve zum MP3-Standard entwickelt. Die Bibliotheken zum (De-) Kodieren von Audiodateien im Vorbis-Format sind unter einer BSD-artigen Lizenz veröffentlicht und damit Open Source. Vorbis-Daten sind meist in Ogg-Containerdateien eingebunden. Weitere Informationen zum Vorbis-Projekt sind auf der offiziellen Internetseite [Vorbis] verfügbar. 3.2 Symbolische Datenformate Audiodateien in symbolischen Formaten enthalten notenähnliche Informationen und Kontrolldaten. Diese Kontrolldaten können sowohl musikalischer, klangtechnischer (z. B. bei MIDI) als auch drucktechnischer Art (z. B. bei MusicXML-Dateien) sein. Symbolische Audioformate können in zwei Klassen unterteilt werden: Die erste Klasse enthält keine Klangspezifikationen, die Wiedergabe hängt also vollständig vom verwendeten Ausgabegerät (z. B. einem Synthesizer oder einer Soundkarte) ab. Der bekannteste Vertreter dieser Art ist das MIDI2 -Format. Die zweite Klasse enthält eine Menge von Klangfragmenten, sogenannte Samples. Diese dienen bei der Wiedergabe als Instrumente. Die Tonhöhe kann durch schnelleres oder langsameres Abspielen der Samples variiert werden. Ein Beispiel für ein Sample-basiertes Audioformate wird in der folgenden Auflistung genannt. MIDI (Dateiendung .mid[i]): MIDI ist eigentlich ein Datenübertragungsprotokoll, das zu Beginn der 1980er Jahre entwickelt wurde, um die Übermittlung, Aufzeichnung und Wiedergabe musikalischer Informationen zwischen digitalen Instrumenten, z. B. Synthesizern oder PCs zu gewährleisten. Es wird inzwischen auch von fast allen Soundkarten unterstützt. Die Hersteller Sequential Circuits und Roland waren maßgeblich an der Entwicklung des Protokolls beteiligt. Überwacht wird der Standard durch die International MIDI Association (IMA). Bei MIDI-Dateien handelt es sich um Binärdateien, in denen die Steuerinformationen abgespeichert sind. Module (Dateiendung .mod): Module-Dateien sind seit Mitte der 1980er Jahre das Standard- format sogenannter Tracker-Programme. Diese waren besonders auf den Computersystemen Amiga und Atari sehr verbreitet, sind aber auch für moderne PCs verfügbar. MOD-Daten enthalten Samples, melodische und rhythmische Informationen und eine begrenzte Anzahl an Effekten, wie Vibrato, Slides, usw. Der Vorteil von ModuleDateien ist die Unabhängigkeit vom Klangerzeuger bei geringer Dateigröße. MusicXML (Dateiendung .xml): MusicXML ist das jüngste der hier vorgestellten Datenfor- mate zur Repräsentation von Musik. Es wird seit 2001 vom Softwarehersteller Recordare entwickelt. Es handelt sich hierbei um einen XML 3 -Dialekt. MusicXML wurde 2 Musical Instrument Digital Interface Markup Language 3 Extensible 14 Datenformate zur Speicherung von Musik in [Good2001] vorgestellt. Die Definition des Formats erfolgt über DTD 4 -Dokumente, die im Internet ([MusicXML]) bereitgestellt werden. 3.3 Verwendetes Datenformat Die in dieser Arbeit entwickelten Ähnlichkeitsoperationen verarbeiten musikalische Merkmale (Melodie, Rhythmus, Harmonisierung, usw.). Deshalb empfiehlt es sich, ein symbolisches Dateiformat zu verwenden, das diese Informationen explizit enthält. Bei Verwendung subsymbolischer Daten müssten diese Eigenschaften erst extrahiert werden. Dies ist zur Zeit nicht ausreichend präzise möglich. Für die in Kapitel 8 beschriebene Prototypimplementierung CoSMIc wurde das MIDI-Format als Eingangsdatenformat ausgewählt. MIDI-Dateien sind – dank bereits existierender Bibliotheken – einfach zu verarbeiten und enthalten die wichtigsten Musikparameter. Außerdem wurde das MIDI-Format in der Implementierung zu [Seifert2004] verwendet, auf deren Ergebnissen diese Arbeit zu großen Teilen aufbaut. Die Verwendung eines symbolischen Datenformats hat aber auch einen bedeutenden Nachteil: Die Eingabedaten müssen über ein MIDI-fähiges Gerät oder über eine spezielle Software erzeugt werden. Das einfache „Einsingen“ von Melodien über ein Mikrofon, wie dies bei Query-by-Humming5 (QBH) Systemen der Fall ist, ist nicht möglich. Dieser Mangel kann beseitigt werden, indem man ein Melodieerkennungssystem zur Umwandlung von subsymbolischen Audiodaten in eine symbolische Form einsetzt ([Klapuri2004]). Einen Überblick über die technischen Grundlagen des MIDI-Formats gibt das Kapitel „Das MIDI-Datenformat“ im Anhang B 4 Document 5 Anfrage Type Definition durch Summen 15 4 Das Leadsheet-Modell Das in diesem Kapitel beschriebene Leadsheet-Modell zur Wiedererkennung von Musik wird in [Seifert2004] eingeführt. Es soll zwei wichtige Aspekte der Musikidentifikation repräsentieren: • Musikalische Parameter (Melodiekontur, Rhythmus, Harmonisierung) und • die Hierarchie der Parameter unter Beachtung der musikalischen Form. Dabei werden die musikalischen Parameter durch die Spezifikation charakteristischer Motive dargestellt (vgl. Abbildung 4.1). Die Parameterhierarchie wird durch die Zusammenfassung solcher Motive zu Leadsheets umgesetzt. Der Begriff „Leadsheet“ stammt aus der Popularund Jazzmusik. Man versteht darunter die Notation von Melodie und Rhythmus einer Hauptstimme und zusätzlicher harmonischer Informationen (z. B. Akkordsymbole). Oft werden weitere rudimentäre Angaben zur Vortragsweise und zur Reihenfolge der Motive hinzugefügt. 4 4 C G7 Abbildung 4.1: Charakteristisches Motiv zu „Hänschen klein“ Im ersten Abschnitt des Kapitels wird das Leadsheet-Modell vorgestellt, wie es in [Seifert2004] definiert wird. Darauf folgend wird das Modell um einige Konzepte erweitert, die in den Ansätzen dieser Arbeit zum Vergleich von Tondokumenten benötigt werden. 4.1 Darstellung von Leadsheets als Bäume Wie in der Einführung zu diesem Kapitel bereits erwähnt, basiert die Erkennung von Musik im Leadsheet-Modell auf charakteristischen Motiven, die in Leadsheets hierarchisch strukturiert werden. [Seifert2004] definiert diese beiden Begriffe wie folgt: Charakteristisches Motiv (CM) bezeichnet eine relativ eindeutige Tonfolgenkontur sowie ihre rhythmische Konfiguration. Leadsheet (LS) bezeichnet eine nichtleere Sequenz von Leadsheets oder eine nichtleere Se- quenz charakteristischer Motive inklusive ihrer harmonischen Konfiguration. Ein Motiv ist in der Musik die kleinste sinnvolle Einheit, die meist auf Grund melodischer Merkmale gewählt wird. Der Begriff „charakteristisches Motiv“ legt den Schwerpunkt auf 16 Das Leadsheet-Modell die Selektivität der zu verwendenden Tonfolgen. Ein CM sollte also entsprechend lang und prägnant sein, um ein Musikstück (z. B. ein Lied) ausreichend zu identifizieren. Abbildung 4.2 zeigt eine Tonfolge, die diesem Anspruch nicht gerecht wird. Da es sich hier um einen reinen Ausschnitt der C-Dur Tonleiter handelt, der keine rhythmischen Besonderheiten aufweist, wirkt dieser für kein Stück identifizierend. Das Motiv aus Abbildung 4.1 dagegen wird von den meisten Hörern sofort als der Anfang des Volksliedes „Hänschen klein“ erkannt, obwohl diese Tonfolge mit großer Wahrscheinlichkeit auch in anderen Musikstücken vorkommt. 4 4 Abbildung 4.2: Nichtcharakteristisches Motiv Obwohl die Auswahl charakteristischer Motive objektiven Kriterien und Gesetzmäßigkeiten (z. B. den Gestaltgesetzen, siehe [Motte-Haber1996]) folgen sollte, ist sie letztendlich von subjektiven Wahrnehmungen und Entscheidungen geprägt. Lieder und Instrumentalwerke bestehen normalerweise aus verschiedenen Teilen (z. B. Strophe, Refrain, . . . ), die sich wiederum aus Themen 1 und Motiven zusammensetzen. Dieser strukturelle Aspekt wird durch die Leadsheets repräsentiert. Mehrere charakteristische Motive können damit zu zusammenhängenden Komponenten, den Leadsheets, verknüpft werden. Diese Leadsheets können wieder Bestandteile größerer Einheiten sein. Folgendes Beispiel, das aus [Seifert2004] übernommen wurde, soll die beschriebene Vorgehensweise demonstrieren. Ausgangspunkt ist das Volkslied „Hänschen klein“, das aus fünf verschiedenen charakteristischen Motiven besteht (vgl. Abbildung 4.3). Ausgehend von diesen fünf Motiven können drei Themen in Form von Leadsheets festgestellt werden: 1. LS1 (Takte 1 bis 4) besteht aus CM1 und CM2 , 2. LS2 (Takte 5 bis 8 und 13 bis 16) besteht aus CM 1 und CM3 , 3. LS3 (Takte 9 bis 12) besteht aus CM4 und CM5 . Diese Leadsheets sind Elemente eines Leadsheets LS 0 , welches das gesamte Lied darstellt. Es besteht aus der Abfolge LS1 , LS2 , LS3 und LS2 . Daraus ergibt sich die in Bild 4.4 abgebildete Hierarchie. Wie Abbildung 4.4 verdeutlicht, ergibt die Leadsheet-Hierarchie im bisher erläuterten Modell einen geordneten Vielwegbaum. Dieser Baum besteht aus drei Elementen, die in der Modelldefinition als Triumvirat bezeichnet werden: • charakteristische Motive, • Leadsheets über charakteristischen Motiven und 1 Größere musikalische Sinneinheiten 17 Das Leadsheet-Modell CM1 CM2 C 4 4 G7 Häns chen klein C ging al lein a G in die wei te CM1 Welt hi nein, CM3 C G7 Stock und Hut C steht im gut, CM4 G C ist gar wohl ge mut. CM5 G G7 A ber Ma ma wei net sehr, C hat ja nun kein CM1 Häns chen mehr. CM3 C G7 "Wünsch’ dir Glück", C sagt ihr Blick. G Kehr’ recht bald zu C rück! Abbildung 4.3: Motivbestandteile von „Hänschen klein“ LS0 LS1 CM1 CM2 CM1 LS2 LS3 CM3 CM4 LS2 CM5 CM1 Abbildung 4.4: Leadsheetbaum zu „Hänschen klein“ 18 CM3 Das Leadsheet-Modell • Leadsheets über Leadsheets. Das Leadsheet-Modell ist eine effektive und durch die wiederholte Nutzung gemeinsamer Elemente (vgl. LS2 aus dem Beispiel zu „Hänschen klein“) auch effiziente Form der Musikrepräsentation. Allerdings werden zwei Aspekte in diesem Modell nicht berücksichtigt, die für diese Arbeit wichtig sind: • die Nutzung von Motiven und Themen in verschiedenen Stücken und • die Beziehung von Leadsheets zu ihren Kindknoten. Diese beiden Aspekte werden im nächsten Abschnitt näher beleuchtet. Außerdem wird eine Erweiterung des Leadsheet-Modells vorgeschlagen, die die genannten Funktionen beinhaltet. 4.2 Darstellung von Leadsheets als Graphen Das Leadsheet-Modell, wie es in [Seifert2004] definiert wird, stellt die Struktur von Musikstücken als Vielwegbäume dar. Ein Baum ist u. a. dadurch definiert, dass er genau einen Knoten hat, der keinen Vorgänger besitzt. Dieser Knoten wird als Wurzel bezeichnet. Wird nun ein charakteristisches Motiv oder ein Leadsheet mehrfach verwendet – zum Beispiel wenn die Tonfolge zu „Hänschen klein, ging allein“ noch in einem Medley bekannter Volkslieder auftritt – so müssen unterschiedliche Knoten erstellt werden, die das gleiche Element repräsentieren. Diese Vorgehensweise versteckt das Verwandtschaftsverhältnis der beiden Musikstücke. Besser ist eine Darstellung, wie sie in Abbildung 4.5 gezeigt wird. A B E Abbildung 4.5: Gemeinsame Verwendung eines Elements E In dieser Abbildung wird das Element E in zwei Instanzen A und B genutzt. Durch den markierten Pfad ist außerdem das Verwandtschaftsverhältnis zwischen A und B sichtbar. Diese Struktur widerspricht allerdings der Definition des Baumes, es handelt sich hierbei um einen einfachen Graphen. In diesem Abschnitt wird deshalb ein erweitertes Leadsheet-Modell vorgestellt, in dem die Hierarchie der musikalischen Parameter als Graph dargestellt wird. Der Leadsheet-Graph besteht aus zwei Arten von Knoten: • LS-Knoten, die Leadsheets repräsentieren und • CM-Knoten, die charakteristische Motive repräsentieren. 19 Das Leadsheet-Modell LS-Knoten, die nicht Kinder (also Bestandteil) anderer Leadsheets sind, heißen Toplevel-Knoten. Sie repräsentieren die Musikstücke als Ganzes. Auch die Kanten werden in zwei Typen unterteilt: • Besteht-aus-Kanten und • Gehört-zu-Kanten. Dabei gehört zu jeder Besteht-aus-Kante von einem Knoten k 1 zu einem Knoten k2 genau eine Gehört-zu-Kante von k2 zu k1 . Dadurch wird eine doppelte Verkettung der Graphknoten realisiert. Bezugnehmend auf das Beispiel aus Abbildung 4.5 heißt das, dass die Frage „Zu welchem Stück gehört E (außer zu A) noch?“ durch die Gehört-zu-Kante von E nach B schnell beantwortet werden kann. Weiterhin wird zur Vereinfachung die Festlegung getroffen, dass jeder LS-Knoten entweder nur LS- oder nur CM-Knoten als Kinder haben kann. Das heißt ein Leadsheet kann nicht zum Teil aus anderen Leadsheets und zum Teil aus charakteristischen Motiven bestehen. Um diese Situation abzubilden muss für die Motive ein extra Leadsheet-Knoten erstellt werden, wie es in Abbildung 4.6 unter Vernachlässigung der Kantenarten verdeutlicht wird. LS0 LS1 LS2 LS3 CM1 Abbildung 4.6: Einfügen eines extra LS-Knotens Mit der Repräsentation von Musikstücken als Graphen ist die Möglichkeit gegeben, Motive und Themen in verschiedenen Instanzen gemeinsam zu nutzen und diese Verwandtschaft effizient festzustellen. Mit den bisher vorgestellten Modellteilen lassen sich allerdings die Ordnung der Kindknoten eines Leadsheets und die Beziehung der Kindknoten zu ihren Eltern 2 (nach wie vor) nicht darstellen. Deshalb werden die Gehört-zu-Kanten mit einem geordneten Paar (o, r) attributiert. Der Wert o gibt dabei die Position des Elements, zu dem die Kante führt, in der zeitlichen Ordnung der Kindknoten an. Es ist offensichtlich, dass o im Bereich der natürlichen Zahlen liegt und für ein Elternleadsheet eindeutig sein muss. Das Attribut r beschreibt die Beziehung (Relation) des Kind- zum LS-Knoten. Welche Werte für r möglich sind, wird im Folgenden erläutert. 2 z. 20 B. Strophe, Refrain, . . . Das Leadsheet-Modell Die Musik kennt eine Vielzahl von Funktionen, die eine Tonfolge im Gesamtwerk haben kann. Dazu gehören die „einfachen“ Bestimmungen (Strophe, Refrain, Vor-, Nach- und Zwischenspiel, Satz, . . . ), die auch einem Nichtmusiker geläufig sind, als auch „abstrakte“ Formen, wie Thema, musikalische Einheit und musikalische Form 3 . Abbildung D.1 im Anhang versucht, die genannten Beziehungstypen in einer Hierachie einzuordnen. Dabei werden isa-Beziehungen durch gestrichelte Linien dargestellt. Eine Einordnung eines Motivs oder Leadsheets zu genau einem dieser Beziehungstypen ist – nicht zuletzt auf Grund der erwähnten Relationenhierarchie – in den meisten Fällen nur schwer möglich. Deshalb wurde für r eine Mengendarstellung in Form eines Bitstrings {0, 1} 21 gewählt. Das Bit an der i-ten Stelle sei dann gesetzt, wenn das Motiv bzw. Leadsheet die entsprechende Funktion erfüllt. Die Zuordnung der Bitpositionen zu den Relationen ist in Tabelle 4.1 wiedergegeben. Im Leadsheet-Graphen wird r dann in seiner Darstellung als 4-Bytezahl angegeben. Bitposition i 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 Beziehung Motiv Thema Nachspiel Vorspiel Solo Bridge (Überleitung) Refrain Strophe Zwischenspiel Musikalische Einheit Kombination musikalischer Einheiten aus einem Werk Arrangement Kombination musikalischer Einheiten aus verschiedenen Werken Medley Musikalische Form Musikalische Entität Lied Satz Kombination verschiedene musikalischer Entitäten Sinfonie Konzert Tabelle 4.1: Zuordnung der Bitposition (von rechts nach links) zum Beziehungstyp Abbildung 4.7 zeigt einen Beispielgraphen nach dem in diesem Kapitel vorgestellten erweiterten Leadsheet-Modell. Dabei werden die Besteht-aus-Kanten durch unterbrochene Linien dargestellt. 3 z. B. die Barform (A-A-B) 21 Das Leadsheet-Modell LS1 (o1 , r1) (o2, r2) LS2 LS3 (o3 , r3) CM1 (o5 , r5) (o4 , r4) (o6 , r6) LS4 (o8 , r8) CM2 LS5 (o7, r7) CM3 (o9, r9) CM4 (o10, r10) CM5 Abbildung 4.7: Beispiel eines Leadsheet-Graphen Die Idee der Zerlegung von Musikstücken in charakteristische Motive und die Strukturierung dieser Motive in Leadsheets wird in der vorliegenden Arbeit als zentraler Ansatz für die Entwicklung einer Vergleichsoperation auf Tondokumenten verwendet. Im nächsten Kapitel wird dazu eine Ähnlichkeitsoperation für Tonfolgen definiert. Diese wird zum Abgleich der charakteristischen Motive mit den im Anfragedokument vorhandenen Motiven benötigt. Im darauf folgenden Kapitel wird ein Distanzmaß diskutiert, das Instanzdokumente auf Grund der Übereinstimmung mit den Leadsheet-Strukturen einordnet. 22 5 Ähnlichkeitsoperation für Motive Im vorangegangenen Kapitel dieser Arbeit wurde ein Modell zur Identifikation von Musik vorgestellt, das darauf basiert, dass der Mensch musikalische Werke anhand charakteristischer Motive wiedererkennt. Diese Motive werden durch Melodie, Rhythmus, Tempo und ihre harmonische Konfiguration beschrieben. Die Identifizierung von Musik wird allerdings unzureichend nachgebildet, wenn man diese Motive nur exakt in den zu untersuchenden Tondokumenten findet. Entsprechende Experimente haben gezeigt, dass sowohl geübte Musiker als auch „untrainierte“ Hörer Lieder und Werke auch dann wiedererkennen bzw. wiederzuerkennen glauben, wenn nur die Melodiekontur mit dem vorgespielten Stück übereinstimmt ([Krumhansl1990]). Zusätzlich muss bei der Suche nach Musikstücken, die einem vom Menschen vorgegebenen Motiv entsprechen oder dieses enthalten, beachtet werden, dass die Eingabe (z. B. durch Summen oder über ein elektronisches Instrument) oft sehr ungenau ist. Deshalb gibt es verschiedene Ansätze, um Tonfolgen, die nicht vollständig übereinstimmen, als ähnlich zu identifizieren. Diese Verfahren beruhen oft auf einem Vergleich der Melodiekontur (vgl. Abbildung 5.1), da diese als wichtigstes musikalisches Merkmal bei der Musikerkennung bezeichnet werden kann ([Dowling/Harwood1986]). Außerdem kann bei der Ähnlichkeitsoperation eine Bestimmung der Editier- bzw. Levenshteindistanz ([Hirschberg1975]) zwischen dem Anfragemotiv und den potentiellen Ergebnissen zum Einsatz kommen. Dadurch wird eine weitere Toleranz gegenüber Ungenauigkeiten in der Anfrage erreicht. 4 4 C G7 Abbildung 5.1: Melodiekontur des Motivs „Hänschen klein“ In dieser Arbeit wurde ein anderer Ansatz für den Vergleich zweier Motive entwickelt. Er basiert auf dem Vergleich mehrerer musikalischer Parameter. Die Ergebnisse der einzelnen Vergleichsoperationen fließen dann gewichtet in ein Gesamtähnlichkeitsmaß ein. Diese Ähnlichkeitsfunktion wird auch im Prototyp CoSMIc (siehe Kapitel 8) verwendet. Sie wird in den nächsten Abschnitten näher beleuchtet. 23 Ähnlichkeitsoperation für Motive 5.1 Kontinuum musikalischer Parameter Um die Parameter, die in eine Vergleichsoperation für Motive und Tonfolgen einfließen können, zu bestimmen, muss man überprüfen, wie man ein Motiv musikalisch verändern kann und wieviel Einfluss diese Veränderung auf den Wiedererkennungswert hat. Abbildung 5.2 zeigt verschiedene Variationen des „Hänschen klein“-Motivs aus Bild 4.1 (Seite 16). (a) 4 4 (c) 2 4 PSfrag replacements (e) C G7 C G7 C G7 (b) 4 4 (d) 4 4 C G7 C Dm 4 4 Abbildung 5.2: Variationen des Motivs „Hänschen klein“ Dabei wurden Veränderungen an den folgenden Merkmalen vorgenommen: (a) Melodie (b) Rhythmus (c) Tempo1 (d) Harmonisierung (e) Tonhöhe (Transposition) Natürlich existieren noch andere musikalische Parameter (z. B. die Klangfarbe), die in einem Motiv verändert werden können. Diese sind aber aus der symbolischen Repräsentation, mit der sich diese Arbeit befasst, nicht ersichtlich. Im nächsten Schritt muss für jedes der genannten Merkmale ein Maß für deren Ähnlichkeit gefunden und danach die Wichtigkeit hinsichtlich der Identifikation der Motive analysiert werden. Diese Wichtigkeit kann allerdings nur schwer als absoluter Wert angegeben werden. Deshalb wird sie relativ zur Signifikanz der anderen Parameter bestimmt. Bei der Festlegung dieser relativen Werte spielen sowohl verschiedene Experimente als auch die Erfahrung als Musiker eine wichtige Rolle. 1 Unter 24 der Annahme, dass sich die Anzahl der Grundschläge (♩) pro Minute nicht ändert. Ähnlichkeitsoperation für Motive 5.1.1 Melodie Die Melodie stellt den räumlichen Verlauf einer Stimme in der Musik dar. Sie wird durch die Intervallsprünge (vgl. Abschnitt 2.2) repräsentiert. Das Motiv „Hänschen klein“ wird zum Beispiel durch diese Intervallfolge gebildet: • Kleine Terz abwärts • (Reine) Prime • Kleine Sekunde aufwärts • Kleine Terz abwärts • (Reine) Prime Da eine Instanz eines Motivs immer mit einem Startton beginnt, kann aus dieser Intervallsequenz eine Folge von konkreten Tönen bestimmt werden. In Abbildung 4.1 ist der Startton g’, daraus resultiert der Notenverlauf g’ e’ e’ f’ d’ d’. Will man eine konkrete Tonfolge mit einem wie oben definierten Motiv vergleichen, so muss dieser Notenverlauf in Abhängkeit vom Startton der Folge berechnet werden. Diesen Verlauf kann man dann mit der gegebenen Tonfolge vergleichen. Das Ähnlichkeitsmaß für den Vergleich der Melodie wird nun wie folgt definiert. Definition 1: Ähnlichkeitsmaß für die Melodie E M Beim Vergleich einer konkreten Tonfolge T mit einem definierten Motiv M ist das Ähnlichkeitsmaß D EM = 1 − min ,1 |M| Dabei sei D die minimale Anzahl der Operationen (Einfügen, Löschen oder Ändern eines Tones), um T in M zu überführen. |M| sei die Anzahl der Töne im Motiv M. 4 4 4 4 C G7 C G7 Abbildung 5.3: Änderung eines Tones Abbildung 5.3 zeigt ein Beispiel für die Überführung einer Tonfolge (oben) in ein definiertes Motiv. Hier wird eine Änderungsoperation benötigt, die Anzahl der Töne im Motiv beträgt 6. Damit ist EM = 1 − 16 = 56 ≈ 0, 83. 25 Ähnlichkeitsoperation für Motive Um die minimale Anzahl benötigter Operationen effizient zu berechnen, werden sowohl T als auch M (ausgehend vom Startton von T ) in eine Zeichenkettendarstellung umgewandelt. Zwischen diesen beiden Zeichenketten kann die Levenshteindistanz berechnet werden. Dies ist in Laufzeit O(|T | · |M|) möglich. Da die Kosten zur Überführung der Tonfolge in die vom Motiv vorgegebene Sequenz auch größer als die Anzahl der Töne in M sein können 2 , ist es wichtig, als Maximalwert für den Substrahenden die 1 festzulegen. 5.1.2 Rhythmus Während die Melodie den räumlichen Verlauf der Musik repräsentiert, stellt der Rhythmus den zeitlichen Verlauf dar. Er wird in der Notation duch die Notenwerte bestimmt und resultiert zusammen mit einer Tempoangabe in (Takt-) Schlägen pro Minute 3 in messbaren Zeitabständen. Das „Hänschen klein“-Motiv ist durch folgende Notenwerte definiert: • Viertelnote • Viertelnote • Halbe Note • Viertelnote • Viertelnote • Halbe Note Nimmt man für das Tempo 140 bpm und die „Viertel“ als Grundschlag an, so ergeben sich ungefähr diese Zeitabstände: 0, 43 s, 0, 43 s, 0, 86 s, 0, 43 s, 0, 43 s, 0, 86 s. Analog zum Vergleich von Melodien zwischen einer Tonfolge und einem Motiv muss das Verhältnis der Länge des ersten Tones in der konkreten Tonfolge zur Länge des ersten Motivtones als Referenzwert für die Bestimmung der anderen Tonlängen berechnet werden. Das heißt, würde man „Hänschen klein“ beginnend mit einer Achtelnote notieren, so wäre dieses Verhältnis 12 und es müssten diese Notenwerte folgen: Achtelnote, Viertelnote, Achtelnote, Achtelnote, Viertelnote. Darauf aufbauend wird das Ähnlichkeitsmaß für den Rhythmusvergleich – analog zu E M – definiert. Definition 2: Ähnlichkeitsmaß für den Rhythmus E R Beim Vergleich einer konkreten Tonfolge T mit einem definierten Motiv M ist das Ähnlichkeitsmaß D ER = 1 − min ,1 |M| Dabei sei D die minimale Anzahl der Operationen (Einfügen, Löschen oder Ändern eines Tonlängenwertes), um T in M zu überführen. |M| sei die Anzahl der Töne im Motiv M. 2 wenn |T | > |M| p(er) m(inute) 3 b(eats) 26 Ähnlichkeitsoperation für Motive 4 4 4 4 C G7 C G7 Abbildung 5.4: Änderung von Tonlängen Um die Tonfolge in Abbildung 5.4 (oben) in das Motiv zu überführen, müssen zwei Tonlängenwerte geändert werden. Im Verhältnis zur Anzahl der Töne im Motiv ergibt sich also für ER = 1 − 26 = 23 ≈ 0, 67. Auch in diesem Fall wird die effiziente Berechnung der minimalen Kosten einer Überführung von T in M durch Repräsentation der Rhythmussequenzen als Zeichenketten und die Bestimmung der Levenshteindistanz zwischen diesen beiden durchgeführt. Ebenso muss der Subtrahend wieder auf 1 beschränkt werden, da D > |M| sein kann und andernfalls negative Werte für ER berechnet werden könnten. 5.1.3 Tempo Das Tempo gibt an, wie schnell ein Motiv gespielt oder gesungen werden soll. In der Regel erfolgt diese Angabe in Taktschlägen pro Minute. Mit dieser Angabe und den Notenwerten kann auf Basis des Grundschlags die reale Dauer eines Tones – wie im letzten Abschnitt beschrieben – in Sekunden bestimmt werden. Will man das Tempoverhältnis zwischen einer Folge von Tönen und einem definierten Motiv berechnen, so ist es am einfachsten, die (reale) Dauer des ersten Tones der Tonfolge ins Verhältnis zur Tempodefinition des Motivs (bestehend aus einer bpm-Angabe und dem Notenwert des ersten Tones) zu setzen. Daher wird ET definiert als: Definition 3: Ähnlichkeitsmaß für das Tempo E T Beim Vergleich einer konkreten Tonfolge T mit einem definierten Motiv M ist das Ähnlichkeitsmaß 1 0.75 ET = 0.5 0.25 0 für vt ≤ 2 für 2 < vt ≤ 3 für 2 < vt ≤ 3.5 für 3.5 < vt ≤ 4 für vt > 4 Dabei sei vt das Verhältnis (≥ 1) der Tondauer des ersten Tones in T zur Dauer des ersten 27 Ähnlichkeitsoperation für Motive Motivtones in M, vt = max(T1 , M1 ) min(T1 , M1 ) Auch hier soll ein konkretes Beispiel die Vorgehensweise erläutern. Abbildung 5.5 zeigt das Motiv „Hänschen klein“ in zwei verschiedenen Notationen, zum Einen in Achtel- und Viertelnoten und zum Anderen in Viertel- und Halben Noten. Da der Grundschlag in beiden Fällen den Viertelnoten entspricht und von dem gleichen Wert für die Taktschläge pro Minute ausgegangen wird, beträgt das Verhältnis der realen Tonlängen 2 : 1. Damit ergibt sich für E T der Wert 1. 2 4 4 4 C C G7 2/ 1 G7 Abbildung 5.5: Verhältnis der Tempi 5.1.4 Harmonisierung Harmonien bestimmen die Funktion gleichzeitig gespielter oder erklingender Töne (vgl. Abschnitt 2.3). Während in der Motivdefinition nach dem Leadsheet-Modell die Harmonien fest vorgegeben werden, können sie in einer Tonfolge nur mit Hilfe von Heuristiken analysiert werden. Ein Verfahren dazu wird in Abschnitt 8.6 vorgestellt. Dabei müssen die für den Hörer gleichzeitig wahrnehmbaren Töne gefunden und aus diesen muss die „beste“ Harmonie (bestehend aus Grundton und Harmonieform) berechnet werden. Hat man die Harmonien einer Tonfolge bestimmt, kann man das Ähnlichkeitsmaß für die Harmonisierung zu einem Motiv nach folgender Definition errechnen. Definition 4: Ähnlichkeitsmaß für die Harmonisierung E H Beim Vergleich der Harmonien einer konkreten Tonfolge T mit denen eines definierten Motivs M ist das Ähnlichkeitsmaß EH = ∑i=1 hi |T | |T | Dabei sei |T | die Anzahl der Töne in T . h i sei das Resultat des Vergleichs der i-ten Harmonie in T mit der i-ten Harmonie in M. hi kann folgende Werte annehmen: 28 Ähnlichkeitsoperation für Motive 1 hi = 0, 5 0 die beiden Harmonien sind gleich die beiden Harmonien sind ähnlich sonst Zusätzlich sei folgendes festgelegt: 1. Zwei Harmonien sind gleich genau dann, wenn sie in Grundton und Harmonieform übereinstimmen oder wenn in T ein einzelner Ton aus dem in M definierten Harmonieschema auftritt. 2. Zwei Harmonien sind ähnlich genau dann, wenn sie parallele Dur- und Molldreiklänge 4 sind oder sie auf dem selben Grundton aufbauen und vom selben Tongeschlecht sind 5 . 4 4 4 4 C Dm C G7 Abbildung 5.6: Vergleich der Harmonisierungen Abbildung 5.6 zeigt zwei verschiedene Harmonisierungsmöglichkeiten des „Hänschen klein“Motivs. Während die Harmonie im ersten Takt, also für drei Noten, gleich ist, ist sie im zweiten Takt, also für die nächsten drei Noten, unterschiedlich und nicht ähnlich. Deshalb kann man das Ähnlichkeitsmaß wie folgt berechnen: E H = 3·1+3·0 = 12 = 0, 5. 6 5.1.5 Tonhöhe (Transposition) Wie im Unterabschnitt 5.1.1 bereits erläutert wurde, ist die Melodie eines Motives durch Intervalle gegeben, die von einem bestimmten Startton aus verfolgt werden. Der gewählte Startton bestimmt die Tonhöhe, mit der das Motiv erklingt. Abbildung 5.7 zeigt das Beispielmotiv aus „Hänschen klein“ in zwei verschiedenen Tonhöhen, einmal vom Ton c” aus und eine Oktave tiefer, vom Ton c’ aus. Während die in den vorangegangenen Abschnitten behandelten musikalischen Parameter einen merkbaren Einfluss auf die Wiedererkennung haben, spielt die Tonhöhe in diesem Prozess eine sehr geringe Rolle. Uitdenbogerd und Zobel bewerten sie deshalb in ihrer Ordnung der 4 z. 5 z. B. C und a B. C6 und C7 29 Ähnlichkeitsoperation für Motive C G7 C G7 4 4 4 4 Abbildung 5.7: „Hänschen klein“ in verschiedenen Tonhöhen Faktoren einer auf Melodie basierenden Musikähnlichkeit (siehe Abbildung 5.8) als sehr wenig evident. Es ist zu beachten, dass aus dieser Ordnung nur die ersten drei Faktoren relevant sind, da Veränderungen der Melodiekontur im Ähnlichkeitsmaß der Melodie berücksichtigt werden. exakte Transponierung in der gleichen Tonart exakte Transponierung in einer benachbarten Tonart Fallende Evidenz exakte Transponierung in einer entfernten Tonart exakte Transponierung bis auf einen chromatisch veränderten Ton exakte Transponierung bis auf einen diatonisch veränderten Ton gleiche Kontur und Tonalität gleiche Kontur aber atonal gleiche Notenwerte aber unterschiedliche Kontur unterschiedliche Kontur, unterschiedliche Notenwerte Abbildung 5.8: Faktoren der Musikähnlichkeit nach [Uitdenbogerd/Zobel1998], Quelle: [Seifert2004] Da die Tonhöhe keinen Einfluss auf die Ähnlichkeitsbestimmung zwischen Motiven bzw. Tonfolgen und Motiven hat, wird für sie kein Ähnlichkeitsmaß definiert. Zu bemerken ist an dieser Stelle, dass dies der Grund dafür ist, dass der Startton als Indikator für die Tonhöhe in der Motivdefinition im Datenformat zum Leadsheet-Modell (vgl. Kapitel E) keine Beachtung findet. 5.2 Haupt- und Nebenstimmen In den letzten (Unter-) Abschnitten wurden einzelne musikalische Parameter diskutiert, die die Ähnlichkeit zwischen Motiven bzw. zwischen Motiven und Tonfolgen beeinflussen. In 30 Ähnlichkeitsoperation für Motive diesem Abschnitt wird eine Eigenschaft des Motivs in der Tonfolge betrachtet, die darauf einwirkt, wie gut man das Motiv wiedererkennt. 4 4 Abbildung 5.9: „Hänschen klein“ in einer Nebenstimme Abbildung 5.9 zeigt ein dreistimmiges Notenbeispiel. In der Oberstimme, die auf Grund ihrer Tonlage und ihres räumlichen Abstandes von den anderen Stimmen als Melodie wahrgenommen wird, erklingt das Motiv „Alle meine Entchen“. In der durch Pfeile gekennzeichneten mittleren Stimme erklingt „Hänschen klein“. Dieses Beispiel zeigt, dass die Wiederkennung von Motiven nicht nur von der Ähnlichkeit auf Basis von Melodie, Rhythmus, Tempo und Harmonisierung, sondern auch davon abhängt, wo das Motiv im Zusammenklang aller Stimmen auftaucht. Deshalb wird weiterer Parameter EV zur Ähnlichkeitsoperation, die im Rahmen dieser Arbeit entwickelt wurde, hinzugefügt. Definition 5: Bewertung von Haupt- und Nebenstimmen EV Beim Vergleich einer konkreten Tonfolge T mit einem definierten Motiv M ist EV = ( 1 0, 8 wenn M in der Hauptstimme gefunden wird sonst Für das oben aufgeführte Beispiel ist EV nach dieser Definition 0, 8. Ein Algorithmus zur Unterscheidung zwischen Haupt- (Melodie-) und Nebenstimmen wird im Abschnitt 8.7 vorgestellt. 5.3 Wichtigkeit der Parameter In den bisherigen Abschnitten dieses Kapitels wurden die verschiedenen musikalischen Parameter für Motivvariationen betrachtet. Für jeden dieser Parameter – abgesehen von der Tonhöhe, die als zu wenig relevant für die Wiedererkennung eingestuft wurde – wurde ein Ähnlichkeitsmaß für den Vergleich zwischen einer Tonfolge T und einem definiertem Motiv M entwickelt. Alle Ähnlichkeitsmaße sind so definiert, dass je größer E i ist, desto „ähnlicher“ sind sich T und M. Ist Ei = 1, so sind T und M gleich. Die Ähnlichkeitsmaße für Melodie, Rhythmus, Tempo und Harmonisierung sollen additiv in ein Gesamtähnlichkeitsmaß E einfließen. Dazu soll jeder Parameter mit einer Gewichtung 31 Ähnlichkeitsoperation für Motive Wi versehen werden, da es ungenügend ist, Veränderungen an der Melodie genau so stark zu bewerten wie Änderungen an der Harmonisierung. Wie in der Einleitung zu diesem Kapitel bereits erwähnt wurde, kann diese Gewichtung nur auf Grund von Experimenten und den Erfahrungen als Musiker vorgenommen werden. Außerdem können die einzelnen Parameter nur relativ zu den anderen beurteilt werden. Melodie 55% Tempo 10% Rhythmus 25% Harmonisierung 10% Abbildung 5.10: Gewichtungsverteilung der musikalischen Parameter Das Diagramm in Bild 5.10 zeigt die Verteilung der Gewichtungen, wie sie im Prototyp CoSMIc Verwendung findet. Die Gewichtungen sind dort als konfigurierbare Optionen implementiert (vgl. Kapitel 8). Da nach [Dowling/Harwood1986] die Melodiekontur die wichtigste Eigenschaft bei der Identifikation von Musik ist, nimmt die Melodie mit 55% den größten Teil in der Verteilung ein. Ebenfalls als wichtig einzuschätzen ist der Parameter Rhythmus (25%). Die beiden Eigenschaften Tempo und Harmonisierung fallen weniger ins Gewicht mit jeweils 10%. Das Ähnlichskeitsmaß EV , das unterscheidet, ob das ensprechende Motiv in einer Hauptoder Nebenstimme gefunden wurde fließt nicht additiv in das Gesamtähnlichkeitsmaß ein. Die genaue Definition zur Berechnung von E erfolgt im nächsten Abschnitt. 5.4 Resultierende Ähnlichkeit E Ausgehend von den Ähnlichkeitsmaßen für die musikalischen Parameter Melodie, Rhythmus, Tempo und Harmonisierung wird das Gesamtähnlichkeitsmaß E für den Vergleich von Motiven bzw. Motiven und Tonfolgen wie folgt definiert: Definition 6: Gesamtähnlichkeitsmaß E M Das Gesamtähnlichkeitsmaß E wird berechnet mit 32 Ähnlichkeitsoperation für Motive E = EV · ∑ Wp · E p p wobei p ∈ {M, R, T, H}. Da E p ∈ [0 . . . 1] und ∑ p Wp = 1, gilt für E, wie für die einzelnen Ähnlichkeitsmaße: E ∈ [0 . . . 1], je größer E, desto ähnlicher sind sich T und M. Ist E = 1, so wurde das entsprechende Motiv exakt gefunden. ♩ = 120 bpm 4 4 C ♩ = 140 bpm 4 4 PSfrag replacements C G7 G7 Abbildung 5.11: Motivvariation „Hänschen klein“ in Melodie, Rhythmus und Tempo Ein abschließendes Beispiel soll die Berechnung von E noch einmal verdeutlichen. Abbildung 5.11 zeigt eine Variation in Melodie, Rhythmus und Tempo des „Hänschen klein“-Motivs. Die Anzahl der Töne beträgt in der Tonfolge (wie auch im Motiv) 6. Es liegt eine Veränderung der Melodie – von d’ nach c’ – im zweiten Takt vor. Damit ist E M = 56 . Durch die Punktierung im ersten Takt müssen zwei Änderungen am Rhythmus vorgenommen werden, um T nach M zu überführen. Deshalb ist ER = 23 . Das Tempo ist in diesem Beispiel konkret angegeben. In der Motivdefiniton beträgt der Grundschlag 140 bpm, in der konkreten Tonfolge sind es „nur“ 120 bpm. Damit ist der Wert des Verhältnisses vt = 140 120 ≈ 1, 167. Da vt ≤ 2, beträgt ET = 1. Die Harmonisierung ist in beiden Fällen gleich, es ist also E H = 1. Ebenso wird das Motiv in der Melodiestimme gefunden, daraus folgt EV = 1. Die Berechnung des Gesamtähnlichkeitsmaß’ E ergibt damit E = EV · ∑ Wp · E p p = 1, 0 · (0, 55 · 0, 833 + 0, 25 · 0, 667 + 0, 1 · 1 + 0, 1 · 1) ≈ 1, 0 · (0, 458 + 0, 167 + 0, 1 + 0, 1) ≈ 0, 825 33 Ähnlichkeitsoperation für Motive In diesem Kapitel wurde die Ähnlichkeitsoperation für Motive bzw. Motive und Tonfolgen vorgestellt, die im Rahmen dieser Arbeit entwickelt wurde. Sie basiert auf dem Vergleich der musikalischen Parameter Melodie, Rhythmus, Tempo und Harmonisierung sowie auf einer Bewertung der Stimme (Haupt- oder Nebenstimme), in der das Motiv gefunden wurde. Diese Ähnlichkeitsoperation ist in der Prototypapplikation CoSMIc, die ebenfalls in dieser Arbeit entstanden ist, implementiert und wurde damit getestet. Sie hat sich bei Experimenten als gut geeignet zur Identifikation nichtexakt enthaltener Motive bewährt. Als passender Minimalwert für E hat sich der Wert 0, 75 herausgestellt, d. h. wenn E(M, T ) ≥ 0, 75, kann man in T das Motiv M wiedererkennen. Dieses Ähnlichkeitsmaß stellt die Ausgangsbasis für die beiden Distanzmaße für Tondokumente, die in den beiden folgenden Kapiteln diskutiert werden, dar. 34 6 Graphbasiertes Distanzmaß für Tondokumente Ziel dieser Arbeit ist die Entwicklung von Vergleichsoperationen für ganze Musikstücke. Dazu wurde im Kapitel 4 eine Repräsentationsform für Musik vorgestellt, die auf der Bestimmung von charakteristischen Motiven und der Einordnung dieser Motive in einer LeadsheetHierarchie basiert. Im nächsten Kapitel „Ähnlichkeitsoperation für Motive“ wurde eine Ähnlichkeitsoperation für Motive bzw. Motive und Tonfolgen definiert. Mit Hilfe dieser Operation ist es möglich, definierte Motive auch dann in einem Anfragestück zu finden, wenn sie nicht exakt vorliegen. In diesem und im nächsten Kapitel werden zwei verschiedene Ansätze zum Vergleich von Tondokumenten, die im Rahmen dieser Arbeit entwickelt wurden, vorgestellt und diskutiert. Beide setzen voraus, dass die (bekannten) charakteristischen Motive in den zu vergleichenden Instanzen bereits identifiziert wurden. 6.1 Graphen im Multimedia Retrieval Das Multimedia Retrieval (MMR) ist ein noch junges Teilgebiet der Informatik. Es beschäftigt sich mit der Informationsgewinnung in großen Mengen unstrukturierter Daten, z. B. in Bildern, Videos und Musik. Dabei spielt die Entwicklung geeigneter Suchstrukturen eine besondere Rolle. Bild Hintergrund IBM-PC Tastatur Monitor Rechner ... Abbildung 6.1: Modellierung eines Bildes als Graph In den meisten Fällen bilden die Informationen in Medienobjekten eine hierarchische Struktur. Es liegt deshalb nahe, diese Informationen als Graphen zu modellieren. Abbildung 6.1 zeigt die Darstellung eines Bildes als Graph auf Basis der Bildsegmente. Ein andere Möglichkeit zur Repräsentation von Grafiken ist die Modellierung der Zeichenobjekte einer Vektorgrafik. Wie die einzelnen Bestandteile identifiziert und strukturiert werden können, ist stark 35 Graphbasiertes Distanzmaß für Tondokumente abhängig vom Medientyp und für viele Datentypen Gegenstand aktueller Forschungen (z. B. [Hempel2002]). Für Multimediatypen, deren Objekte sich als solche Hierarchiegraphen darstellen lassen, kann man den Vergleich zweier Objekte auf den Vergleich der Graphen zurückführen. Verschiedene Methoden zur Ähnlichkeitsuntersuchung von Graphen werden im Abschnitt 6.3 erläutert. Neben der Bilderkennung findet dieser Ansatz unter anderem auch bei der Identifikation chemischer Strukturen und DNA-Strukturen Verwendung. 6.2 Repräsentation von Tondokumenten als Graphen Die Herangehensweise, Medienobjekte mit Hilfe einer Modellierung als Graphen zu vergleichen, hat sich in anderen Bereichen des Multimedia Retrievals als geeignet erwiesen. Deshalb wird in diesem Kapitel untersucht, inwiefern sich dieser Ansatz auch für Tondokumente eignet. Dazu muss zunächst eine Repräsentationsmöglichkeit dieser Tondokumente in Graphform gefunden werden. Da das in Kapitel 4 vorgestellte Leadsheet-Modell bereits eine hierarchische Strukturierung enthält, wird es als auch als Grundlage für die Darstellung von Musikstücken verwendet. 4 4 PSfrag replacements CM1 CM1 CM2 CM3 Abbildung 6.2: Ein Tondokument mit identifizierten Motiven Ausgangspunkt der Modellierung ist ein Tondokument, in dem alle bekannten charakteristischen Motive mit einem Ähnlichkeitswert E i ∈ [0 . . . 1] identifiziert wurden (vgl. Abbildung 6.2). Ausgehend von den gefundenen Motiven (mit deren Ordnungswerten o i und ihrer Ähnlichkeit Ei ) und der im Leadsheet-Graphen spezifizierten Hierarchie kann man den in Bild 6.3 gezeigten Graphen für das Tondokument aufstellen. Dieser Graph wird als TondokumentGraph oder Schablone bezeichnet. Der Knoten LS 0 repräsentiert das gesamte Dokument, er ist im Leadsheet-Graphen nicht zu finden. Sollen nun zwei Tondokumente miteinander verglichen werden, die mit der erläuterten Vorgehensweise als Tondokument-Graphen (Schablonen) modelliert werden können, so kann dieser Vergleich auf den Vergleich der beiden Graphen zurückgeführt werden. Dazu muss ein geeignetes Distanzmaß für Graphen verwendet werden. Im folgenden Abschnitt werden mögliche Distanzmaße vorgestellt und bewertet. 36 Graphbasiertes Distanzmaß für Tondokumente LS0 (o1 , E1 ) LS1 (o3, E3) CM1 (o2, E2) LS2 (o4, E4) (o5, E5) CM2 (o6 , E6) CM3 Abbildung 6.3: Schablone für den Anfang von „Hänschen klein“ 6.3 Distanzmaße für Graphen Da der Vergleich von Multimedia-Objekten mit Hilfe von Graphen eine gut geeignete und effiziente Methode ist, existieren verschiedene Ansätze zur Berechnung der Ähnlichkeit bzw. Distanz zwischen zwei Graphen. In diesem Kapitel sollen die folgenden drei Maße betrachtet werden: 1. Anzahl konsistenter Teilgraphen ([Shapiro/Haralick1985]), 2. größter gemeinsamer Teilgraph ([Bunke/Shearer1989]) und 3. Editierdistanz für Graphen ([Eshera/Fu1986]). Wenn es sich bei den zu vergleichenden Graphen um Tondokument-Graphen bzw. Schablonen, wie sie im vorhergehenden Abschnitt definiert wurden, handelt, so kann man die Bedeutung der einzelnen Distanzmaße wie folgt interpretieren: 1. Anzahl konsistenter Teilgraphen: bestimmt Anzahl gemeinsamer (zusammenhängender) Leadsheets bzw. Motive. 2. Größter gemeinsamer Teilgraph: entspricht größtem gemeinsamen Teilstück. 3. Editierdistanz: bestimmt Kosten für die einzufügenden, zu löschenden oder zu ändernden Motive und Leadsheets und deren Kantenattributierung 1 . Auf Grund dieser Interpretation sind die beiden ersten Distanzmaße als unzureichend geeignet einzustufen, nicht zuletzt da beide Maße die Kantenattributierung nicht beachten. Außerdem unterscheiden sie nur zwischen gleichen 2 und ungleichen Teilgraphen, ein „ähnlich“ auf Subgraphenebene gibt es nicht. Dies wirkt sich besonders auf die Anzahl konsistenter Teilgraphen aus. Verfügen zwei Schablonen über einen großen gemeinsamen Subgraphen, so 1 Ordnung und Ähnlichkeitswert 2 isomorphen 37 Graphbasiertes Distanzmaß für Tondokumente werden im zweiten angegebenen Maß – der Bestimmung des größten gemeinsamen Teilgraphen – die anderen Elemente ignoriert. Es wird also z. B. nicht unterschieden, ob die anderen gefundenen Motive und die darüber definierten Leadsheets aus dem selben oder aus anderen Toplevel-Leadsheets (Musikstücken) stammen. Deshalb wird als Basis für das in diesem Kapitel vorgestellte Distanzmaß für Tondokumente die Berechnung der Editierdistanz zwischen den beiden entsprechenden Schablonen verwendet. Dazu soll zunächst einmal die Definition und Komplexität der Editierdistanz betrachtet werden. 6.4 Editierdistanz für Graphen Zur Berechnung der Editierdistanz zwischen zwei Graphen G 1 und G2 sind die folgenden Arten von Operationen vorgesehen: • Einfügen eines Knotens bzw. einer Kante, • Löschen eines Knotens bzw. einer Kante und • Änderung der Attributierung eines Knotens bzw. einer Kante. Für jede dieser Operationen δi ist ein Kostenwert C(δi ) bestimmt. Analog zur LevenshteinDistanz3 ist die Editierdistanz für Graphen als die Folge von Operationen δ 1 , δ2 , . . . , δn definiert, deren Kosten C = ∑ni=1 C(δi ) minimal ist. A a B c D A b a C d B e E F b f C c G D e F x G Abbildung 6.4: Zwei ähnliche Graphen Für das Beispiel aus Abbildung 6.4 seien die Kosten für alle Operation konstant C(δ i ) = 1 gesetzt. Die Folge von Operationen: Einfügen des Knotens E, Einfügen der Kante B → E mit Attribut d und Änderung der Attributierung der Kante C → G zu f hat die Kosten C = 3. Mit weniger Operationen kann der rechte Graph nicht in den linken überführt werden. Deshalb hat die Editierdistanz zwischen diesen beiden Graphen den Wert 3. 3 Editierdistanz 38 für Zeichenketten Graphbasiertes Distanzmaß für Tondokumente Nach dieser formalen Definition der Editierdistanz für Graphen muss die Berechenbarkeit und Komplexität dieses Distanzmaßes betrachtet werden. Zu diesem Thema gibt es bereits eine Reihe von Arbeiten (u. a. [Zhang/Wang/Shasha1995], [R.-Kelly/Hancock2005], [KTSK2000]). In [Zhang/Wang/Shasha1995] wird bewiesen, dass die Berechnung der Editierdistanz zwischen zwei beliebigen Graphen 4E(G 1 , G2 ) in der Klasse der NP-vollständigen Probleme ([Wegener1999]) liegt, d. h. es existiert kein Algorithmus, der 4E(G 1 , G2 ) in polynomieller Zeit bestimmt. Es gibt allerdings Algorithmen zur Berechnung der Distanz zwischen Graphen mit eingeschränkten Eigenschaften, die effizienter arbeiten. In [Selkow1977] wird die Editierdistanz zwischen geordneten, gewurzelten Bäumen 4 ohne Attribute betrachtet. Für diesen Spezialfall wird ein Algorithmus vorgestellt. Dieser benötigt nur eine polynomielle Laufzeit, er liegt in der Problemklasse O(n4 ), wobei n die Anzahl der Knoten im größeren der beiden Graphen bzw. Bäume angibt. Da für die Berechnung der Editierdistanz zwischen geordneten, unattributierten Bäumen – die Eigenschaft „gewurzelt“ wird ab dieser Stelle nicht mehr betrachtet, da die Auszeichnung eines Knotens als Wurzel in der Definition des Baumes bereits enthalten ist – ein effizienter Algorithmus5 existiert, ist es vorteilhaft, diesen im Distanzmaß für Schablonen zu verwenden. Dazu müssen die Schablonen im ersten Schritt in geordnete Bäume ohne Attributierung transformiert werden. Diese Transformation wird im nächsten Abschnitt betrachtet. 6.5 Transformation von Schablonen zu Bäumen Betrachtet man den Tondokument-Graphen für den Anfang von „Hänschen klein“ in Abbildung 6.3 (Seite 37), so stellt man folgende Widersprüche zur Definition von unattributierten Bäumen fest: • Der Knoten CM1 besitzt zwei eingehende Kanten. • Jede Kante ist mit einem Tupel (oi , Ei ) attributiert. Es muss eine Transformation der Schablonen gefunden werden, die diese Widersprüche beseitigt, ohne die damit verbundenen, für den Vergleich von Tondokumenten wichtigen Informationen zu verlieren. Nachfolgende Reihe von Transformationsregeln leistet dies: 1. Knoten, die n, mit n ≥ 2, eingehende Kanten haben, werden n − 1 mal kopiert. 2. Der Wert oi gibt die Ordnung der ausgehenden Kanten an. 3. Das Ähnlichkeitsmaß Ei wird zum Knotenattribut hinzugefügt. 4. Die Kantenattribute werden entfernt. 4 Rooted, ordered trees der Theoretischen Informatik wird ein Algorithmus oft als effizient bezeichnet, wenn er in polynomieller Zeit läuft. 5 In 39 Graphbasiertes Distanzmaß für Tondokumente LS0 CM1, E3 LS1 , E1 LS2 , E2 CM2 , E4 CM1, E5 CM3 , E6 Abbildung 6.5: Schablone als geordneter, unattributierter Baum Wendet man diese Transformationsregeln auf die Schablone aus Abbildung 6.3 an, so entsteht der in Bild 6.5 dargestellte Baum. 6.6 Distanzmaß für Schablonen auf Basis der Editierdistanz Liegen zwei Tondokument-Graphen als geordnete Bäume ohne Attributierung vor, kann man die Editierdistanz zwischen ihnen effizient berechnen. In diesem Abschnitt soll ein Distanzmaß für Schablonen auf Basis der errechneten Editierdistanz definiert werden. Dazu müssen zunächst die gültigen Operationen und deren Kosten bestimmt werden. Ausgangspunkt dafür sind die Standardoperationen auf Graphen: Einfügen, Löschen und Ändern von Knoten und Kanten. Zusätzlich muss bei geordneten Bäumen eine weitere Operation berücksichtigt werden: Änderung der Ordnung. Betrachtet man die Schablone aus Abbildung 6.5, stellt man fest, dass die Kanten keine Informationen tragen. Der einzige Zweck ihrer Existenz ist die Verbindung zweier Knoten. Diese Verbindung stammt allerdings aus der Spezifikation des Leadsheet-Graphen und ist deshalb für das zu untersuchende Tondokument ohne Bedeutung. Deshalb werden Operationen auf Kanten nachfolgend nicht weiter einbezogen. Für die Knoten müssen dagegen alle drei Operationen – Einfügen, Löschen, Ändern – betrachtet werden. Die Kosten einer Operation sollen dabei abhängig von der Attributierung des Knotens sein. Sei die Attributierung des Knotens vor der Operation gegeben durch den Identifikator aus dem Leadsheet-Graphen id 1 und E1 mit id1 = 0 und E1 = 0, wenn ein neuer Knoten eingefügt wird. Die neue Attributierung sei gegeben durch id 2 und E2 mit id2 = 0 und E2 = 0, wenn der Knoten gelöscht wird. Die Kosten für die Operation werden dann berechnet mit C(δi ) = ( |E1 − E2 | id1 = id2 E1 + E2 id1 6= id2 Die Kosten für die Änderung der Ordnung einer Kante seien konstant 1. Das Distanzmaß für zwei Schablonen und damit für die entsprechenden Tondokumente wird definiert als: 40 Graphbasiertes Distanzmaß für Tondokumente Definition 7: Distanzmaß für Schablonen Seien zwei Tondokumente als Schablonen G 1 und G2 gegeben. Dann wird das Distanzmaß berechnet durch 4E(G1 , G2 ) D= |G1 | + |G2 | Dabei ist 4E(G1 , G2 ) die Editierdistanz zwischen den beiden Schablonen und |G i | die Anzahl der Knoten in Gi . 6.7 Nachteile des graphbasierten Distanzmaßes In diesem Kapitel wurde ein Distanzmaß für Musikstücke vorgestellt, das auf der Modellierung der Tondokumente als geordnete Bäume und der Berechnung der Editierdistanz zwischen diesen Bäumen (Schablonen) basiert. Dieses Distanzmaß soll nun noch einmal kritisch bewertet werden. Dabei werden sowohl die Modell- als auch die Implementierungsseite betrachtet. Im Kapitel 4 wird eine Erweiterung des Leadsheet-Modells aus [Seifert2004] vorgeschlagen, in der die Hierarchie der Leadsheets als attributierter Graph repräsentiert wird. In dieser Attributierung wird u. a. die Beziehung 6 (Relation), die das Kindelement der Graphstruktur zu seinem Elternelement hat, dargestellt. Diese Eigenschaft des erweiterteten Leadsheet-Modells wird im Distanzmaß nicht betrachtet. Da es sich hier um einen wichtigen Aspekt musikalischer Semantik handelt, muss dies als großer Nachteil betrachtet werden. Die Editierdistanz zwischen zwei Graphen (G 1 und G2 ), welche die Basisoperation für das in diesem Kapitel vorgeschlagene Distanzmaß darstellt, bestimmt die Operationen mit minimalen Kosten, um Graph G1 in G2 zu überführen. Dabei stehen die Aktionen: Einfügen, Löschen und Ändern eines Knotens oder einer Kante zur Verfügung. Für diese Aktionen können Kosten C(δi ) festgelegt werden. Wird nun ein Motiv oder ein Leadsheet wiederholt, so wird diese Änderung – die eine Lösch- bzw. Einfügeoperation benötigt – wie jedes Einfügen eines zusätzlichen Motivs (oder Leadsheets) behandelt. Die Wiederholung musikalischer Elemente ist aber eine häufig verwendete Kompositionstechnik, um das Gefühl eines Dialogs oder eines Echos zu inszenieren. Der Wiedererkennungswert eines Themas wird durch sie nicht verringert (wie bei einem willkürlichen Einfügen eines fremden Motivs) sondern eher verstärkt. Deshalb ist hierin eine weitere Unzulänglichkeit des graphbasierten Distanzmaßes zu sehen. Im Abschnitt 6.2 wird beschrieben, wie ein Tondokument als Graph, der sogenannte Tondokument-Graph oder Schablone, repräsentiert werden kann. Dazu werden die identifizierten Motive betrachtet. Über diesen Motiven wird dann die Hiearchie der Leadsheets, soweit sie sich mit dem Leadsheet-Graphen deckt, gebildet. Es entsteht ein Graph bzw. im nächsten Schritt ein geordneter Baum, der die wiedererkannten Teile des Musikstücks darstellt. Dabei 6 z. B. Strophe, Refrain, . . . 41 Graphbasiertes Distanzmaß für Tondokumente wird die Zeitspanne, die der identizifierte Anteil gegenüber der Gesamtlänge des Stücks ausmacht, nicht berücksichtigt. Diese fehlende Komponente – sie wird im nächsten Kapitel als Zeitliche Ebene bezeichnet – ist zwar nicht als so wichtig wie die anderen Faktoren einzuschätzen, sollte aber dennoch in einem Distanzmaß für Tondokumente Beachtung finden. Die Editierdistanz zwischen zwei geordneten, unattributierten Bäumen kann nach [Selkow1977] in polynomieller Laufzeit O(n 4 ) berechnet werden. Der entsprechende Algorithmus kann also in der Theorie als effizient bezeichnet werden. Trotzdem ist der Exponent 4 ein erheblicher Faktor bei der Bewertung der Laufzeit des Verfahrens. Deshalb wird die benötigte Zeit bei der Berechnung der Editierdistanz als weiterer Nachteil des graphbasierten Distanzmaßes betrachtet. Das graphbasierte Distanzmaß, das in diesem Kapitel diskutiert wurde, bietet einen sehr mathematisch orientierten Ansatz zur Bestimmung der Ähnlichkeit zweier Tondokumente. Es kommen Methoden7 zum Einsatz, die auch in anderen Bereichen der Informatik und speziell des Multimedia-Retrievals Verwendung finden und sich dort als geeignet erwiesen haben. Die Nachteile, die dieses Distanzmaß mit sich bringt: • fehlende Betrachtung der Relation im erweiterten Leadsheet-Modell, • fehlende Betrachtung der Wiederholung als spezielles kompositorisches Mittel, • keine Berücksichtigung der Zeitlichen Ebene und • hohe Laufzeit (O(n4 )), müssen aber als so gravierend eingeschätzt werden, dass das graphbasierte Distanzmaß als unzureichend geeignet zu bewerten ist. Deshalb wird im folgenden Kapitel ein anderes, enger an der musikalischen Semantik orientiertes Distanzmaß für Tondokumente vorgestellt. 7 Modellierung 42 von Medienobjekten als Graphen, Editierdistanz für Graphen 7 Semantikorientiertes Distanzmaß für Tondokumente Ausgehend von den Nachteilen des graphbasierten Distanzmaßes, die im Abschnitt 6.7 ausführlich erläutert wurden, soll in diesem Kapitel ein Distanzmaß für Tondokumente vorgestellt werden, das besser auf die Semantik von Musikstücken eingeht. Dabei spielt die Beachtung der Relation aus dem erweiterten Leadsheet-Modell und des Kompositionsmittels Wiederholung eine große Rolle. 7.1 Betrachtung der Distanz auf verschiedenen Ebenen LS0 (o1 , E1, r1) LS1 (o3, E3, r3) CM1 (o4, E4, r4) CM2 (o2 , E2, r2) LS2 (o5 , E5 , r5 ) CM1 (o6 , E6 , r6 ) CM3 Abbildung 7.1: Schablone mit semantischen Informationen Ausgangspunkt für dieses Distanzmaß ist wieder das Tondokument und die darin gefundenen Motive, wie sie in Abbildung 6.2 (Seite 36) dargestellt sind. Über diesen Motiven kann die entsprechende Hierarchie an Hand der Informationen im Leadsheet-Graphen bestimmt werden. Abbildung 7.1 zeigt, wie diese Hierarchie und die daran gebundenen (semantischen) Informationen als attributierter Baum modelliert werden können. Werden zwei Tondokumente miteinander verglichen, so wird im ersten Schritt die Schnittmenge der gefundenen Knoten – also die Menge der Motive und Leadsheets, die in beiden Dokumenten gefunden wurden – auf der obersten (Wurzel-) Ebene bestimmt (vgl. Abbildung 7.2). Die dadurch entstehenden Teilschablonen werden an Hand von vier Eigenschaften miteinander vergleichen. Diese Eigenschaften werden nachfolgend auch als Ebenen bezeichnet: 1. Zeitliche Ebene 2. Strukturelle Ebene 3. Semantische Ebene 4. Motivebene 43 Semantikorientiertes Distanzmaß für Tondokumente 50% 75% Abbildung 7.2: Bestimmung der Schnittmenge zweier Tondokumente In den nächsten Abschnitten werden die einzelnen Ebenen näher erläutert und die Berechnungsvorschriften der dazugehörigen Distanzattribute (D Time , DStruct , DSemant , DMotive ) definiert. Der daraus resultierende Distanzwert ist ein 4-Tupel, bestehend aus den Distanzattributen dieser Ebenen: D(T1 , T2 ) = (DTime , DStruct , DSemant , DMotive ) 7.1.1 Zeitliche Ebene Die Zeitliche Ebene bestimmt den Anteil der Schnittmenge der identifizierten Motive und Leadsheets an den Tondokumenten. Im Beispiel aus Abbildung 7.2 beträgt dieser Anteil einmal 50% und einmal 75%. Aus diesen beiden Werten – dem Anteil der Schnittmenge an Tondokument T1 und dem Anteil an Dokument T2 – wird das arithmetische Mittel berechnet. Das Distanzattribut für die Zeitliche Ebene wird also definiert als: Definition 8: Distanzattribut für die Zeitliche Ebene D Time Bei der Berechnung der Distanz zwischen zwei Tondokumenten T1 und T2 sei das Distanzattribut auf der Zeitlichen Ebene 1 t1 t2 DTime = · + 2 Länge(T1 ) Länge(T2 ) Dabei sei t1 /t2 die (zeitliche) Länge der als Schnittmenge identifizierten Motive/Leadsheets in T1 /T2 . Im genannten Beispiel beträgt das arithmetische Mittel und damit der Wert für D Time = 0, 625. 44 Semantikorientiertes Distanzmaß für Tondokumente 7.1.2 Strukturelle Ebene Auf der Strukturellen Ebene wird geprüft, wie ähnlich sich die Leadsheet-Elemente in der Schnittmenge sind. Dabei wird davon ausgegangen, dass Motive und Leadsheets auch dann zu Elternknoten zusammengefasst werden, wenn kleine oder „semantisch weniger relevante“ Änderungen, z. B. die Wiederholung eines Refrains, auftreten (vgl. Abbildung 7.3). LS1 LS1 ”Strophe” CM1 ”Strophe” ”Refrain” CM2 CM1 ”Refrain” ”Refrain” CM2 CM2 Abbildung 7.3: „Versionen“ eines Leadsheets Ausgehend von den Wurzeln der Schablonen werden dann alle Unterstrukturen mit ihrem Gegenüber – also LS0 → (CM1 , CM2 ) mit LS0 → (CM1 , CM2 , CM3 ) in Abbildung 7.3 – verglichen und eventuelle Änderungen (Wiederholung oder Fehlen eines Elements 1 ) bewertet. Die Bewertung dieser Veränderungen ist aus Tabelle 7.1 ersichtlich. Relation(en) Motiv Thema, Strophe, Melodie Intro, Solo, Bridge, Fill in, Outro, Refrain Musikalische Einheit, Musikalische Form Kombinationen v. Bausteinen, Arrangements, Medleys, Werke (Lied, Satz) Kombination von Entitäten (Sinfonie, Konzert) Fehlt Wiederholt 0,8 0,8 0,4 0,8 0,4 0,75 0,6 0,4 0,3 0,3 0,4 0,3 0,7 0,4 Tabelle 7.1: Bewertung von strukturellen Veränderungen Werden in einer Unterstruktur mehrere Änderungen festgestellt, so werden ihre Bewertungen aufsummiert. Es gibt allerdings eine obere Schranke für den Maximalwert. Diese hat den Wert 1. Wenn alle Unterstrukturen verglichen und die Veränderungen bewertet wurden, kann das Distanzattribut auf der Strukturellen Ebene nach folgender Definition bestimmt werden: Definition 9: Distanzattribut für die Strukturelle Ebene D Struct Bei der Berechnung der Distanz zwischen zwei Tondokumenten T1 und T2 sei das Distanzattribut auf der Strukturellen Ebene 1 Ein zusätzliches Element auf der einen Seite wird als fehlendes Element auf der anderen Seite interpretiert. 45 Semantikorientiertes Distanzmaß für Tondokumente DStruct = ∑ di |d| Dabei seien di die einzelnen Bewertungen beim Vergleich zweier Unterstrukturen und |d| die Anzahl der Unterstrukturen. 7.1.3 Semantische Ebene Auf dieser Ebene wird bewertet, welche semantischen Funktionen (Strophe, Refrain, ganzes Lied, . . . ) die Elemente in der Schnittmenge haben. Dazu werden die Wurzeln der Teilbäume in der Schnittmenge betrachtet. Dabei werden die in Tabelle 7.2 gelisteten Fälle unterschieden und ihre Relevanz für die Wiedererkennung differenziert bewertet. Elemente (Nicht zusammenhängende) charakteristische Motive aus unterschiedlichen Stücken (Nicht zusammenhängende) charakteristische Motive aus demselben Stück (Nicht zusammenhängende) Leadsheets aus unterschiedlichen Stücken Beispiel „Alle meine Entchen. . . “ und „Hänschen klein ging allein. . . “ „Alle meine Bewertung rsem = 1 Entchen. . . “ und „. . . Schwänzchen in die Höh’.“ „Horch, was kommt von draußen rein? Hollahi, Hollaho. . . “ rsem = 2 rsem = 3 und „Hänschen klein ging al- (Nicht zusammenhängende) sheets aus demselben Stück Lead- lein in die weite Welt hinein. . . “ „Hänschen klein ging allein in die weite Welt hinein. . . “ und rsem = 4 „‚Wünsch’ dir Glück‘, sagt ihr Ein oder mehrere vollständige Stücke (Toplevel-Knoten im LeadsheetGraphen) Blick. Kehr recht bald zurück!“ „Alle meine Entchen . . . in die Höh’.“ und „Hänschen klein .. rsem = 5 recht bald zurück!“ Tabelle 7.2: Bewertung identifizierter Motive bzw. Leadsheets Bei den meisten Tondokument-Vergleichen wird sicherlich eine Kombination mehrerer dieser Fälle auftreten. Dann fließen die resultierenden Bewertungen gewichtet nach dem zeitlichen Anteil an der Schnittmenge in das Distanzattribut für die Semantische Ebene ein: Definition 10: Distanzattribut für die Semantische Ebene D Semant Das Distanzattribut auf der Semantischen Ebene wird berechnet durch DSemant = 46 1 · Länge(wi ) · rsem (wi ) Länge(Schnittmenge) ∑ wi Semantikorientiertes Distanzmaß für Tondokumente Dabei seien wi die Wurzelelemente in der Schnittmenge der Schablonen. 7.1.4 Motivebene Die Motivebene analysiert, wie genau die identifizierten Motive in den Tondokumenten auftreten. Dazu werden alle in der Schablone gespeicherten Ähnlichkeitsmaße E i betrachtet. Über diesen wird zur Berechnung von D Motive das arithmetische Mittel bestimmt. Definition 11: Distanzattribut für die Motivebene D Motive Sei E = {e1 , e2 , e3 , . . .} die Menge der Ähnlichkeitswerte, mit denen die Motive in T1 und T2 gefunden wurden. Dann ist DMotive = 1 · ei |E| ∑ |E| sei die Anzahl der Elemente in der Menge E. 7.2 Zusammenfassung der Ebenen zu einem Distanzwert In den letzten vier Abschnitten wurden die einzelnen Ebenen des semantikorientierten Distanzmaßes erläutert. Beim Vergleich zweier Tondokumente werden für diese Ebenen die Distanzattribute DTime , DStruct , DSemant , DMotive berechnet. Die resultierende Distanz D(T1 , T2 ) ist dann ein 4-Tupel, bestehend aus den Distanzattributen für die verschiedenen Ebenen. In diesem Abschnitt soll untersucht werden, ob es möglich und sinnvoll ist, aus den Einzeldistanzwerten einen Gesamtwert zu ermitteln. Dieser Gesamtwert sollte gegen 0 gehen, je ähnlicher sich die beiden Instanzen T1 und T2 sind. Dazu muss zunächst untersucht werden, wie und mit welcher Gewichtung bzw. Priorität die Attribute in ein Gesamtmaß einfließen sollten. Für die Art des Einflusses gibt es zwei Möglichkeiten: Proportional, d. h. je größer der betrachtete Einzelwert, desto größer das Gesamtmaß, und Antiproportional, d. h. das Gesamtmaß wird kleiner, je größer der entsprechende Einzelwert ist. Der Wert DTime für die Zeitliche Ebene gibt an, wie groß (im arithmetischen Mittel) der Anteil der als Schnittmenge bestimmten Teilschablone zur Gesamtlänge der Tondokumente ist. Ist der Wert 1, so stimmen die beiden Dokumente vollständig überein. Wird keine Übereinstimmung gefunden, so ist DTime = 0. Die Tondokumente sind sich offensichtlich ähnlicher, je größer der Anteil der Schnittmenge ist, also je größer das Distanzattribut für die Zeitliche Ebene. Das heißt, DTime müsste antiproportional in ein Gesamtdistanzmaß einfließen. Die Zeitliche Ebene muss aber als von geringerer Priorität für die Distanz zwischen zwei Tondokumenten eingeschätzt werden. Die Strukturelle Ebene analysiert die Änderungen zwischen den in der Schnittmenge (auf Wurzelebene) der Schablonen vorkommenden Unterstrukturen. Dabei wird jede Veränderung 47 Semantikorientiertes Distanzmaß für Tondokumente mit einem Wert di > 0 bewertet und die Summe aller di zur Anzahl der Unterstrukturen ins Verhältnis gesetzt. Dieses Verhältnis bestimmt den Wert für D Struct . Das bedeutet, je größer das Distanzattribut auf der Strukturellen Ebene ist, desto mehr bzw. gewichtigere Variationen wurden zwischen den Schablonen festgestellt. Daraus folgt, dass D Struct proportional in das Distanzattribut für die entsprechenden Tondokumente einfließen muss. Je größer D Struct , desto größer sollte D(T1 , T2 ) sein. Die Priorität der Strukturellen Ebene ist als hoch einzustufen, da an dieser Stelle nicht nur die Wiederholung oder das Fehlen von Motiven, sondern auch das ganzer Leadsheets betrachtet wird. In der Semantischen Ebene spielt die Relation eine Rolle, die im Leadsheet-Graphen zwischen den Leadsheets untereinander und zwischen Leadsheets und Motiven definiert ist. Das entsprechende Distanzattribut gibt an, wie relevant die übereinstimmenden Anteile der Tondokumente für die Wiedererkennung von Musik sind. Je größer D Semant ist, desto „wichtiger“ sind die Elemente in der Schnittmenge. Es sollte also ein antiproportionales Verhältnis von DSemant zum Distanzwert D(T1 , T2 ) vorliegen. Aus der wichtigen Funktion der Relation im Leadsheet-Modell (vgl. Abschnitt 4.2) ergibt sich, dass die Semantische Ebene mit besonders hoher Priorität in ein Gesamtdistanzmaß einfließen müsste. Der Wert DMotive gibt das arithmetische Mittel aller Ähnlichkeitsmaße E i an, d. h. wie genau die wiedererkannten Motive in den Instanzen T1 und T2 vorkommen. Dabei ist jedes Ei = 1 dann, wenn ein Motiv exakt gefunden wurde. Andernfalls ist E i < 1. Das heißt, je größer DMotive , desto genauer sind die identifizierten Motive enthalten und desto ähnlicher sind sich T1 und T2 . Deshalb muss die Motivebene antiproportional in ein Gesamtmaß einfließen. Die Priorität der Motivebene für das Distanzwert D(T1 , T2 ) ist als sehr gering einzuschätzen, da es für den Vergleich von Tondokumenten wichtiger ist, welche Leadsheets in den Dokumenten gefunden wurden und wie sehr diese auf der Strukturellen Ebene übereinstimmen, als Variationen in den musikalischen Parametern (siehe Kapitel 5). Ebene Zeitliche Ebene Strukturelle Ebene Semantische Ebene Motivebene Priorität 2 3 4 1 Einfluss Antiproportional Proportional Antiproportional Antipropotional Tabelle 7.3: Einfluss der vier Ebenen auf den Distanzwert Tabelle 7.3 fasst die Ergebnisse aus den letzten Absätzen noch einmal zusammen. Dabei sei der Wert für die Priorität größer, je wichtiger die entsprechende Ebene für das Distanzmaß ist. Ausgehend von diesen Erkenntnissen, kann eine Formel zur Berechnung eines Gesamtdistanzmaßes für zwei Tondokumente aufgestellt werden. Ergebnis dieser Formel wäre dann eine reelle Zahl, die den Wert 0 hätte, wenn T1 und T2 gleich wären. Je weniger ähnlich sich T1 und T2 sind, desto größer wäre der berechnete Distanzwert. Die Berechnung eines einzelnen Wertes zur Angabe der Distanz zwischen den Tondokumenten ist also prinzipiell möglich. Allerdings muss der Sinngehalt einer solchen Angabe stark bezweifelt werden, da damit der Verlust der Beachtung musikalischer Semantik – der große 48 Semantikorientiertes Distanzmaß für Tondokumente Nachteil des graphbasierten Distanzmaßes aus dem vorherigen Kapitel – einhergeht. Gerade die Unterscheidung zwischen den vier Ebenen im Distanzmaß ermöglicht eine entsprechende Anzahl unterschiedlicher Betrachtungswinkel. Einige mögliche Anfragen an ein System, das auf diesem semantikorientierten Distanzmaß basiert, sind: • Welche Tondokumente bestehen vollständig aus Motiven des Liedes „Hänschen klein“? (Zeitliche Ebene) • In welchen Dokumenten kommt das Lied „Hänschen klein“ in der korrekten Reihenfolge vor? (Strukturelle Ebene) • In welchen Dokumenten kommt der Refrain des Liedes „Auld Lang Syne“ vor? (Semantische Ebene) • In welchen Dokumenten kommen Variationen der Motive aus „Hänschen klein“ vor? (Motivebene) Deshalb wird im Rahmen dieser Arbeit die Distanz zwischen zwei Tondokumenten D(T1 , T2 ) „nur“ als 4-Tupel aus den Distanzattributen der vier Ebenen betrachtet. 7.3 Bewertung des semantikorientierten Distanzmaßes In diesem Kapitel wurde ein semantikorientiertes Distanzmaß für den Vergleich von musikalischen Instanzen diskutiert. Ausgehend von den Nachteilen des mathematischen, graphbasierten Distanzmaßes (vgl. Kapitel 6) wurde die Betrachtung von vier unterschiedlichen Eigenschaften, den vier Ebenen Zeitliche, Strukturelle, Semantische und Motivebene, vorgeschlagen. Für jede dieser Ebenen wurde ein spezielles Distanzattribut definiert, das beim Vergleich zweier Tondokumente berechnet werden kann. Im vorhergehenden Abschnitt wurde erläutert, dass die Bestimmung eines einzelnen Distanzwertes aus den vier Distanzattributen der Ebenen zwar möglich, aber nicht sinnvoll ist, da dies die Ausdrucksvielfalt des Modells wieder stark einschränkt. Auf Grund der besseren Ausdrucksmächtigkeit und der größeren Anzahl möglicher Anfragen, wird in dieser Arbeit dem semantikorientierten Distanzmaß der Vorzug gegeben. Es wird in der Prototypapplikation CoSMIc, die im nächsten Kapitel vorgestellt wird, implementiert und getestet. Wie gut das Distanzmaß in der Praxis arbeitet, wird an Hand einiger Experimente im Abschnitt 8.8 untersucht. 49 8 Vorstellung der Prototypimplementierung CoSMIc In den vorangegangenen Kapiteln wurden die theoretischen Grundlagen und Ansätze, die für diese Diplomarbeit wichtig sind bzw. in ihr entwickelt wurden, erläutert. In diesem Kapitel soll die Prototypapplikation CoSMIc – Comparing Symbolic Musical Instances – vorgestellt werden. Diese enstand ebenfalls im Rahmen dieser Arbeit und soll die entworfenen Ansätze in die Praxis umsetzen. Nachdem in den ersten Abschnitten kurz auf einige technische Details eingegangen wird, werden in den Abschnitten 8.5 bis 8.7 diverse Algorithmen diskutiert, die in CoSMIc zum Einsatz kommen. Diese gehen alle davon aus, dass es sich bei den zu untersuchenden Tondokumenten – sofern sie mehrstimmig sind – um Soloklavierstücke handelt. Den Abschluss des Kapitels bildet die Beschreibung einiger Experimente, die mit dem Prototypen gemacht wurden, um die praktische Anwendbarkeit der Ähnlichkeitsoperation für Motive (Kapitel 5) und des semantikorientierten Distanzmaßes für Tondokumente (Kapitel 7) zu überprüfen. 8.1 Entwicklungsplattform An dieser Stelle soll die Entwicklungsplattform beschrieben werden, auf der CoSMIc entstanden ist. Als Programmiersprache war C bzw. eine C-kompatible Sprache 1 vorgegeben, damit das Projekt in der Lage ist, mit anderen des Forschungsgebiets „Musikalische Datenbanken“ der Professur Datenverwaltungssysteme, an der diese Diplomarbeit entstanden ist, zusammenzuarbeiten. Auf Grund der besseren Strukturiertheit der damit entworfenen Programme und dem Vorhandensein höherer, abstrakter Datentypen 2 wurde sich für die C-Erweiterung C++ entschieden. Als Compiler wurde das C++-Frontend der GNU Compiler Collection (GCC) verwendet. Zur Steuerung des Übersetzungsprozesses wurde GNU Make eingesetzt (siehe Abschnitt „Übersetzung und Installation“). Wie im letzten Abschnitt des Kapitel „Datenformate zur Speicherung von Musik“ erläutert wird, verwendet CoSMIc MIDI-Dateien als Eingabeformat für Tondokumente. Der Aufbau solcher MIDI-Dateien ist im Anhang B beschrieben. Zum Einlesen und Parsen solcher Dateien wurde die C++-Bibliothek Libjdkmidi 3 verwendet. Das Softwarepaket zu dieser Bibliothek kann von der Website des Projekts heruntergeladen werden. Allerdings enthält die dort verfügbare Version kleinere Fehler. Es wird daher empfohlen, die Version, die für diese Arbeit zusammengestellt wurde, zu verwenden. Sie ist auf der beiliegenden CD 1 C++, Objective-C B. Listen, „richtige“ Strings 3 http://www.jdkoftinoff.com/main/Free_Projects/C++_MIDI_Library 2 z. 50 Vorstellung der Prototypimplementierung CoSMIc im Verzeichnis Libjdkmidi enthalten bzw. auf der WWW-Seite zu dieser Diplomarbeit: http://cosmic.repc.de. Zur Erstellung der Programm- und Schnittstellendokumentation wurde das Werkzeug Doxygen4 verwendet. Doxygen liest die Quellcode-Dateien ein und durchsucht diese nach speziell formatierten Kommentaren (siehe Abbildung 8.1). Aus diesen Kommentaren kann die Dokumentation in unterschiedlichen Ausgabeformaten, u. a. HTML, PDF und XML, generiert werden. Die aktuelle Version dieser Schnittstellendokumentation im HTML-Format ist auf der beigelegten CD im Verzeichnis CoSMIc/doc enthalten. 1 2 /** Globale Variable */ int global; 3 4 5 6 7 8 9 10 /** * Funktion zur Inkrementierung der globalen Variable * \param step Summand */ void increment(int step) { global += step; } Abbildung 8.1: Quelltext mit Doxygen-Kommentaren 8.2 Übersetzung und Installation Nach der Vorstellung aller für das Projekt CoSMIc verwendeten Werkzeuge soll in diesem Abschnitt der Übersetzungsprozess kurz erläutert werden. Alle an dieser Stelle benötigten Pakete sind auf der beiliegenden CD bzw. auf der Website http://cosmic.repc.de, die für diese Arbeit erstellt wurde, verfügbar. Die nachfolgende Beschreibung geht von einer funktionierenden Installation der Entwicklungswerkzeuge GCC, Make und Doxygen, für eine Neuerstellung der Dokumentation, aus. CoSMIc kann unter allen Betriebssystemen verwendet werden, auf denen die angegebenen Tools arbeiten. Getestet wurde die Installation und Anwendung unter verschiedenen Linux-Systemen, Windows XP und Mac OS X. Im ersten Schritt muss die Libjdkmidi-Bibliothek, die zum Einlesen von MIDI-Files verwendet wird, übersetzt werden. Dazu muss das ZIP-Archiv libjdkmidi-20040526-fixed.zip (auf der CD im Verzeichnis Libjdkmidi enthalten) entpackt werden. In der entstandenen Verzeichnisstruktur wechselt man in den Ordner libjdkmidi/build/gnu. Dort startet man den Übersetzungsprozess der Bibliothek durch Eingabe von make Ergebnis dieser Kompilierung ist das Object-Code-Archiv libjdkmidi.a im Verzeichnis libjdkmidi/lib. Diese Datei sowie das Verzeichnis libjdkmidi/include/jdkmidi sollten nun an die entsprechenden Stellen im Dateisystem kopiert bzw. verschoben werden, damit 4 http://www.stack.nl/ dimitri/doxygen 51 Vorstellung der Prototypimplementierung CoSMIc sie der Compiler findet. Ist das nicht möglich, so muss der Pfad zu diesen Dateien bei der Übersetzung von CoSMIc im nächsten Schritt berücksichtigt werden. Zur Übersetzung des Prototypen muss man das Verzeichnis CoSMIc von der CD kopieren bzw. das Archiv cosmic-1.0.zip von der angegebenen Website herunterladen und entpacken, dadurch entsteht das genannte Verzeichnis. In diesem Verzeichnis befinden sich die Quelltexte, einige Testdateien und die Dokumentation von CoSMIc. Will man das Projekt neu übersetzen, sollte man zuerst die alten übersetzten Dateien löschen. Dies erledigt der Aufruf von make clean Hat man die Dateien aus dem Libjdkmidi-Paket an eine Stelle kopiert, wo sie der Compiler ohne spezielle Konfiguration findet, so kann der Übersetzungsprozess von CoSMIc direkt gestartet werden. Andernfalls kann man die Datei Makefile im Verzeichnis src, in der sich die Einstellungen für Make befinden, öffnen und dort in den Zeilen 11 bis 15 die benötigten Compilerschalter setzen. Hier können außerdem einige Compilerparameter hinzugefügt werden, die dafür sorgen, dass die entstehenden Applikationen mehr Debug-Informationen ausgeben. Diese Optionen sind in Kommentaren im Makefile dokumentiert. Danach kann die Übersetzung angestoßen werden, erneut durch Eingabe von make Ergebnis dieser Installation sind die beiden ausführbaren Dateien src/compareInstances und tools/generateRelationNo. Da alle zusätzlich benötigten Bibliotheken zu diesen Dateien statisch gelinkt werden, können diese einfach in ein Verzeichnis kopiert werden, in dem automatisch nach ausführbaren Dateien gesucht 5 wird, oder immer mit einer genauen Pfadangabe aufgerufen werden. Die Neugenerierung der Programmdokumenation mit Hilfe von Doxygen kann unter Verwendung des Befehls make doc aufgerufen werden. Dies sollte allerdings vor einer Änderung der Quelltexte nicht noch einmal nötig sein. Die Dokumentation auf der CD bzw. in dem ZIP-Archiv unter http://cosmic.repc.de entspricht dem aktuellen Stand bei Abgabe der Diplomarbeit. 8.3 Programmablauf und -komponenten In diesem Abschnitt sollen kurz die Arbeitsweise und die Komponenten von CoSMIc, die dem objektorientierten Paradigma von C++ folgend als Klassen implementiert wurden, erläutert werden. Wie die Applikation durch den Nutzer aufgerufen bzw. genutzt werden kann, wird im nächsten Abschnitt dokumentiert. 5 z. 52 B. /usr/local/bin unter Linux Vorstellung der Prototypimplementierung CoSMIc Das Programm compareInstances ist die zentrale Anwendung aus dem CoSMIc-Paket. Es berechnet die Distanz zwischen zwei Tondokumenten nach dem semantikorientierten Distanzmaß. Nachfolgend werden die dabei durchgeführten Arbeitsschritte aufgelistet: 1. Parameter lesen/prüfen, 2. Leadsheet-Graphen einlesen, 3. MIDI-Dateien einlesen, 4. Filterung/Normalisierung, 5. Datenstruktur CosmicTrack erstellen, 6. Melodie bestimmen, 7. Harmonien bestimmen, 8. Motive finden, 9. Schablonen bestimmen, 10. Distanz berechnen. Der Schritt 4 – Filterung/Normalisierung – entfernt alle nicht benötigten MIDI-Ereignisse (z. B. Textnachrichten, Instrumentenwechsel) und quantisiert die einzelnen Stimmen, d. h. die Noten werden an einem Zeitraster ausgerichtet. Die Datenstruktur CosmicTrack ist die von allen anderen Klassen benutzte Repräsentationsform von Tondokumenten. Für die meisten der genannten Arbeitsschritte existiert eine spezielle Komponente, die diese Funktion zur Verfügung stellt. Diese Komponenten sind in CoSMIc als Klassen 6 implementiert. Tabelle 8.1 listet alle entwickelten Klassen auf und gibt zu jeder Komponente eine Beschreibung. Eine genaue Dokumentation der einzelnen Klassen befindet sich in der mit Doxygen generierten Schnittstellendokumenation. Wie in den vorhergehenden Kapiteln bereits erwähnt, sind viele Konstanten in CoSMIc als zur Übersetzungszeit konfigurierbare Parameter implementiert. Diese Parameter sind in der Klasse MyConfiguration enthalten. Um eine dieser Konstanten zu ändern, muss die Datei src/MyConfiguration.cpp geändert und das Programm neu übersetzt werden (vgl. Abschnitt 8.2). Eine Auflistung aller in dieser Klasse verfügbaren Parameter, ihres Typs, einer Erläuterung und der bei Abgabe dieser Arbeit eingestellten Werte befindet sich in Tabelle F.1 im Anhang. 8.4 Anwendung Bevor einige der in CoSMIc verwendeten Algorithmen und Heuristiken näher erläutert werden, soll an dieser Stelle gezeigt werden, wie der Nutzer die Programme des Pakets verwenden kann. Es wurde bereits erwähnt, dass die Applikation compareInstances die zentrale 6 im C++-Namensraum cosmic 53 Vorstellung der Prototypimplementierung CoSMIc Klasse CharMotive CharNote Compare CosmicTone CosmicTrack Distance Equality Harmony LeadsheetGraphImport LeadsheetGraphNode LeadsheetGraph LeadsheetImport Leadsheet MidiReader MyConfiguration MyStreamUtils SimplifiedMidiEvent SimplifiedMidiTrack TemplateFinder TrackToXPM Beschreibung Repräsentiert charakteristisches Motiv Repräsentiert Note im charakteristischen Motiv Durchsuchen der Tondokumente nach charakteristischen Motiven Repräsentiert Event im CosmicTrack Repräsentiert Tondokumente Berechnung der Distanz Berechnung der Ähnlichkeit zwischen Motiven und Tonfolgen Bestimung der Harmonisierung Import eines LeadsheetGraphen (aus Dateien) Repräsentiert Knoten im Leadsheet-Graphen Repräsentiert Leadsheet-Graphen Import eines Leadsheets (veraltet) Repräsentiert Leadsheets Einlesen von MIDI-Dateien mittels Libjdkmidi Enthält Programmkonfiguration Funktionen zur Ein-/Ausgabe MIDI-Event ohne zusätzliche Daten MIDI-Spur ohne zusätzliche Daten Bestimmung der Tondokument-Graphen (Schablonen) Darstellung eines CosmicTracks als XPM-Bild Tabelle 8.1: Beschreibung der Klassen von CoSMIc 54 Vorstellung der Prototypimplementierung CoSMIc Anwendung ist. Sie vergleicht zwei, als Parameter übergebene Tondokumente (in Form von MIDI-Dateien) auf Basis eines vom Nutzer spezifizierten Leadsheet-Graphen und berechnet die Distanz zwischen ihnen. Die Aufrufsyntax für das Programm lautet: compareInstances [-s] [-i] [-d drumchannel] [-l leadsheet directory] <filename1> <filename2> Die Parameter haben im einzelnen folgende Bedeutung: • -s: Aktiviert das Anzeigen (der Tonfolgen) aller gefundenen Motive • -i: Aktiviert den interaktiven Modus 7 • -d: Manuelle Spezifikation des MIDI-Kanals für Schlagzeug und Percussion, Standard = 10 • -l: Manuelle Pfadangabe zur Definition des Leadsheet-Graphen, Standard = leadsheets • filename1/filename2: Pfadangabe zu den zu vergleichenden MIDI-Dateien Abbildung 8.2: CoSMIc Screenshot Als Beispiel soll im Folgenden der Vergleich der Dateien hk_struktur.mid und hk_motive.mid dienen. Beide befinden sich im Verzeichnis CoSMIc/data/experimente in der mit dieser Arbeit gelieferten CoSMIc-Version 8 . Abbildung 8.2 zeigt einen Screenshot der Ausgaben von compareInstances. Eine gekürze Auflistung der Ausgaben für dieses Beispiel zeigt Bild 8.3 (Seite 56) – Kürzungen sind durch die gepunkteten Linien gekennzeichnet. Die Zeilen 1 bis 15 bestehen rein aus Statusmeldungen, die dem Nutzer anzeigen sollen, dass die genannten Arbeitsschritte fehlerfrei durchgeführt werden konnten. In den Zeilen 17, 18 7 Das Programm wartet nach den einzelnen Schritten auf eine Bestätigung durch den Nutzer. Inhalt dieser Dateien siehe Abschnitt 8.8. 8 Zum 55 Vorstellung der Prototypimplementierung CoSMIc 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 * Load leadsheet data base * Load files * File 1 * File 2 * Filter and Normalize * Convert midi track to CosmicTrack * Detect main melody * Find harmonies * Set LeadsheetGraph * Set CosmicTrack * Start comparison * Start from toplevel node 1: Alle meine Entchen, Volkstuemlich 100% ...................................................................... * Sort motives 16 17 18 Haenschen klein: id: 10, pos: 0, rel: 1 from: 0 to: 1.5 mel: 1, rhy: 1, tem: 1, harm: 0.5 ==> equ: 0.95 19 20 21 Haenschen klein: id: 10, pos: 6, rel: 1 from: 2 to: 3.5 mel: 1, rhy: 1, tem: 1, harm: 0.5 ==> equ: 0.95 22 23 24 ...................................................................... * Determine template 25 26 27 28 Haenschen klein: id: 6, pos: 0, rel: 0 ==> avg equ: 0.713095 4 children from: 0 to: 15.5 29 30 31 ...................................................................... * Calculate distance 32 33 34 35 36 ************************************** * CoSMIc * * D I S T A N C E (result) * ************************************** 37 38 39 40 41 42 * Time Level: 0.910256 * Structural Level: 0.227273 * Semantic Level: 5 * Motive Level: 0.915871 ************************************** 43 44 45 CoSMIC - Michael Rentzsch, http://cosmic.repc.de Abbildung 8.3: Beispielausgabe von CoSMIc 56 Vorstellung der Prototypimplementierung CoSMIc und 19, 20 werden die identifizierten Motive aufgelistet, bevor sie zeitlich sortiert werden. Neben einigen Angaben zur Position dieser Motive im Tondokument erfolgt hier auch eine Ausgabe der Ähnlichkeitsmaße und der resultierenden Gesamtähnlichkeit (vgl. Kapitel 5). Aus den Zeilen 26, 27 ist zu erkennen, dass CoSMIc bei der Bestimmung der Schablonen (Tondokument-Graphen) vier Motive oder Leadsheets (zur Information für den Leser: es handelt sich um Leadsheet-Knoten mit den Knoten-IDs 7, 8, 7 und 9) zu einem Leadsheet (ID 6, Toplevel-Knoten für das Lied „Hänschen klein“) zusammenfassen konnte. In den Zeilen 38 bis 41 erfolgt schließlich die Ausgabe der Distanzwerte zwischen den beiden untersuchten Tondokumenten. Die Reihenfolge richtet sich nach der Definition des semantikorientierten Distanzmaßes im letzten Kapitel. Die letzten Ausgaben bestehen aus einer kurzen Information zum Programm und dessen Autor sowie einem Verweis auf die für diese Arbeit erstellte Website. Abbildung 8.4: Screenshot des Programms generateRelationNo Neben compareInstances gehört noch ein zweites Programm zum CoSMIc-Paket: generateRelationNo, zu finden im Verzeichnis tools. Dieses Progamm hilft dem Nutzer dabei, die als Zahl dargestellten Bitstrings für die Beziehung (Relation) im LeadsheetGraphen zu generieren (siehe Kapitel E). Bild 8.4 zeigt einen Ausschnitt der Verwendung der Applikation. Nach dem Start kann der Nutzer für die einzelnen möglichen Relationentypen auswählen9 , ob das Motiv oder Leadsheet diese Funktion erfüllt. Am Ende gibt generateRelationNo den entstandenen Bitstring und den daraus berechneten Code aus. 9 mit Hilfe der Tasten ’y’ bzw. ’n’ 57 Vorstellung der Prototypimplementierung CoSMIc 8.5 Melodieerkennung Nachdem die Nutzung der beiden CoSMIc-Programme kurz beschrieben wurde, sollen in den nächsten Abschnitten drei Algorithmen erläutert werden, die im Programm compareInstances Verwendung finden. Eine Betrachtung dieser Algorithmen ist wichtig, um die brechneten Ergebnisse des Vergleichs zweier Tondokumente vollständig nachvollziehen zu können. In diesem Abschnitt wird die Heuristik vorgestellt, die zur Bestimmung der Hauptstimme in einem polyphonen Stück 10 benutzt wird. Studio, Op. 10 − N. 3 F. Chopin Piano Abbildung 8.5: Klavierpartitur (Ausschnitt) Abbildung 8.5 zeigt einen Ausschnitt einer Klavierpartitur. Dieses Beispiel zeigt, wo die Hauptstimme (meist auch einfach als „Melodie“ bezeichnet) im Regefall liegt: in der Oberstimme, also von der rechten Hand gespielt. Deshalb folgt die Melodieerkennung in CoSMIc der Annahme, dass die Hauptstimme gewöhnlich in den obersten Tönen verläuft, da dies der menschlichen Wahrnehmung entspricht. Natürlich kann es vorkommen, dass die Melodie in einer Nebenstimme verläuft, während die obersten Töne zu einer Begleitstimme gehören. Deshalb ist folgende Ausnahme definiert: Erklingen die Töne einer anderen Stimme mehr als doppelt so laut wie die Oberstimme, so wird angenommen, dass es sich bei dieser um die Hauptstimme handelt. Das Zeitmaß, das zur Bestimmung der höchsten bzw. lautesten Töne verwendet wird, ist abhängig von der durchschnittlichen Notenlänge im Tondokument. 8.6 Harmonieerkennung In diesem Abschnitt wird der verwendete Algorithmus zur Erkennung der Harmonien erläutert. Der Ansatz dafür wurde aus [Eppelt2002] übernommen und erweitert. Ausgangsbasis ist eine Spezifikation aller häufig verwendeten Akkordformen und des dazugehörigen Intervallmusters. Diese ist im Anhang in Tabelle C.1 dargestellt. Will man die Harmonie eines 10 Das 58 Finden der Hauptstimme in einem einstimmigen Musikstück ist trivial. Vorstellung der Prototypimplementierung CoSMIc Tondokuments zu einem bestimmten Zeitpunkt bestimmen, so sind folgende Schritte durchzuführen: 1. Bestimme die vier lautesten Töne 2. Für jeden Ton t ∈ { c, cis, d, dis, . . . }: a) Transponiere die lautesten Töne in den Oktavraum t . . . t + 11 Halbtöne b) Berechne die Intervalle der relevanten Töne zu t c) Bestimme die Harmonieform Im Schritt 2c muss dabei ein Vergleich mit den in Tabelle C.1 angegebenen Intervallfolgen durchgeführt werden. Bei der Anwendung dieses Algorithmus’ kann es vorkommen, dass für die gleichen vier Töne, aber ausgehend von zwei verschiedenen Grundtönen mehrere verschiedene Harmoniemöglichkeiten bestimmt werden (vgl. Abbildung 8.6). Abbildung 8.6: Mehrere mögliche Harmonien: C7+ oder e6? Deshalb wird das Verfahren so erweitert, dass es versucht, aus den gefundenen möglichen Harmonien die „beste“ auszuwählen. Dazu werden alle Harmonien mit einer Priorität bewertet. Diese ist ebenfalls in Tabelle C.1 dargestellt. Eine hohe Priorität bedeutet, dass diese Harmonie einer anderen mit niedrigerer Priorität vorzuziehen ist. Bezugnehmend auf das Beispiel aus dem Notenbild 8.6 heißt das: Da C7+ 11 eine höhere Priorität als e6 hat (9 > 4), wird C7+ als Harmonie ermittelt. 8.7 Verfahren zur Motivsuche Der Vergleich von Tondokumenten nach dem Leadsheet-Modell (vgl. Kapitel 4) basiert auf der Identifikation charakteristischer Motive. Soll die Distanz zwischen zwei Musikstücken bestimmt werden, so müssen im ersten Schritt alle in diesen vorhandenen, bekannten Motive gefunden werden. Dazu muss ein Vergleich der möglichen Tonfolgen in den Dokumenten mit den definierten Elementen des Leadsheet-Graphen vorgenommen werden. Die Betrachtung aller möglichen Tonfolgen ist aber für mehrstimmige Musikstücke sehr aufwändig. Abbildung 8.7 versucht das zu verdeutlichen. Besteht zum Beispiel ein Dokument aus vier Dreiklängen, die hintereinander als gleichzeitig gespielter Akkord erklingen, so gibt es bereits 4 3 − 1 zu betrachtende Tonfolgen, denn für jeden Akkord gibt es drei mögliche Töne bzw. die Möglichkeit, dass keiner der Töne berücksichtigt wird. Der Wert 1 wird abgezogen, um eine leere Tonfolge auszuschließen. Es 11 andere Schreibweise: C Maj(or) 7 59 Vorstellung der Prototypimplementierung CoSMIc ... Abbildung 8.7: Hoher Aufwand beim Finden aller möglichen Tonfolgen (vereinfacht) ergibt sich also ein Aufwand von 63 zu prüfenden Tonfolgen. Da der Vergleich jedes definierten Motivs mit allen möglichen Tonfolgen zu aufwändig ist – besonders, da die in Kapitel 5 vorgestellte Ähnlichkeitsoperation auch komplexe Operationen, z. B. die Berechnung der Editierdistanz, enthält – musste ein anderer Ansatz zum Finden der charakteristischen Motive in polyphonen Tonfolgen gewählt werden. Eine zweite Möglichkeit ist es, die Suche nach einem Motiv in einem Tondokument lediglich auf den Versuch zu beschränken, die im Motiv definierten Töne in den entsprechenden Zeitabständen im Tondokument wiederzufinden. Dabei wird die Zugehörigkeit der Töne zu Stimmen nicht betrachtet. Kann ein gesuchter Ton nicht gefunden werden, so wird stattdessen der ihm räumlich und zeitlich nächste gewählt. Diese Methode kann effizient durchgeführt werden. Allerdings ist auch hier ein wichtiger Nachteil zu bemerken: Der unbedingte Versuch, dass zu identifizierende Motiv in einem Tondokument bzw. in einem Ausschnitt wiederzufinden, ignoriert in seiner bisherigen Form die Töne, die zwischen denen des Motivs erklingen, wenn der aktuell gesuchte Ton im gegebenen Zeitintervall gefunden wird. Dies kann zu einer erheblichen Verfälschung der Ähnlichkeitswerte auf der Motivebene des semantikorientierten Distanzmaßes führen. Deshalb musste ein Verfahren zur Motivsuche entwickelt werden, das die Vorteile beider bisher genannten Methoden vereinigt. Als Ausgangsbasis dafür wurde der zweite beschriebene Ansatz verwendet. Zusätzlich werden nun aber die Töne, die zwischen zwei zum Motiv gehörenden Tönen liegen, in die Betrachtung eingeschlossen. Dazu wird ein räumliches Intervall aus den beiden gefundenen Tönen und einem in der Programmkonfiguration spezifizierten Parameter12 gebildet (siehe Abbildung 8.8). Zwischentöne, die in diesem Intervall liegen, werden in die Tonfolge zum Vergleich mit einem Motiv mit eingeschlossen. 4 4 Abbildung 8.8: Aufbau eines Suchintervalls Im Beispiel aus Abbildung 8.8 liegen zwei Töne zwischen dem zweiten und dritten Ton des „Hänschen klein“-Motivs. Der erste Ton, das c’, liegt dabei im Suchintervall und wird deshalb 12 vgl. 60 Anhang F, Parameter INTERVAL_FRAME Vorstellung der Prototypimplementierung CoSMIc in die Tonfolge mit aufgenommen. Der zweite Ton, das g”, liegt außerhalb des Suchraumes und wird als einer anderen Stimme zugehörig bewertet. Dieses Verfahren ist mit nichtexponentiellem Aufwand berechenbar und verfälscht das Ähnlichkeitsmaß nicht, da Zwischentöne, die den Wiedererkennungsprozess beeinflussen, berücksichtigt werden. Deshalb wird es bei der Motividentifikation in CoSMIc implementiert. Weitere Einzelheiten zum Algorithmus können der Klasse Compare 13 entnommen werden. 8.8 Experimente Den Abschluss dieses Kapitels soll die Vorstellung einiger Experimente bilden, die im Rahmen dieser Diplomarbeit durchgeführt wurden, um die Anwendung der theoretischen Ansätze (Ähnlichkeitsoperation für Motive, semantikorientiertes Distanzmaß) und die Prototypapplikation CoSMIc in der Praxis zu testen. Dazu wurden die Beispieldefinition eines LeadsheetGraphen aus Anhang E und folgende Testdokumente 14 verwendet: • ame_exakt.mid: „Alle meine Entchen“, alle Motive treten exakt auf, die Reihenfolge bleibt gewahrt • ame_motive.mid: „Alle meine Entchen“ mit Motivvariationen, Reihenfolge original • ame_struktur.mid: „Alle meine Entchen“ mit Strukturvariationen • hk_exakt.mid: „Hänschen klein“, alle Motive treten exakt auf, die Reihenfolge bleibt gewahrt • hk_motive.mid: „Hänschen klein“ mit Motivvariationen, Reihenfolge original • hk_struktur.mid: „Hänschen klein“ mit Strukturvariationen • ame_hk.mid: Kurzes Medley mit Motiven aus „Alle meine Entchen“ und „Hänschen klein“ Die Noten zu den genannten Experimentierdokumenten befinden sich im Anhang in den Abbildungen G.1 bis G.7. Um die Zuordnung von Dokumentinstanzen des gleichen Stückes zu testen, wurde jedes dieser Dokumente jeweils mit der exakten Version von „Alle meine Entchen“ und mit der von „Hänschen klein“ verglichen. Die dabei bestimmten Distanzwerte (als Tupel (D Time , DStruct , DSemant , DMotive )) zeigt Tabelle 8.2 (dabei werden Gleitkommazahlen in der englischen Schreibweise angegeben). Betrachtet man die berechneten Werte aus Tabelle 8.2, so stellt man fest, dass alle Distanzwerte im erwarteten Bereich liegen: Fast alle Lieder werden als vollständig passend oder als anderes Stück eingeordnet und die Variationen in Struktur und auf Motivebene schlagen sich in den entsprechenden Distanzattributen nieder. 13 siehe 14 Die Quellcodedatei src/Compare.cpp genannten Dateien befinden sich alle im Verzeichnis data/experimente. 61 Vorstellung der Prototypimplementierung CoSMIc Dokument ame_exakt.mid ame_motive.mid ame_struktur.mid hk_exakt.mid hk_motive.mid hk_struktur.mid ame_hk.mid Vergleich mit ame_exakt.mid hk_exakt.mid (1, 0, 5, 0.9547) (0, 0, 0, 0) (1, 0, 5, 0.8998) (0, 0, 0, 0) (1, 0.2813, 5, 0.9528) (0, 0, 0, 0) (0, 0, 0, 0) (1, 0, 5, 0.9509) (0, 0, 0, 0) (1, 0, 5, 0.9136) (0, 0, 0, 0) (0.9103, 0.2273, 5, 0.9531) (0.55, 0, 2, 0.9433) (0.6746, 0, 4, 0.9554) Tabelle 8.2: Ergebnisse des Experiments mit CoSMIc Interessant sind die Vergleichsergebnisse des letzten Dokuments, einem Medley aus „Alle meine Entchen“ und „Hänschen klein“. Der Vergleich mit „Alle meine Entchen“ liefert auf der Semantischen Ebene den Wert 2 für „(Nicht zusammenhängende) Motive aus dem selben Stück“, beim Vergleich mit „Hänschen klein“ taucht hier der Wert 4 auf („(Nicht zusammenhängende) Leadsheets aus dem selben Stück“). Die Begründung hierfür liegt darin, dass im Leadsheet-Graphen von „Alle meine Entchen“ nur das Hintereinanderauftreten aller vier charakteristischen Motive als ein Leadsheet definiert ist. Das Medley hat also objektiv eine größere Ähnlichkeit zu „Hänschen klein“ als zu „Alle meine Entchen“. Um die Clusterung, die durch das semantikorientierte Distanzmaß entsteht zu verdeutlichen, wurden die berechneten Distanzwerte in jeweils einem 3D-Diagramm eingetragen. Dabei wurde das Distanzattribut DTime für die Zeitliche Ebene nicht berücksichtigt, da es von geringerer Priorität für den Dokumentenvergleich ist und bei den Testfällen über besonders wenig Relevanz verfügt. Die Ergebnisdiagramme sind in den Abbildungen 8.9 und 8.10 dargestellt. Motivebene Cluster "Alle meine Entchen" 1 0.8 0.6 0.4 0.2 0 4 0 0.2 0.4 0.6 Strukt. Ebene 0.8 10 1 2 5 3 Semant. Ebene Abbildung 8.9: Distanzwerte zu „Alle meine Entchen“ im 3D-Diagramm Abbildung 8.9 zeigt die Einordnung der Tondokumente im Vergleich mit „Alle meine Entchen“. Man sieht, dass die drei Varianten des Liedes eindeutig einem Cluster zugeordnet wer- 62 Vorstellung der Prototypimplementierung CoSMIc den können. Die Dokumente, die einen völlig anderen Inhalt – nämlich das Lied „Hänschen klein“ – haben, sind am Nullpunkt des Distanzraums angeordnet. Das Medley aus beiden Volksliedern liegt in der Mitte zwischen diesen beiden Gruppierungen. Cluster "Hänschen klein" Motivebene 1 0.8 0.6 0.4 0.2 0 4 0 0.2 0.4 0.6 Strukt. Ebene 0.8 10 1 2 5 3 Semant. Ebene Abbildung 8.10: Distanzwerte zu „Hänschen klein“ im 3D-Diagramm Das zweite Diagramm, in Abbildung 8.10, veranschaulicht die Vergleichswerte mit der exakten Fassung von „Hänschen klein“. Auch hier liegen die Variationen des Liedes räumlich nah beeinander, die Versionen von „Alle meine Entchen“ liegen am Koordinatenursprung. Während die Abgrenzung des Medleydokuments im ersten Diagramm aber sehr deutlich zu sehen ist, ist sie in diesem Falle nicht so offensichtlich. Stattdessen liegt der Distanzwert sehr nah am Cluster der „Hänschen klein“-Variationen. Eine Abgrenzung zu diesen Stücken ist nur bei entsprechend hoher Priorisierung des Distanzwertes der Semantischen Ebene gegeben. Die praktischen Experimente zeigen, dass das definierte Distanzmaß die erwarteten Werte liefert und zur Clusterung von Tondokumenten und damit zur Bestimmung, welche Tondokumente Instanzen desselben Musikstückes sein könnten, geeignet ist. Die Frage, nach welchen Attributen des Distanzwertes und mit welcher Gewichtung diese Gruppierung durchgeführt werden soll, kann pauschal nicht beantwortet werden und muss je nach Anwendungsfeld und den damit verbundenen Anfragen geklärt werden. In diesem Kapitel wurde die Prototypapplikation CoSMIc vorgestellt, die im Rahmen dieser Diplomarbeit zum Testen der in den Kapiteln 4 und 7 erläuterten Ansätze für eine Ähnlichkeitsoperation für Motive und eine Vergleichsoperation für Tondokumente implementiert wurde. Nach einer Anleitung zur Installation des Programmpakets und der Beschreibung einiger in CoSMIc Verwendung findenden Algorithmen wurde eine Reihe von Testläufen dokumentiert, die verschiedene Instanzen der Volkslieder „Alle meine Entchen“ und „Hänschen klein“ vergleicht. Dabei wurde festgestellt, dass sich das semantikorientierte Distanzmaß zur Clusterung von Tondokumenten und der damit verbundenen Zuordnung unterschiedlicher Varianten desselben Musikstückes sehr gut eignet. 63 9 Auswertung und Ausblicke Diese Diplomarbeit beschäftigt sich mit semantischen Vergleichsoperationen für Tondokumente. Dazu wurde die Idee des Leadsheet-Modells aus [Seifert2004] verwendet, Musikstücke anhand der Identifizierung charakteristischer Motive und der Hierarchie dieser Motive in Leadsheet-Bäumen bzw. -Graphen zu betrachten. Ausgehend von diesem Ansatz wurde eine Ähnlichkeitsoperation definiert, die das Wiedererkennen von Motiven in Tondokumenten ermöglichen soll, die nicht exakt vorliegen. Diese Ähnlichkeitsoperation basiert auf dem Vergleich der musikalischen Parameter Melodie, Rhythmus, Tempo und Harmonisierung sowie der Bewertung der Stimme1 , in der das Motiv gefunden wurde. Für den Vergleich von Tondokumenten, in denen die bekannten charakteristischen Motive bereits identifiziert wurden, wurden zwei verschiedene Konzepte vorgestellt: das graphbasierte und das semantikorientierte Distanzmaß. Das erste Distanzmaß beruht auf der Repräsentation der Dokumente als Tondokument-Graphen (Schablonen) und dem Vergleich dieser Graphen mittels einer Editierdistanz. Das Verhältnis der benötigten Änderungsoperationen zwischen den Schablonen zur Anzahl der Knoten des Graphen stellte dann den Distanzwert zwischen den Musikstücken dar. Dieses Konzept hat sich als zu komplex und zu wenig an der musikalischen Semantik orientiert erwiesen. Deshalb wurde im Kapitel 7 ein zweites Distanzmaß vorgeschlagen. Hier werden die Informationen über die gefundenen Motive und die Ähnlichkeitswerte, mit denen sie wiedererkannt wurden, ebenfalls in einem Graphen gespeichert. Dieser Graph wird aber nur als zentrale Struktur zur Verwaltung der für den Vergleich benötigten Daten verwendet. Die beiden Tondokumente werden dann an Hand von vier Eigenschaften – als Ebenen bezeichnet – betrachtet: 1. Zeitliche Ebene, 2. Strukturelle Ebene, 3. Semantische Ebene und 4. Motivebene. Ergebnis dieser Betrachtungen sind vier Distanzattribute, die zu einem Tupel D(T1 , T2 ) = (DTime , DStruct , DSemant , DMotive ) zusammengefasst werden. Dieses Tupel ist der Distanzwert zwischen den zu vergleichenden Dokumenten. Um die vorgestellten Konzepte zu testen, wurde die Applikation CoSMIc entwickelt. Diese wurde im Kapitel 8 ausführlich erläutert. Das darin enthaltene Programm compareInstances vergleicht zwei, als Parameter übergebene Tondokumente im MIDI-Format miteinander und 1 Haupt- 64 oder Nebenstimme Auswertung und Ausblicke gibt den berechneten Distanzwert nach dem semantikorienterten Distanzmaß aus. Mit Hilfe dieses Programmes wurden verschiedene Varianten der beiden Volkslieder „Alle meine Entchen“ und „Hänschen klein“ miteinander verglichen. Die dabei bestimmten Ergebnisse wurden u. a. in einem 3D-Diagramm2 dargestellt. Aus dieser Darstellung wurde offensichtlich, dass sich die Idee des semantikorientierten Distanzmaßes zur Clusterung der Musikstücke eignet. Damit ist die Zuordnung mehrerer, verschiedener Instanz desselben Stückes – die zentrale Aufgabe dieser Arbeit – gelungen. Im letzten Kapitel der Arbeit sollen die entwickelten Konzepte (im Abschnitt 9.1) sowie die Prototypimplementierung CoSMIc (Abschnitt 9.2) noch einmal kritisch betrachtet und an gegebener Stelle Verbesserungsvorschläge unterbreitet werden. Danach werden einige Ideen für weiterführende Arbeiten vorgestellt. 9.1 Kritische Betrachtung der Ähnlichkeitsoperation für Motive In diesem Abschnitt soll die Ähnlichkeitsoperation für Motive bzw. Motive und Tonfolgen, die im Kapitel 5 erläutert wurde, kritisch beleuchtet werden. Diese Operation bestimmt Ähnlichkeitsmaße für die musikalischen Parameter Melodie, Rhythmus, Tempo und Harmonisierung und läßt diese gewichtet in ein Gesamtähnlichkeitsmaß einfließen. Die Berechnung der einzelnen Ähnlichkeitsmaße ist verschieden und wird in den Unterabschnitten 5.1.1 bis 5.1.4 definiert. 4 4 4 4 Abbildung 9.1: Als gleichwertig betrachtete Variationen des „Hänschen klein“-Motivs Bei der Berechnung der Ähnlichkeitsmaße für Melodie und Rhythmus werden die Variationen mit Hilfe der Darstellung als Zeichenketten, zwischen denen die Levenshtein-Distanz berechnet wird, bewertet. Dieses Verfahren ist einfach und kann effizient durchgeführt werden. Allerdings beachtet es das Ausmaß der Variation nicht. Abbildung 9.1 zeigt zwei verschiedene Melodievariationen des Motivs „Hänschen klein ging allein“. Beide werden mit einer benötigten Änderungsoperation zum Originalmotiv gleich bewertet. Dabei stellt die zweite Änderung eigentlich eine viel gewichtigere als die erste dar, schließlich wird nicht nur die Tonhöhe verändert, sondern auch die Melodiekontur an zwei Stellen (statt an einer). Außerdem liegt der neue Ton (cis) nicht in der Tonleiter des Liedes (C-Dur). Das gleiche Problem tritt bei der Betrachtung des Rhythmus’ auf, wenn z. B, eine Viertel- zu einer Achtelnote bzw. zu einer ganzen Note geändert wird. Auch hier werden beide Variationen gleich bewertet, obwohl die zweite ausschlaggebender sein sollte. Deshalb scheint die Forderung berechtigt, die Motivvariationen in Melodie und Rhythmus nach dem „Betrag“ der Variation zu bewerten. Beim Rhythmus kann dieser Forderung leicht 2 unter Vernachlässigung der Zeitlichen Ebene 65 Auswertung und Ausblicke entsprochen werden. Größere Vorsicht ist bei der Betrachtung der Melodie walten zu lassen: Hier kann nicht einfach nur die Modulation der Tonhöhe berücksichtigt werden. Stattdessen muss der gesamte musikalische Kontext in die Betrachtung mit einfließen. Man betrachte dazu das Beispiel aus Abbildung 9.2. 4 4 Abbildung 9.2: Verschiedene Melodievariationen desselben Motivs In der Notation in Bild 9.2 sind zwei verschiedene Melodievariationen desselben Motivs zu finden, in beiden Fällen wird die Melodiekontur gleichermaßen verändert. In der ersten Variation wird aus e’ ein dis’, es liegt also ein Tonhöhenunterschied von einem Halbton vor. Bei der zweiten Variante wird aus e’ das eine große Sekunde tiefer liegende c’. Dies entspricht einem Unterschied von vier Halbtönen. Würde also eine Bewertung der Melodieänderungen nur nach dem Tonhöhenunterschied durchgeführt, so würde die erste Variation als weniger schwerwiegend betrachtet werden. Diese Vorgehensweise ist aber ungeeignet, da berücksichtigt werden muss, dass der Ton dis in der C-Dur-Tonleiter nicht vorkommt, der Ton c aber dieses Kriterium erfüllt. Außerdem liegt der Ton c im Dreiklang der für diesen Takt vorgegebenen Harmonie C. Es bleibt also festzustellen, dass die Bewertung von Melodie- und Rhythmusänderungen, wie sie in der Definition der Ähnlichkeitsoperation in dieser Arbeit vorgesehen ist, keine optimale Lösung darstellt. Allerdings erfordert eine differenziertere Betrachtung von Melodievariationen ein umfangreiches Wissen über den musikalischen Kontext, in dem ein Motiv gefunden wird, und ist nicht nur über den Betrag der Tonhöhenänderung möglich. Es scheint aber lohnenswert zu berücksichtigen, ob eine Änderung der Melodiekontur vorliegt. Ob eine Verbesserung der Motividentifikation dadurch wirklich erreicht wird, kann nur durch entsprechende Experimente festgestellt werden. 9.2 Kritische Betrachung der Implementierung CoSMIc Die Prototypapplikation CoSMIc, die im Kapitel 8 vorgestellt wird, soll in diesem Abschnitt noch einmal betrachtet werden. Die Funktionstüchtigkeit der Anwendung wurde u. a. durch die im Abschnitt 8.8 durchgeführten Experimente getestet. Dabei wurden die erwarteten Ergebnisse erzielt. Damit wurde gezeigt, dass der Prototyp prinzipiell die an ihn gestellten Anforderungen erfüllt. Im Abschnitt 8.7 wurde ein Algorithmus zum Finden der Motive in polyphonen Tondokumenten beschrieben, der weniger zeitaufwändig ist als die Betrachtung aller möglichen Tonfolgen und das Ähnlichkeitsmaß nicht wie die einfache Suche nach passenden Tönen verfälscht. Dieser Algorithmus bildet zwischen zwei zum Motiv gehörenden Tönen bzw. zwischen einem zum Motiv gehörenden Ton und dem Ton, der dem danach gesuchten am nächsten liegt, 66 Auswertung und Ausblicke ein räumliches Suchintervall. Zwischentöne, die in diesem Suchintervall liegen, werden zur Tonfolge hinzugefügt. Von Tönen, die außerhalb des Suchraumes liegen, wird angenommen, dass sie zu einer anderen Stimme gehören. Dieses Verfahren ist prinzipiell geeignet. Es können jedoch leicht Beispiele gefunden werden, bei denen diese Methode zu einfach ist und Zwischentöne fälschlicherweise anderen Stimmen zuordnet bzw. Töne anderer Stimmen, die nahe bei der Stimme liegen, in der das Motiv erkannt wurde, mit in die Tonfolge einbezieht. Besser geeignet sind an dieser Stelle Algorithmen, die polyphone Musikstücke in mehrere (monophone) Stimmen3 zerlegen – dieser Vorgang wird als polyphone Reduktion bezeichnet. Diese Algorithmen basieren im Allgemeinen auf den musikalischen Gestaltgesetzen ([Motte-Haber1996]). Einige Methoden zur polyphonen Reduktion sind in [Seifert2004] aufgelistet. Ergebnis der Reduktion ist eine Menge von Streams, wie sie in Abbildung 9.3 dargestellt ist. Abbildung 9.3: Nichtkreuzende und sich kreuzende Streams Wird ein solches Verfahren zur polynomiellen Reduktion vor die Motividentifikation gestellt, wird im Regelfall auch eine Komplexitätsverringerung im Gegensatz zur Betrachtung aller möglichen Tonfolgen erreicht. Zusätzlich sollte die verfälschte Zuordnung von Zwischentöne zu falschen Stimmen, die auf Grund der Einfachheit des bisher verwendeten Algorithmus’ durchaus möglich ist, nicht mehr vorkommen. Natürlich hängt dies von der Qualität der verwendeten Methode ab. Daher ist es als eine sinnvolle Erweiterung von CoSMIc zu betrachten, ein polynomielles Reduktionsverfahren zu implementieren und vor die Suche nach den charakteristischen Motiven zu setzen. 9.3 Ideen für weiterführende Arbeiten Nachdem in den bisherigen Abschnitten des Kapitels einige Nachteile der in dieser Diplomarbeit entwickelten Konzepte und der Prototypimplementierung CoSMIc und Lösungsansätze dafür erläutert wurden, sollen in diesem Abschnitt Ideen für zukünftige Projekte vorgestellt werden, die die Ergebnisse dieser Arbeit als Grundlage benutzen. Folgende mögliche Erweiterungen werden in den nächsten Unterabschnitten diskutiert: 1. Komfortable Speicherung und Auswertung des Leadsheet-Graphen in einer Datenbank, 2. Automatische Erkennung charakteristischer Motive in Originaldokumenten, 3. Konfiguration der Gewichtungsparameter für die Ähnlichkeitsoperation auf Grund von Experimenten, 3 Streams 67 Auswertung und Ausblicke 4. Indexierung von Tondokumenten mit Hilfe des semantikorientierten Distanzmaßes. 9.3.1 Verwaltung des Leadsheet-Graphen in einer Datenbank Im Kapitel E wird ein einfaches, zeilenbasiertes Format zur Eingabe der Daten des LeadsheetGraphen an die Testanwendung CoSMIc definiert. Es beruht auf der getrennten Spezifikation der Knoten und Kanten in zwei verschiedenen Dateien, die im gleichen Verzeichnis liegen müssen. Während dieses Format relativ leicht eingelesen werden kann, ist es für die Eingabe der Graphdaten zu umständlich und wenig komfortabel. Es ist deshalb für die Spezifikation großer Mengen von charakteristischen Motiven bzw. Leadsheets nicht geeignet. Deshalb ist die Entwicklung und Pflege einer Datenbank für die Leadsheet-Daten eine sinnvolle Erweiterung des CoSMIc Projekts. Dabei ist es nicht in erster Linie wichtig, in welchem Datenmodell4 diese Datenbank konzipiert wird. Ein Beispiel für eine Modellierung der Daten im Relationalen Modell zeigt Abbildung 9.4 5 . Das Lesen der Daten kann dann in der CoSMIcApplikation dank der Vielzahl vorhandener Bibliotheken für den Zugriff auf Datenbanksysteme problemlos implementiert werden. Dazu muss die Klasse LeadsheetImport entsprechend angepasst werden. 1 1 1 Knoten ID Leadsheets ID Titel Autor n 1 Char.−Motive ID Tempo 1 Char.−Noten ID Nummer Intervall Lautstaerke Laenge Delta−Zeit Harmonie Harmonieform Abbildung 9.4: Modellierung des Leadsheet-Graphen im Relationalen Modell Zusätzlich bietet sich die Entwicklung eines Werkzeugs an, das dem Nutzer eine grafische Oberfläche zur Definition bzw. Anpassung des Leadsheet-Graphen bietet. Hier ist es zum Beispiel vorstellbar, dass der Anwender in einem Notensystem die Motive auswählt und dann automatisch die entsprechenden Datensätze generiert werden. Natürlich muss auch die Verwaltung der Identifikatorattribute automatisiert werden. Die Erstellung einer Datenbank und passender Werkzeuge zum Verwalten des Leadsheet-Datenbestandes würde die Arbeit mit CoSMIc erheblich vereinfachen. 4 Relationales Modell, Objektorientiertes Modell, . . . sind fett, Fremdschlüsselattribute kursiv dargestellt 5 Primärschlüsselattribute 68 Auswertung und Ausblicke 9.3.2 Automatische Erkennung charakteristischer Motive in Originaldokumenten Im Kapitel 4 wird im Rahmen des Leadsheet-Modells die Idee des charakteristischen Motivs vorgestellt. Es bezeichnet dort eine relativ eindeutige Tonfolgenkontur sowie ihre rhythmische Konfiguration. Es wird erwähnt, dass die Auswahl, welche Tonfolgen eines Musikstückes die Merkmale eines solchen charakteristischen Motivs erfüllen, letztendlich wohl nur vom Menschen getroffen werden kann. Abbildung 9.5: Melodieverlauf am Beginn von „Hänschen klein“ Dennoch ist es erstrebenswert, den Vorgang der Auswahl charakteristischer Motiv, so weit es möglich ist, zu automatisieren. Grundlage eines Algorithmus’ zur Lösung dieses Problems müssen die Gestaltgesetze, besonders das Gesetz der Nähe, das Gesetz der guten Fortsetzung und das Gesetz des gemeinsamen Schicksals, bilden. Abbildung 9.5 zeigt den Melodieverlauf am Beginn von „Hänschen klein“. Außerdem sind die ersten beiden charakteristischen Motive eingezeichnet. Es ist sehr gut erkennbar, dass die Töne dieser Motive jeweils räumlich nah beieinander liegen und ein Muster in der Kontur bilden. Ein weiteres wichtiges Merkmal bei der Identifikation charakteristischer Motive ist die Häufigkeit, mit der eine Tonfolge in dem Stück auftritt. Abbildung 9.6 zeigt das sogenannte Schicksalsmotiv aus Beethovens 5. Sinfonie. Diese Tonfolge (ggg es) tritt in der Sinfonie immer wieder auf und zieht sich wie ein „roter Faden“ durch alle Sätze. Auch die Tonfolge gg e ff d6 tritt in dem Lied „Hänschen klein“ drei mal auf und nimmt damit einen Anteil von 37, 5% der Motive ein. 2 4 Abbildung 9.6: Schicksalsmotiv aus Beethovens 5. Sinfonie Es sollte deshalb möglich sein, aus einem Tondokument die Tonfolgen zu erkennen, die den genannten Merkmalen: • Nähe der Töne zueinander, • Bilden einer eindeutigen Melodiekontur und • wiederholtes Auftreten 6 „Hänschen klein, ging allein“ 69 Auswertung und Ausblicke genügen und dem Anwender diese als mögliche charakteristische Motive anzubieten. Letztendlich sollte der Nutzer dann eine Feinjustierung der durch Heuristiken bestimmten Vorschläge aus seinem eigenem Musikverständnis heraus vornehmen. 9.3.3 Konfiguration der Gewichtungsparameter der Ähnlichkeitsoperation für Motive Die Ähnlichkeitsoperation für Motive bzw. Motive und Tonfolgen, die im Kapitel 5 erläutert wird, beruht auf einem gewichteten Einfluss (vgl. Abschnitt 5.3) der musikalischen Parameter Melodie, Rhythmus, Tempo und Harmonisierung. Die Konfiguration der Gewichtungsparameter, wie sie bei Abgabe dieser Arbeit in der Prototypimplementierung CoSMIc eingestellt ist7 , beruht auf einigen Experimenten und der Erfahrung des Autors als Musiker. Um eine bessere Konfiguration dieser Parameter zu erreichen und damit die Erfolgsquote der Ähnlichkeitsoperation zu steigern, ist eine große Anzahl von Experimenten mit vielen unterschiedlichen Motiven und mehreren menschlichen Probanden zur Einschätzung, welche Tonfolgen und Motive wirklich als ähnlich wahrgenommen werden, nötig. Ist eine entsprechend große Menge an Versuchsdaten vorhanden, kann eine geeignete Justierung der Gewichtungsverteilung vorgenommen werden. Dies kann manuell erfolgen, was aber ein sehr arbeitsaufwändiger Vorgang ist. Alternative wäre eine automatische Bestimmung der besseren Parameter. An dieser Stelle könnte sich die Verwendung eines künstlichen neuronalen Netzes (KNN) als geeignet erweisen. KNNe sind ein Modell der Künstlichen Intelligenz, das mit Hilfe einer Lernfunktion versucht, die besten Parameter einer komplexen Funktion zu bestimmen. Eine detaillierte Einführung in die Theorie der künstlichen neuronalen Netze findet der interessierte Leser in [Rojas1996]. Abbildung 9.7: Struktur eines künstlichen neuronalen Netzes, Quelle: [Wikipedia2] Nimmt man die Gewichtungswerte der Ähnlichkeitsoperation als Parameter der zu berechnenden Funktion und die in Experimenten mit menschlichen Probanden ermittelten Ergebnisse als Trainingsmenge an, sollte sich ein solches neuronales Netz konstruieren lassen. Dieses wäre in der Lage, die bestmöglichen Parameterwerte zu erlernen. Die erlernten Werte sollten dann in die Konfiguration von CoSMIc übertragen werden (vgl. Abschnitt 8.3) und in der 7 Diese 70 ist in Abbildung 5.10 dargestellt. Auswertung und Ausblicke praktischen Anwendung zum Einsatz kommen. Damit sollte sich die Qualität der Ähnlichkeitsoperation für Motive gegenüber der Verwendung nahezu willkürlich gewählter Werte für die Gewichtungskonfiguration erheblich verbessern lassen. 9.3.4 Indexierung von Tondokumenten Das Leadsheet-Modell wurde unter dem Anspruch entworfen, die semantische Indexierung von Musik bzw. von Tondokumenten zu ermöglichen ([Seifert2004]). Dies setzt die Existenz einer Funktion voraus, die Tondokumente inhaltlich miteinander vergleicht und ihre Ähnlichkeit bewertet. Eine solche Funktion ist mit dem semantikorientierten Distanzmaß in dieser Diplomarbeit geschaffen worden. Sie hat sich in entsprechenden Experimenten als geeignet erwiesen, Musikstücke nach ihrer Zugehörigkeit zu demselben Originalstück zu gruppieren (clustern). Index Anfrage Cluster 1 Cluster 2 Datenbestand (Tondokumente) Abbildung 9.8: Indexierung über Tondokumenten Abbildung 9.8 versucht, die Indexierung von Tondokumenten mittels Clusterung zu verdeutlichen. Wird eine Anfrage nach Dokumenten mit einem bestimmen Inhalt (z. B. Varianten des Volksliedes „Hänschen klein“) gestellt, so müssen im ersten Schritt die Cluster ermittelt werden, in denen sich die für die Anfrage relevanten Dokumente befinden. Erst im nächsten Schritt wird dann direkt auf den Datenbestand zugegriffen, um die Dokumente als Ergebnisse zu liefern oder sie weiteren Prüfungen zu unterziehen. Das semantikorientierte Distanzmaß gibt ein Tupel von vier Attributen zurück, die die Ergebnisse des Vergleichs auf den vier Ebenen: Zeitliche Ebene, Strukturelle Ebene, Semantische Ebene und Motivebene darstellen. Es ist möglich, diese Werte als Tupel in einem Index zu verwalten, aber auch, für jedes der Attribute einen oder mehrere eigene Indexe 8 anzulegen. Durch die explizite Unterscheidung der Vergleichsebenen kann eine größere Anzahl von Anfragearten direkt mit Hilfe des Index’ bearbeitet werden, als wenn der Distanzwert aus einem 8 In der Datenbankwelt hat sich der Mehrzahlbegriff Indexe anstatt Indize durchgesetzt. 71 Auswertung und Ausblicke einzigen Zahlenwert bestehen würde. Mögliche Auswahlkriterien sind: • Dokumente, die zu x% aus dem Stück S bestehen • Dokumente, die das Stück S enthalten • Dokumente, die Motive/Themen des Stückes S enthalten • Dokumente, die Motive/Themen des Stückes S variiert enthalten • Dokumente, die den Refrain9 des Stückes S enthalten • Dokumente, die aus Teilen der Stücke S 1 und S2 bestehen, u. v. a. Damit zeigt sich das in dieser Arbeit entwickelte Distanzmaß als geeignete Operation, um eine inhaltliche Indexierung von Musikdokumenten durchzuführen. Aufgabe weiterer Projekte auf diesem Gebiet bleibt es, passende Indexstrukturen für diesen Prozess zu finden und auf Basis der bereits implementierten Ähnlichkeits- und Distanzmaßberechnung zu entwickeln. Dabei können sicherlich entsprechende Arbeiten auf dem Gebiet der Indexierung anderer großer und unstruktierter Medien (z. B. Bilder oder Videos) als Grundlage verwendet werden. 9.4 Zusammenfassung Aufgabe dieser Diplomarbeit war die Entwicklung einer Vergleichsoperation zur Identifikation und Zuordnung unterschiedlicher Instanzen desselben Musikstücks unter Zuhilfenahme eines geeigneten Abstandsmaßes für musikalische Linien. Diesen beiden Anforderungen wurde mit der Entwicklung einer Ähnlichkeitsoperation zum Vergleich von Motiven und Tonfolgen und des semantikorientierten Distanzmaßes zur Bestimmung der inhaltlichen und strukturellen Ähnlichkeit von Tondokumenten entsprochen. Beide Konzepte wurden durch die Implementierung in einer prototypischen Applikation: CoSMIc umgesetzt und mit Hilfe von Experimenten praktisch gestestet. Diese Experimente haben gezeigt, dass die Ansätze prinzipiell geeignet sind, charakteristische Motive auch dann wiederzuerkennen, wenn sie nicht exakt in den zu bearbeitenden Tondokumenten vorkommen, und Instanzen, denen dasselbe Originalwerk zu Grunde liegt, zu gruppieren. Auch wenn die Qualität der Konzepte sowie der Implementierung noch durch eine größere Menge von Tests mit mehr Leadsheet- und Tondokumentdaten bestimmt werden muss, ist die Aufgabe als grundsätzlich gelöst zu betrachten. Im letzten Kapitel dieser Arbeit wurden schließlich einige Ideen zur Verbesserung der bisher existierenden Ansätze und der Implementierung vorgestellt. Außerdem wurde eine mögliche Anwendung der Ergebnisse dieser Arbeit in einem Multimedia-Retrieval-System für Musikdokumente aufgezeigt und einige damit beantwortbare Anfragen aufgezählt. Die Ideen aus diesem Kapitel umzusetzen bleibt Aufgabe zukünftiger Projekte im Bereich „Musikalische Datenbanken“. 9 die 72 Strophe, das Vorspiel, . . . A Intervallübersicht Tonschritte 1 2 2 3 3 4 4/5 5 6 6 7 7 8 9 9 10 10 11 12 13 Halbtöne 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 Intervallname (reine) Prime kleine Sekunde große Sekunde kleine Terz große Terz (reine) Quarte Tritonus (reine) Quinte kleine Sexte große Sexte kleine Septime große Septime (reine) Oktave kleine None große None kleine Dezime große Dezime (reine) Undezime Tritonus + Oktave (reine) Duodezime Beispiel cc c cis cd c es ce cf c fis cg c as ca cb ch c c’ c cis’ c d’ c es’ c e’ c f’ c fis’ c g’ Tabelle A.1: Wichtige Intervalle 73 B Das MIDI-Datenformat Alle Informationen aus diesem Kapitel beziehen sich auf die aktuell gültige Version 1.0 des MIDI-Standards. Eine MIDI-Datei besteht aus einer Folge von Datenblöcken, so genannten Chunks. Es gibt zwei Arten von Chunks: 1. Header Chunk (MThd): enthält Kopfdaten und globale Einstellungen und 2. Track Chunk (MTrk): enthält Steuerungsdaten. Header Track 0 Track 1 ... Abbildung B.1: Aufbau einer MIDI-Datei Eine gültige MIDI-Datei besteht aus einem Header Chunk und einem oder mehreren Track Chunks. Jeder Block beginnt mit acht Byte, die den Chunktyp (MThd oder MTrk) in den ersten vier Byte und die Länge des Chunks in den Bytes vier bis sieben angeben. Es ist dringend zu beachten, dass im MIDI-Format alle mehrbyte-wertigen Angaben im Big Endian 1 -Format spezifiziert werden. B.1 Header Chunk (MThd) Wie bereits erwähnt, enthält der Header Chunk einige Kopfdaten und Einstellungen, die für die gesamte MIDI-Datei gültig sind. Gegenwärtig besteht der Kopfdaten-Block immer aus genau sechs Byte, es ist aber prinzipiell möglich, dass die Länge dieses Chunks in zukünftigen Versionen des MIDI-Standards sechs Byte übersteigt. Die ersten beiden Byte des Headers geben den Typ des MIDI-Datenstroms an. Dieser kann einen der Werte aus Tabelle B.1 annehmen. Die meisten MIDI-Dateien sind vom Typ eins. Die nächsten beiden Byte geben die Anzahl der Tracks an – bei Dateien vom Typ 0 kann hier nur der Wert 1 stehen. In den letzten beiden Bytes des Headers wird die Zeiteinteilung spezifiziert. Dabei wird das erste Bit benutzt, um anzugeben, ob ein metrisches (Wert 0) oder eine Zeitcode-Format (Wert 1) verwendet wird. Bei Verwendung des metrischen Formats geben die nächsten 15 Bit die Anzahl der „Impulse pro Viertelnote“, Pulses per quarter note 1 Most 74 Significant Bit (MSB) an erster Stelle Das MIDI-Datenformat Wert 0 Bedeutung Die Datei enthält genau einen Track Chunk. 1 Die Datei enthält mindestens zwei Track Chunks, die gleichzeitig abgespielt werden. Der erste Track sollte dabei nur Meta-Events enthalten, die sich auf das Tempo beziehen, er wird deshalb als Tempo Track bezeichnet. 2 Die Datei enthält mehrere Track Chunks, die unabhängig voneinander wiedergegeben werden. Tabelle B.1: Mögliche Werte für MIDI-Typ (PPQ[N]), an. Wird ein Zeitcode-Format benutzt, so geben die folgenden sieben Bit die Anzahl der Frames pro Sekunde im Zweierkomplement an. Danach folgen weitere acht Bit für die Anzahl der Frameunterteilungen (Sub-Frames). Ein kompletter MIDI-Header besteht also in der aktuellen Version aus 14 Byte (acht Byte für den Identifikator und die Chunklänge und sechs Byte Daten), siehe Abbildung B.2. Identifikator Länge Format Tracks Zeit Abbildung B.2: Aufbau eines MIDI-Headers B.2 Track Chunk (MTrk) Jeder Track Chunk enthält eine zeitlich geordnete Folge von MIDI- oder sequenzerspezifischen Ereignissen (Events). Alle Events beginnen mit einem Zeitdifferenz-Wert, der die seit dem letzten Ereignis vergangene Zeit in der im Header bestimmten Einheit angibt. Dazu werden ein bis vier Byte benötigt. Im Anschluss folgen zwei oder mehr Byte (ein Statusbyte und mindestens ein Parameterbyte) zur Angabe, um welche Art von Ereignis es sich handelt. Wie im letzten Absatz bemerkt wurde, verwendet MIDI im Track Chunk ein spezielles Format zur Spezifikation von Zahlen: Angaben mit variabler Länge (variable length quantity). Dieses System garantiert, dass nur so viele Bytes wie nötig benutzt werden. Dazu werden die höchsten sieben Bits eines Bytes als Datenbits gebraucht. Das letzte Bit ist genau dann gesetzt, wenn ein weiteres Byte benötigt wird. Diese Vorgehensweise ist bei der Angabe der Zeitdifferenz besonders effektiv, da hierfür meist ein Byte ausreicht. Die MIDI-Ereignisse werden in drei Arten aufgeteilt: 1. MIDI Events (0x8n – 0xEn), sie umfassen alle Ereignisse, die sich auf genau einen Kanal n beziehen, 75 Das MIDI-Datenformat 2. System Exclusive Events (0xF0 – 9xF7), auch SysEx Events genannt, sind spezielle Kontrollinformationen zur Steuerung MIDI-fähiger Hard- und Software, und 3. Meta Events (0xFF), darunter werden globale Informationen, z. B. Tonart, Taktart, Tempo, etc., verstanden. MIDI Events sind zwei oder drei Bytes lang und regeln musikalische Eigenschaften, die sich auf einen Kanal beziehen. Tabelle B.2 zeigt alle MIDI Events (geordnet nach dem entsprechenden Wert des Statusbytes), ihre Parameter und eine kurze Erläuterung ihrer Bedeutung. Beispiele für gültige Controller sind Lautstärke (7), Balance (8), etc. Event Note Off Note Aftertouch Parameter Tonhöhe, Loslass-Geschwindigkeit Tonhöhe, Anschlag-Geschwindigkeit Tonhöhe, Druck Controller Controller, Wert Program Change Instrument Ändert das zu verwendende Instrument Channel Aftertouch Druck Pitch Bend Wert (14 Bit) Verändert den Tastendruck für alle Noten Tonmodulation Note On Bemerkung Stoppt die gewählte Note Spielt die gewählte Note Verändert den Tastendruck für eine gewählte Note Verändert den Wert eines Controllers Tabelle B.2: MIDI Events und ihre Parameter System Exclusive Befehle und ihre Wirkung sind abhängig vom Gerätehersteller. Deshalb enthalten sie einen Identifikator, der den Fabrikanten der Instrumente oder Klangerzeuger angibt, auf die sich das Kommando bezieht. SysEx Events können als einzelne Ereignisse, als Folge von Ereignissen oder als Escape-Sequence gesendet werden. Neben dem Zeitdifferenz-Wert und dem Statusbyte, die mit allen Ereignissen gespeichert werden, gehören zu einem Meta Event noch ein Byte, das die Menge der Argumente angibt und je ein weiteres Byte pro Parameter. Wie bereits erwähnt, steuern Meta Events globale Informationen. Sie werden unter anderem dazu verwendet, zusätzliche Textinformationen in einer MIDI-Datei abzulegen. Tabelle B.3 zeigt die wichtigsten, im MIDI-Standard definierten Meta Events. Dieses Kapitel sollte lediglich einen Einblick in die technischen Grundlagen des MIDI-Formats geben. Weitere, ausführlichere Informationen zum MIDI-Standard sind u. a. in [Philipp1984] zu finden. 76 Das MIDI-Datenformat Event Text (01) Parameter Länge, Text Bemerkung Kommentare und weitere Informationen Copyright (02) Länge, Text Bemerkungen zum Urheberrecht Track Name (03) Länge, Text Name der Spur Instrument Name (04) Lyrics (05) Länge, Text Länge, Text Tempo (51) Tempo (3 Byte) Instrumentenname Text (meist ein Event pro Silbe) Tempoangabe (ms pro Zählzeit) Time Signature (58) Zähler, Nenner, Metronom, 32-tel Key Signature (59) Anzahl Dur/Moll Vorzeichen, Taktart festlegen, mit dem letzten Parameter kann 1 die Anzahl der 32 -Noten pro Viertelnote angepasst werden Tonart festlegen Tabelle B.3: Wichtige Meta Events und ihre Parameter 77 C Harmonieformen Nummer 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Intervallfolge 0 2-1-4 2-1-4-3 2-2-3 2-2-3-2 2-2-3-3 3 3-3 3-3-3 3-4 3-4-2 3-4-3 3-4-4 4 4-3 4-3-2 4-3-3 4-3-4 4-4 5-2 7 Name (Grundton C) C solo c-Moll 9 c-Moll 79 C-Dur 9 C-Dur 69 C-Dur 79 c-Moll -5 C0 C07 c-Moll c-Moll 6 c-Moll 7 c-Moll maj7 C-Dur -5 C-Dur C-Dur 6 C-Dur 7 C-Dur maj7 C+ C4 C-Dur -3 Tabelle C.1: Gültige Harmonieformen 78 Priorität 20 6 2 7 5 3 10 14 1 18 4 16 8 12 19 0 17 9 13 15 11 Abbildung D.1: Relationenhierarchie Thema Kombination v. Bausteinen aus einem Werk Kombination v. Bausteinen aus versch. Werken Musikalische Einheit Melodie Zwischenspiel (Fill In) Arrangement Medley Musikalische Form Strophe Nachspiel (Outro) Refrain Vollständige musikalische Einheit (Werk) Kombination vollst. musikal. Enititäten Sinfonie Konzert Satz Lied Bridge Solo Vorspiel (Intro) D Hierarchie möglicher Relationen Motiv 79 E Datenformat zur Spezifikation des Leadsheet-Graphen Im Kapitel 4 wurde das Leadsheet-Modell zur Repräsentation von Musik vorgestellt. Weiterhin wurde eine Erweiterung diskutiert, die die semantische Ausdrucksstärke des Modells durch die Darstellung in attributierten Graphen um zwei Aspekte erweitert, die für die vorliegende Arbeit wichtig sind. Im diesem Kapitel wird ein Datenformat definiert, mit dem es möglich ist, einen LeadsheetGraphen zu spezifizieren. Dieses Format muss als Eingangsdatenformat für die LeadsheetDaten an die im Rahmen dieser Arbeit implementierte Anwendung CoSMIc (vgl. Kapitel 8) verwendet werden. Da es sich bei diesem Programm – wie bereits erwähnt – um einen Prototypen handelt, der nur dem Zweck dient, die in dieser Arbeit vorgestellten Ideen und Konzepte umzusetzen und zu testen, wurde beim Entwurf mehr Wert auf Einfachheit als auf Effizienz gelegt. Die Spezifikation des Leadsheet-Graphen erfolgt in zwei Dateien, die sich im selben Verzeichnis befinden müssen: • nodes.dat, diese Datei enthält alle Graphknoten und • edges.dat, die alle Besteht-aus-Kanten des Graphen beinhaltet. In der ersten, nicht-auskommentierten 1 Zeile der Datei nodes.dat muss angegeben werden, wieviele Knoten nachfolgend beschrieben werden. Danach werden die Knoten einzeln definiert. Jeder Datensatz beginnt mit einem eindeutigen Identifikator aus dem Bereich der natürlichen Zahlen. Auf der jeweils nächsten Zeile wird festgelegt, um welche Art von Knoten es sich handelt. Dabei kann einer der Werte LS bzw. CM Verwendung finden. Bei einem LS-Knoten sind wieder zwei verschiedene Typen zu unterscheiden: Handelt es sich um einen Toplevel-Knoten, der ein ganzes Musikstück oder Lied repräsentiert, wird in der nächsten Zeile der Titel des Werkes und der Autor im Format Titel::Autor angegeben. Bei allen anderen LS-Knoten steht an dieser Stelle eine Leerzeile. Wird ein CM-Knoten definiert, so sind zuerst das Tempo (in BPM 2 ) und die Anzahl der Noten im Motiv anzugeben. Diese beiden Angaben werden ebenfalls durch „::“ getrennt: Tempo::Anzahl der Noten 1 Kommentarzeilen 2 Beats 80 können in beiden Dateien eingefügt werden, diese müssen mit einem # beginnen. per Minute, Taktschläge pro Minute Datenformat zur Spezifikation des Leadsheet-Graphen Jedes Motiv muss aus mindestens einer Note bestehen. Pro Ton werden dann die folgenden Daten jeweils auf einer Zeile angegeben: • Tondifferenz, die Tonhöhendifferenz (in Halbtönen) zum vorhergehenden Ton • Lautstärke, diese kann zur Bestimmung des Takmaßes verwendet werden • Notenlänge, als Gleitkommazahl • Notenlängendifferenz, die Differenz 3 (in Taktschlägen) zum vorhergehenden Ton, ebenfalls als Gleitkommazahl • Harmonie, der Grundton der verwendeten Harmonie als Differenzwert (≤ 11) zum aktuellen Ton • Harmonieform, die in der Harmonisierung verwendete Akkordform Die für die Harmonieform gültigen Werte sind im Anhang C aufgelistet. Das Format dieser Angaben ist analog zu dem der bisher genannten Daten: Tondifferenz::Laustärke::Notenlänge::Notenlängendifferenz::Harmonie::Harmonieform Im File edges.dat werden alle Besteht-aus-Kanten 4 des Leadsheet-Graphen in einer Adjazenzlisten-ähnlichen Form definiert. In der ersten Zeile muss – analog zur Datei nodes.dat – die Anzahl der Datensätze (Kanten) spezifiziert werden. Danach folgt die Definition der Kanten, jeweils eine Kante auf einer Zeile. Diese haben das Format: ID1 ::ID2 ::Relation Dabei ist ID1 der Identifikator des Start- und ID2 der Identifikator des Zielknotens der Kante. Es sind die beiden Kombinationen LS-Knoten → LS-Knoten und LS-Knoten → CM-Knoten möglich. Relation gibt die Beziehung zwischen den Elementen an. Welche Werte dafür erlaubt sind, ist im vorhergehenden Abschnitt beschrieben. Die Ordnung der Kanten und damit die Reihenfolge der Kindelemente eines LS-Knotens wird durch die Reihenfolge der Kantenbeschreibungen in der Datei edges.dat bestimmt. In den folgenden Abschnitten ist eine Beispieldefinition für einen Leadsheet-Graphen, der die Volkslieder „Hänschen klein“ und „Alle meine Entchen“ enthält, angegeben. Diese wurde mit vielen Kommentaren versehen und soll als Referenz für die Definition weiterer LeadsheetStrukturen dienen. E.1 Beispieldefinition: nodes.dat # ------------------------------# - CoSMIc # - example database 3 Diese 4 Die ist im Regelfall gleich der Notenlänge des vorhergehenden Tones. Gehört-zu-Kanten werden automatisch bestimmt. 81 Datenformat zur Spezifikation des Leadsheet-Graphen # - # - this file contains all Leadsheet Graph # - nodes # - mren, 2005-03-29 # ------------------------------# # Number of nodes 14 # Toplevel node „Alle meine Entchen“ and 4 CharMotives 1 LS Alle meine Entchen::Volkstuemlich # Alle meine Entchen ... 2 CM 120::6 0::127::0.25::0::0::14 2::116::0.25::0.25::10::14 2::120::0.25::0.25::8::14 1::116::0.25::0.25::7::14 2::127::0.5::0.25::0::14 0::120::0.5::0.5::0::14 # ... schwimmen auf dem See ... 3 CM 120::5 0::127::0.25::0::8::14 0::116::0.25::0.25::8::14 0::120::0.25::0.25::8::14 0::116::0.25::0.25::8::14 -2::127::1::0.25::5::14 # ... Koepfchen in das Wasser ... 4 CM 120::6 0::127::0.25::0::2::16 0::116::0.25::0.25::2::16 0::120::0.25::0.25::2::16 0::116::0.25::0.25::2::16 -1::127::0.5::0.25::8::14 0::120::0.5::0.5::8::14 # ... Schwaenzchen in die Hoeh’. 5 CM 82 Datenformat zur Spezifikation des Leadsheet-Graphen 120::5 0::127::0.25::0::0::16 0::116::0.25::0.25::0::16 0::120::0.25::0.25::0::16 0::116::0.25::0.25::0::16 -7::127::1::0.25::0::14 # Toplevel node „Haenschen klein“ 3 (different) leadsheets # and 5 CharMotives 6 LS Haenschen klein::Volkstuemlich # CM 1 & 2 (First and last sub-leadsheet) 7 LS # CM 1 & 3 8 LS # CM 4 & 5 9 LS # Haenschen klein ging allein ... # and ... Stock und Hut steht ihm gut ... # and ... „Wuensch’ dir Glueck“, sagt ihr Blick, ... 10 CM 140::6 0::127::0.25::0::5::14 -3::116::0.25::0.25::8::14 0::120::0.5::0.25::8::14 1::127::0.25::0.5::2::16 -3::116::0.25::0.25::5::16 0::120::0.5::0.25::5::16 # ... in die weite Welt hinein ... 11 CM 140::7 0::127::0.25::0::0::14 2::116::0.25::0.25::10:14 2::120::0.25::0.25::5::9 1::116::0.25::0.25::4:9 2::127::0.25::0.25::0::14 83 Datenformat zur Spezifikation des Leadsheet-Graphen 0::116::0.25::0.25::0::14 0::120::0.5::0.25::0:14 # ... ist gar wohl gemuht. ... # and ... „kehr recht bald zurueck!“ 12 CM 140::5 0::127::0.25::0::5::14 4::116::0.25::0.25::1:14 3::120::0.25::0.25::0::16 0::116::0.25::0.25::0:16 -7::127::1.0::0.25::0::14 # ... Aber Mama weinet sehr, ... 13 CM 140::7 0::127::0.25::0.25::5::14 0::116::0.25::0.25::5::14 0::120::0.25::0.25::5::14 0::116::0.25::0.25::5::14 0::127::0.25::0.25::5::14 2::116::0.25::0.25::3::14 1::120::0.5::0.25::2::16 # ... hat ja nun kein Haenschen mehr. ... 14 CM 140::7 0::127::0.25::0.25::8::14 0::116::0.25::0.25::8::14 0::120::0.25::0.25::8::14 0::116::0.25::0.25::8::14 0::127::0.25::0.25::8::14 1::116::0.25::0.25::7::14 2::120::0.5::0.25::5::14 84 Datenformat zur Spezifikation des Leadsheet-Graphen E.2 Beispieldefinition: edges.dat # ------------------------------# - CoSMIc # - example database # - # - this file contains all Leadsheet Graph # - edges # - mren, 2005-03-29 # ------------------------------# # Number of edges 15 # „Alle meine Entchen“ one toplevel node and # 4 CharMotives 1::2::1 1::3::1 1::3::1 1::4::1 1::5::1 # „Haenschen klein“, one toplevel node and 3 # more leadsheets 6::7::3 6::8::3 6::9::3 6::8::3 # 1st leadsheet 7::10::1 7::11::1 # 2nd leadsheet 8::10::1 8::12::1 # 3rd leadsheet 9::13::1 9::14::1 85 F Konfigurationsparameter für CoSMIc Alle hier gelisteten Parameter können in der Datei MyConfiguration.cpp angepasst werden. Das Programm muss danach neu übersetzt werden. Parameter Typ Beschreibung Standardwert DEFAULT_TEMPO int 120 DETECT_HARMONY_FACTOR float DRUM_CHANNEL EQUALITY_MIN int float FACTOR_LENGTH_MELODY float FACTOR_MM_NRO_TONES int FACTOR_NOT_MAIN_MELODY float FACTOR_VELOCITY_MELODY float INTERACTIVE_MODE INTERVAL_FRAME LEADSHEET_DIR boolean int string LENGTH_TOLERANCE_MAX float LENGTH_TOLERANCE_MIN float MINIMUM_LENGTH_FACTOR float MINIMUM_TIME_VALUE OVERLAP_PERCENTAGE int float SHOW_MOTIVES SIZE_BIG_LEADSHEETS boolean int TIME_FRAME TIME_FRAME_MOTIVES float float TIME_FRAME_SAME_TONE int W_HARMONISATION float W_MELODY float W_RHYTHM float W_TEMPO float Angenommenes Tempo (wenn keine explizite Angabe) Zeitrahmenfaktor für Harmoniebestimmung MIDI-Kanal für Schlagzeug/Percussion Minimaler Ähnlichkeitswert zur Wiedererkennung Zeitrahmenfaktor für Melodiebestimmung Faktor für Haupt-/NebenstimmenHeuristik Faktor für Ähnlichkeit bei Nebenstimme Lautstärkefaktor für Bestimmung der Hauptstimme Standard: Interaktiver Modus? Intervallrahmen für Motivsuche Standard: Verzeichnis mit LeadsheetDaten Toleranzfaktor (Maximum) bei Längenprüfung Toleranzfaktor (Minimum) bei Längenprüfung Faktor für Relevanz bei Harmoniebestimmung Quantisierungsquotient Maximaler Überlappungsfaktor bei Motiven (in %) Standard: Gefundene Motive anzeigen Quotient für Änderungsfaktor (Struktur) Zeitfenster für Motivsuche (in ms) Zeitfenster für zwei Motive bei Templatefindung (in ms) Minimaler Abstand nichtgleichzeitig klingender Töne (in ms) Gewichtung der Harmonisierung bei Ähnlichkeit Gewichtung der Melodie bei Ähnlichkeit Gewichtung des Rhythmus’ bei Ähnlichkeit Gewichtung des Tempos bei Ähnlichkeit Tabelle F.1: Konfigurationsparameter für CoSMIc 86 0.75 10 0.75 0.5 3 0.8 2.0 false 8 leadsheets 1.35 0.65 0.5 16 33.3 false 3 4000.0 4000.0 35 0.1 0.55 0.25 0.1 G Tondokumente für Experimente Alle meine Entchen, exakt 4 4 Abbildung G.1: „Alle meine Entchen“, exakt Alle meine Entchen, Motivvariationen 4 4 Abbildung G.2: „Alle meine Entchen“ mit Motivvariationen 87 Tondokumente für Experimente Alle meine Entchen, Strukturänderungen 4 4 Abbildung G.3: „Alle meine Entchen“ mit Strukturänderungen Hänschen klein, exakt = 140 4 4 Abbildung G.4: „Hänschen klein“, exakt 88 Tondokumente für Experimente Hänschen klein, Motivvariationen = 140 4 4 Abbildung G.5: „Hänschen klein“ mit Motivvariationen Hänschen klein, Strukturänderungen = 140 4 4 Abbildung G.6: „Hänschen klein“ mit Strukturänderungen 89 Tondokumente für Experimente Medley: Alle meine Entchen, Hänschen klein = 130 4 4 Abbildung G.7: Medley aus „Alle meine Entchen“ und „Hänschen klein“ 90 H Abkürzungsverzeichnis AIFF Audio Interchange File Format BPM Beats per Minute BSD Berkeley Software Distribution CD Compact Disc CM Charakteristisches Motiv D Dominante DTD Document Type Definition FLAC Free Lossless Audio Codec GCC GNU Compiler Collection HTML Hypertext Markup Language IMA International MIDI Association KNN Künstliches Neuronales Netz LS Leadsheet MIDI Musical Instrument Digital Interface MMR Multimedia Retrieval MPEG Motion Picture Expert Group MSB Most Significant Bit PC Personal Computer PDF Portable Document Format PPQ[N] Pulses per Quarter Note QBH Query-by-Humming, Anfrage durch Summen RIFF Resource Interchange File Format S Subdominante SysEx System Exclusive T Tonika XML Extended Markup Language XML Extensible Markup Language XPM X Pixelmap 91 Abkürzungsverzeichnis 92 Literaturverzeichnis [Apel62] Apel, W.: Die Notation der polyphonen Musik, 1. Auflage. VEB Breitkopf & Härtel (Leipzig), 1962 [Bunke/Shearer1989] Bunke, H., Shearer, K.: A graph distance metric based on the maximal common subgraph. Pattern Recognition Letters, 255259, 1989 [Dowling/Harwood1986] Dowling, W. J., Harwood, Dane L.: Music Cognition. Academic Press (New York), 1986 [Eppelt2002] Eppelt, R.: Analyse von Audiosignalen nach musikalischen Kriterien, Diplomarbeit, Universität Ulm. 2002 [Eshera/Fu1986] Eshera, M. A., Fu, K. S.: An image understanding system using attributed symbolic representation and inexact graph-matching. Journal of ACM, 604-618, 1986 [FLAC] WWW: FLAC – Free Lossless Audio Codec, Abruf am 21.04.2005 URL: http://flac.sourceforge.net [Good2001] Good, M.: MusicXML: An Internet-Friendly Format for Sheet Music, XML Conference & Exposition 2001. Orlando, Florida, 2001 [Hempel2002] Hempel, O.: Parallele wissensbasierte Bilderkennung. LogosVerlag (Berlin), 2002 [Hirschberg1975] Hirschberg, D. S.: A linear space algorithm for computing longest common subsequences, Communications of the ACM, 18. 1975 [Klapuri2004] Klapuri, A.: Signal Processing Methods for the Automatic Transcription of Music, Doctoral Thesis, Tampere University of Technology (Tampere, Finnland), 2004 [Koehn05] WWW: Einführung in die funktionale Harmonielehre, Abruf am 21.04.2005 URL: http://www.matthies-koehn.de/harmonielehre [Krumhansl1990] Krumhansl, C. L.: Cognitive foundations of musical pitch. Oxford University Press (New York), 1990 93 Literaturverzeichnis [KTSK2000] Klein, P., Tirthapura, S., Sharvit, D., Kimia, B.: A Tree-EditDistance Algorithm for Comparing Simple, Closed Shapes. Symposium on Discrete Algorithms, 2000 [Motte-Haber1996] de la Motte-Haber, H.: Handbuch der Musikpsychologie, 2. Auflage. Laaber-Verlag (Laaber), 1996 [MusicXML] WWW: MusicXML DTD Index, Abruf am 26.04.2005 URL: http://www.recordare.com/dtds [Philipp1984] Phillip, S.: Midi-Kopendium, 1. Auflage. Kapehl und Phillip, 1984 [R.-Kelly/Hancock2005] Robles-Kelly, A., Hancock, E. R.: Graph Edit Distance from Spectral Seriation. IEEE Transactions on Pattern Analysis and Machine Intelligence Vol. 27, No. 3, 2005 [Rojas1996] Rojas: Theorie der neuronalen Netze: eine systematische Einführung, 4. Auflage. Springer-Lehrbuch Verlag (Berlin), 1996 [Shapiro/Haralick1985] Shapiro, L. G., Haralick, R. M.: A metric for comparing relational descriptions. IEEE Trans PAMI, 90-94, 1985 [Seifert2004] Seifert, F.: Musikalische Datenbanken, Grundlagen semantischer Indexierung von Tondokumenten, Dissertation, TU Chemnitz. Shaker Verlag (Aachen), 2004 [Selkow1977] Selkow, S. M.: The tree-to-tree editing problem. Information Processing Letters, 6:184 – 186, 1977 [Stigge2004] Stigge, R.: Programm zur Extraktion musikalischer Informationen aus akustischen Signalen, Diplomarbeit. HumboldtUniversität zu Berlin, 2004 [Stockhausen60] Stockhausen, K.: Musik und Graphik In: Darmstädter Beiträge zur neuen Musik III. Schott Verlag (Mainz), 1960 [Uitdenbogerd/Zobel1998] Uitdenbogerd, A. L., Zobel, J.: Manipulation of music for melody matching, Proc. ACM International Conference on Multimedia. 1998 [Vinci88] Vinci, A. C.: Die Notenschrift. Grundlagen der traditionellen Musiknotation, 1. Auflage. Bärenreiter (Kassel), 1988 [Vorbis] WWW: Vorbis.com – Open, Free Audio, Abruf am 21.04.2005 URL: http://www.vorbis.com [Watkinson2001] Watkinson, J.: The Art of Digital Audio, 3. Auflage. Focal Press (Oxford), 2001 94 Literaturverzeichnis [Wegener1999] Wegener, I.: Theoretische Informatik – eine algorithmenorientierte Einführung, 2. Auflage. B. G. Teubner (Stuttgart), 1999 [Wikipedia1] WWW: Wikipedia – Notation (Musik), Abruf am 17.04.2005 URL: http://de.wikipedia.org/wiki/Notation_(Musik) [Wikipedia2] WWW: Wikipedia – Künstliches neuronales Netz, Abruf am 21.09.2005 URL: http://de.wikipedia.org/wiki/Künstliches_neuronales_Netz [Zhang/Wang/Shasha1995] Zhang, K., Wang, J. T. L., Shasha, D. On the editing distance between undirected acyclic graphs. Proc. of the 6th Annual Symposium on Combinatorial Pattern Matching, 1995 95