Fakultät für Informatik Entwicklung und Implementierung von

Werbung
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
Herunterladen