Beruflich Dokumente
Kultur Dokumente
automatischen Harmonisierung
Bachelorarbeit im Fach Informatik
vorgelegt von
Noam Yogev
angefertigt am
Noam Yogev
Mein Dank gilt Alexander Lerch für die Zielsetzung, das Herausfordern, die
Hilfe, und die Kritik , meinen Musiklehrern über drei Jahrzehnte, Michal
Levitin für viele n's und m's, Meriel, und meiner Familie für das Studium
überhaupt.
2 Grundlagen 5
2.1 Musik und Harmonie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.1.1 Intervalle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.1.2 Tonleitern und Tonarten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.1.3 Akkorde . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.1.4 Tonalität und harmonische Funktionen . . . . . . . . . . . . . . . . . 10
2.1.5 Harmonik, Harmonisierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.1.6 Harmonielehre, Stimmführung, Akkordfolgen . . . . . . . . . . . 11
2.2 Melodiesegmentierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.3 Dynamische Programmierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.4 Hidden Markov Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.4.1 Markov-Ketten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.4.2 Hidden Markov Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.4.3 Viterbi-Algorithmus erster Ordnung . . . . . . . . . . . . . . . . . . . . 23
2.4.4 Viterbi-Algorithmus zweiter Ordnung . . . . . . . . . . . . . . . . . . . 24
2.4.5 Weitere Problemstellungen für HMMs . . . . . . . . . . . . . . . . . . 26
i
ii INHALTSVERZEICHNIS
3.1.9 CPUBach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.1.10xChoralanalyse mit HMM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.1.11xEin alternatives stochastisches Modell . . . . . . . . . . . . . . . . . 37
3.1.12xHARMONET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
3.2 Kommerzielle Lösungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.2.1 Anvil Studio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.2.2 tonica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.2.3 vielklang v1.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
4 Algorithmus 45
4.1 Herangehensweise und Überblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
4.2 Datenrepräsentation und Schnittstelle . . . . . . . . . . . . . . . . . . . . . . . . 49
4.2.1 Datenrepräsentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
4.2.2 Schnittstelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
4.3 Detaillierte Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
4.3.1 Melodiesegmentierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
4.3.2 Funktionsbestimmung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
4.3.3 Stimmsatzerstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
4.4 Gewählte Strategien, Probleme und Lösungen . . . . . . . . . . . . . . . . 65
4.4.1 Harmonisierung in alternativen Stilrichtungen. . . . . . . . . . .65
4.4.2 Justierung des Hidden-Markov-Models . . . . . . . . . . . . . . . . . . 66
4.4.3 Auswahl und Gewichtung der Regeln . . . . . . . . . . . . . . . . . . . 67
4.4.4 Rechengenauigkeit und Rechenleistung. . . . . . . . . . . . . . . . . .68
5 Evaluierung 71
6 Schluÿwort 85
6.1 Eigenschaften des Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
6.2 Ausblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
Kapitel 1
Einleitung
Ein System zur automatischen Harmonisierung einstimmiger (monophoner)
Melodien wird vorgestellt. Harmonisierung das Hinzufügen zusätzlicher
Stimmen zu einer Melodie ist ein wichtiges Gestaltungselement im Kom-
positionsprozess. Die wahrgenommene Qualität eines Musikstücks hängt vom
Vorhandensein bestimmter strukturellen Elemente ab, wie z.B. ein ausge-
prägtes tonales Umfeld, die Beachtung tonaler Beziehungen, Repetitionen,
wahrnehmbare Unterteilungen in Phrasen und die Beachtung stildenieren-
der Merkmale. Um eine Melodie musikalisch qualitativ zu harmonisieren,
müssen solche Strukturen innerhalb einer Melodie analysiert und erkannt
werden, sodaÿ sie bei der Harmonisierung nicht vertuscht, sondern vielmehr
konstruktiv beachtet, und schlieÿlich mit den hinzugefügten neuen Stimmen
unterstrichen und ausgebaut werden.
Die Ergebnisse von Systemen zur automatischen Harmonisierung werden ent-
sprechend mit musikalischen Maÿstäben gemessen. Das Vorhandensein von
Information bezüglich struktureller Aspekte der Melodie und Eigenschaften
der Stilrichtung, bzw. die Fähigkeit diese Information intelligent aus einer
Eingabemelodie zu extrahieren, sind daher entscheidend für die Qualität au-
tomatisch erstellter Harmonisierungen.
Das hier vorgestellte System harmonisiert eine einstimmige Eingabemelodie,
und liefert einen vierstimmigen, homophonen1 Satz. Das System zielt dar-
auf ab, Ergebnisse zu liefern, die sowohl musiktheoretisch korrekt als auch
stilistisch-künstlerisch anspruchsvoll sind. Um dies zu ermöglichen werden
Strukturen der Eingabemelodie, deren Kenntnis für die Qualität der Ergeb-
nisse maÿgeblich sind, mit Techniken der Mustererkennung detektiert.
Im nächstem Schritt bildet das strukturelle und inhaltliche Wissen über die
Eingangsmelodie, zusammen mit dem im System explizit wie implizit vorhan-
1 Ein Satz, bei dem alle Stimmen im gleichen Rhythmus fortschreiten
1
2 KAPITEL 1. EINLEITUNG
denen musikalischen und stilistischen Wissen die Grundlage für die Entschei-
dungen im konstruktiven Prozess der Generierung zusätzlicher Stimmen.
Das vorgestellte System wird mit einer bereits existierenden Audio-
Umgebung integriert, welche zusammen mit einem vorhandenen Harmoni-
sierungssystem in der Version 1.2 des vielklang-Plugins der Firma zpla-
ne.development eingesetzt wird. Die Aufgabenstellung dieser Arbeit ist, un-
ter Beibehaltung der zentralen Eigenschaften der Schnittstelle zur Audio-
Umgebung, ein Harmonisierungssystem zu bauen, welches sowohl für die
aktuelle musikalische Zielsetzung des vielklang-Plugins (vierstimmige Har-
monisierung nach Art der klassischen Stimmführungsregeln und mit einem
beschränkten Vorrat möglicher Akkorde) anspruchsvollere Ergebnisse als die
der vorigen Version liefert, das aber auch erweiterungsfähig ist im Bezug auf
unterschiedliche musikalische Stilrichtungen.
Der Hauptansatz für die Neugestaltung des Harmonisierungssystems besteht
darin, es mit detaillierteren strukturellen Grunderkenntnissen über die Ein-
gabemelodie zu gestatten. Die Eingabemelodie wird nach Kriterien der musi-
kalischen Wahrnehmung in Segmenten unterteilt. Im Folgendem werden diese
Segmente als jeweils abgeschlossene Einheiten im tonalen und harmonischen
Sinn betrachtet. Die Melodienoten in jedem Segment werden als Manife-
station einer latenten, harmonischen Basisstruktur betrachtet, welche dem
harmonisch-tonalen Spannungsbogen des Segments zugrunde liegt. Diese har-
monische Basisstruktur wird unter Verwendung eines stochastischen Modells
geschätzt, und dient dann als Grundlage für das Aussuchen von Akkorden
und für die Erteilung von Tönen für die zusätzlichen Stimmen, die das End-
ergebnis des Harmonisierungssystems ausmachen.
Es wird angenommen, daÿ die detektierte harmonische Basisstruktur typisch
für die Melodie, und unabhängig von erwünschten musikalischen Stilrichtung
der Harmonisierung ist. Die Harmonisierung in unterschiedlichen Stilrichtun-
gen kann somit getrennt von der Analyse der Eingangsmelodie stattnden.
Um Flexibilität bei der Wahl der erwünschten Stilrichtung der Harmonisie-
rung zu gewährleisten, werden sowohl Akkordvorräte als auch stildenieren-
den Stimmführungsregeln in getrennten Code-Modulen ausgelagert. Zudem
werden interne sowie externe Schnittstellen ausgearbeitet, welche die stilab-
hängige Justierung von Regeln und Gewichten, die Erweiterung von Akkord-
vorräten oder Regelsätzen und den vollständigen Austausch stildenierender
Modulen ermöglichen.
Die Audio-Umgebung, in die das Harmonisierungssystem eingebettet wird,
realisiert die Interaktion mit dem Anwender über Audio Ein- und Ausga-
be2 . Sie unterteilt die Eingangsmelodie in diskrete Töne, und extrahiert aus
2 Abgesehen vom graphischen Interface
3
dieser Information ihre Tonart. Aufgrund der gefundenen Tonart und der
detektierten Kammertonfrequenz werden die einzelnen Töne auf diskrete,
chromatische Tonhöhen quantisiert. An das Harmonisierungssystem werden
die quantisierten Melodietöne in ihrer MIDI3 -Darstellung als ganze Zahlen
(siehe [3] und [26]) weitergeleitet. Start- und Endzeiten (Onset bzw. Oset-
Zeiten) der einzelnen Noten werden als relative Zeitangaben gehandhabt.
Die Tonartinformation wird dem Harmonisierungssystem unter Verwendung
eines internen Formats weitergeleitet.
Die Ergebnisse des Harmonisierungssystems die zusätzlich hinzugefügten
Stimmen werden ebenso als Tonhöhen in MIDI-Darstellung zurück an
die Audio-Umgebung geliefert. Diese generiert eine Audio-Ausgabe, beste-
hend aus der Originalstimme zusammen mit den aufgrund der Ergebnisse
des Harmonisierungssystems und mittels Synthese aus der Eingabemelodie
gewonnenen zusätzliche Stimmen. Die Ausgabe kann angehört, editiert und
als Audio-Datei gespeichert werden.
2.1.1 Intervalle
Sowohl Klänge als auch Geräusche spielen bei der Komposition und bei der
Wahrnehmung von Musik eine wichtige Rolle. Für unsere Diskussion sind
jedoch allein Klänge von Interesse: akustische Ereignisse die eine Grundfre-
quenz aufweisen. Die wahrgenommenen Grundfrequenz des Klangs wird als
seine Tonhöhe bezeichnet.
Der Unterschied zweier Klänge kann durch Angabe des Verhältnisses ihrer
Grundfrequenzen zueinander beschrieben werden. Die westeuropäische Musik
5
6 KAPITEL 2. GRUNDLAGEN
Frequenzverhältnis
Intervallname
Reine Stimmung Wohltemperierte
√ 0 Stimmung
Prime 1:1 12
√ ( 2) = 1 = 0 cent
Kleine Sekunde 16 : 15 ( 12 2)1 = 1.059 = 100 cent
(Halbton) √
Groÿe Sekunde 9:8 ( 12 2)2 = 1.122 = 200 cent
(Ganzton) √ 3
Kleine Terz 6:5 ( 12
√2)4 = 1.189 = 300 cent
Groÿe Terz 5:4 ( 12
√2)5 = 1.259 = 400 cent
Reine Quarte 4:3 12
( √2) = 1.334 = 500 cent
Tritonus 7:5 ( 12
√ 2)6 = 1.414 = 600 cent
Reine Quinte 3:2 ( 12
√ 2)7 = 1.498 = 700 cent
Kleine Sexte 8:5 ( 12 8
√2)9 = 1.587 = 800 cent
Groÿe Sexte 5:3 √
12
( 2) = 1.681 = 900 cent
Kleine Septime 7:4 ( √2)10 = 1.781 = 1000 cent
12
Tonartstufen
Tonartgattung
1-2 2-3 3-4 4-5 5-6 6-7 7-8
Dur GS GS KS GS GS GS KS
Moll GS KS GS GS KS GS GS
C Dur Tonleiter: a Moll Tonleiter:
Tabelle 2.2 Aufbau und Notenbild von Dur- und Molltonarten (Halbtöne
sind mit spitzen, Ganztöne mit runden Bögen gekennzeichnet)
Ein internationaler Standard legt den Ton mit der Frequenz von 440Hz als
Kammerton fest. Dieser Ton wird im deutschen Sprachraum mit a', im eng-
lischen mit A4 bezeichnet. Der Kammerton dient als Bezugspunkt für die
Stimmung von Musikinstrumenten3 [27].
Folgen wir der Intervallvorschrift einer Molltonart ab dem Ton a' aufwärts,
so erhalten wir eine a-moll Tonleiter. Die restlichen Tonnamen ergeben sich
durch Bezeichnung des jeweiligen aufwärtsfolgenden Tons mit dem entspre-
chend folgenden Buchstabe des lateinischen Alphabets4 . Musikabschnitte,
welche unter Verwendung dieses Tonvorrats (und unter Beachtung tonaler
Regeln, s.u.) geschrieben werden, werden als in der Tonart a-moll stehend
bezeichnet.
3 Mit willkürlichen und unwillkürlichen Abweichungen, siehe [27, S. 1]
4 Eine Ausnahme wird bei der Bezeichnung des Tons gemacht, der ein Ganztonschritt
höher ist als a: dieser wird auf Deutsch mit dem Buchstabe h gekennzeichnet. Der Buch-
stabe b ist für den Ton reserviert, welcher ein Halbtonschritt über den a liegt.
8 KAPITEL 2. GRUNDLAGEN
Nun können wir nach dem selben Schema auch anderen Tonleitern und Ton-
arten generieren. Eventuelle notwendige Verschiebungen eines Tons um eine
kleine Sekunde (oder Halbton) tiefer oder höher, um der jeweiligen Tonart-
vorschrift verfolgen zu können, werden auf Deutsch mit einem es bzw. is
Sux am Tonnamen, auf Englisch mit den Worten Flat bzw. Sharp oder im
Notentext mit den Versetzungszeichen [ bzw. ] gekennzeichnet. Zu Notierung
und Notennamen siehe auch [28, S. 67 bzw. 85].
Alle Töne, die zu einer bestimmten Tonart gehören, werden diatonisch in
dieser Tonart genannt. Der Begri [...] bezeichnet einen siebenstugen [...]
Tonvorrat, der als lückenlose Folge von sechs reinen Quintschritten in gleicher
Richtung darstellbar ist [7].
Zu Dur- und Moll- sowie anderen Tonarten und zu deren diatonischen Aufbau
siehe auch [28, S. 84-89].
2.1.3 Akkorde
Akkorde entstehen aus dem gleichzeitigem Erklingen von drei oder mehr un-
terschiedlichen Tönen. Die meisten Akkorde können, durch Umordnung ih-
rer Töne in ihrer jeweiligen Oktavlage, auf eine Reihe aufeinander folgenden
Terzen zurückgeführt werden. In diesem Zustand werden die Akkorde nach
dem tiefstliegenden Ton dem Akkordgrundton benannt, und entspre-
chend der Zusammensetzung ihrer Terzen klassiziert. Zum Beispiel erhält
der aus den Tönen C-Es-G-B gebildete Akkord den Namen C-Mollseptakkord.
In Tabelle 2.3 sind wichtige Akkordbezeichnungen zusammen mit der jeweils
denierenden Terzenzusammensetzung aufgelistet (GT = Groÿe Terz, KT
= Kleine Terz), das Notenbeispiel zeigt die selben Akkorde in Notenschrift
in enger Lage5 . Je nach Anzahl der Töne in einem Akkord wird er als ein
Dreiklang, Vierklang usw. klassiziert.
In einem tonalen Kontext können bestimmte Akkorde zusätzlich eine Be-
zeichnung tragen, die ihre tonale (s.u.) Bedeutung hervorhebt oder erläutert.
5 S.u. Abschnitt 4.3.3.1, Seite 63.
2.1. MUSIK UND HARMONIE 9
Akkordbezeichnung Terzenzusammensetzung
Dur Dreiklang GT, KT
Moll Dreiklang KT, GT
Verminderter Dreiklang KT, KT
Übermäÿiger Dreiklang GT, GT
Dur Septakkord GT, KT, GT
Dominantseptakkord GT, KT, KT
Mollseptakkord KT, GT, KT
Mollseptakkord mit gr. Septime KT, GT, GT
Halbverminderter Septakkord KT, KT, GT
Verminderter Septakkord KT, KT ,KT
Übermäÿiger Septakkord GT, GT, KT
2.1.6.1 Stimmführung
Huron [25] demonstrierte, daÿ manche Regeln der Harmonielehre eine dif-
ferenziertere psychoakustische Wahrnehmung von einzelnen Stimmen und
12 KAPITEL 2. GRUNDLAGEN
2.1.6.2 Akkordfolgen
Ein weiterer wichtiger Teil der Harmonielehre besteht in der Erkennung und
Denition von Akkordfolgen. Auch hier werden sowohl positive Aussagen
über wirksame, stildenierende und daher willkomene, wie auch über uner-
wünschte, weil stilfremde oder für die tonale Wahrnehmung kontraprodukti-
ve Akkordfolgen gemacht. Unabhängig vom stilistischen Kontext sind diese
Regeln häug auf eine gelungene Unterstützung der durch die jeweiligen Ak-
korde beschriebenen tonalen Spannungsfelder ausgerichtet: durch Befolgung
dieser Regeln wird eine Verstärkung und Unterstützung der Spannungsver-
hältnisse realisiert.
Zu den wichtigsten Akkordfolgen gehören die Kadenzen. Der Begri stammt
aus dem Lateinischen cadere (fallen), und beschreibt damit den tonalen Span-
nugsabfall der für die meisten Kadenzen charakteristisch ist. In ihrer abstrak-
testen Form werden Kadenzen durch eine Abfolge von tonalen Funktionen
deniert, wie zum Beispiel T-D-T (Authentische Kadenz) oder T-SD-T (Pla-
gale Kadenz). Solche funktionalen Rahmen werden stilabhängig mit konkre-
ten Akkorden und zum Teil auch mit expliziten Stimmführungsvorschriften
ergänzt. Der damit erreichte Wiedererkennungseekt trägt wiederum zur ver-
stärkten tonalen Wahrnehmung bei.
Das folgende Beispiel zeigt einige wichtige Kadenzen (alle Beispiele in der
Tonart C-Dur):
I. Authentische Kadenz
Funktionsfolge T-D-T
Tonartstufenfolge I-V-I
bla
bla
14 KAPITEL 2. GRUNDLAGEN
III. Vollkadenz
Funktionsfolge T-SD-D-T
Tonartstufenfolge I-IV-V-I
bla
V. Vollkadenz - Variante
Funktionsfolge T-SD-D-T
Tonartstufenfolge I-II-V-I
bla
2.2 Melodiesegmentierung
Musikalische Stücke werden in der Regel als ein hierarchisches Netzwerk aus
Klängen, Motiven, Phrasen, Abschnitten und Sätzen empfunden. Das sind
jeweils zeitliche Abschnitte, deren Grenzen hauptsächlich anhand von klang-
lichen, rhythmischen und tonalen Eigenschaften ihres Inhalts gezogen wer-
den. Die während des Erklingens eines Abschnitts wahrgenommenen musi-
kalischen Eindrücke weisen eine Zusammengehörigkeit auf, während sie sich
angrenzenden Abschnitten gegenüber gleichzeitig als Gruppe absondern[41,
S. 208].
In ihrer Arbeit Temporal Gestalt Perception in Music nennen J. Tenney und
L. Polansky einzelne musikalische Parameter, die eine Beschreibung einer mu-
sikalischen Einheit angefangen mit einer einzelnen Note und hierarchisch
aufbauend für jeweils längere Abschnitte und eine Prüfung auf Ähnlich-
keit zweier benachbarten Einheiten auf der selben hierarchischen Ebene er-
möglichen würden. Eine Analyse monophoner Musikstücke aufgrund dieser
Parameter sollte ihre wahrnehmungsorientierte, und damit auch musikalisch
gültige Segmentierung liefern. Der dadurch geäuÿerte Versuch, von den je-
weiligen, auf einer hierarchischen Ebene bendlichen Details abzuheben um
eine ganzheitliche Aussage zu treen, ist im Sinne der Gestaltstheorie [44
].
16 KAPITEL 2. GRUNDLAGEN
bla
Das oben genannte Kriterium ist insofern einschränkend, als es allein die
Betrachtung eines einzigen Parameters erlaubt. Benötigt wird ein Ähnlich-
keitsmaÿ, das die Dierenzen aller Parameter zu einer einzigen Aussage über
Ähnlichkeit bzw. Unterschiedlichkeit benachbarter Elemente kombiniert.
Betrachtet man ein durch die drei Parameter beschriebenes Element als einen
Punkt im dreidimensionalen Raum, so bieten sich unterschiedliche Methoden
an, um den Abstand, also die kombinierte Dierenz in allen Raumrichtun-
gen, zwischen zwei solchen Punkten anzugeben. T. & P. haben sich für eine
gewichtete City-Block Metrik entschieden: Die Distanz zwischen zwei durch
ihren Parameter beschriebenen Elementen x = (x1 , x2 , x3 ), y = (y1 , y2 , y3 )
wird mit der Summe der gewichteten Dierenzen der unterschiedlichen Pa-
rameterwerte angegeben:
n
X
d(x, y) = αi |xi − yi | (2.1)
i=1
Folglich werden die mittlere Dierenz bzw. die Grenzdierenz zwischen zwei
zeitlichen Gestalten auf einer bestimmten Ebene als die gewichtete Summe
der mittleren Abstände bzw. der Grenzabstände zwischen ihnen deniert.
Schlieÿlich werden Grenz- und mittlere Dierenz zu einem einheitlichen Maÿ
kombiniert von T. & P. Disjunktion genannt das eine allgemeine Aus-
sage über die Unterschiedlichkeit zweier benachbarter zeitlichen Gestalten
ermöglicht:
l
X
D(x, y) = db(x, y) + −i b
2 d li (x), fi (y) (2.3)
i=1
Auf diese Grundlage beruht T. & P. Hypothese über die Wahrnehmung zeitli-
cher, musikalischer Gestalten, welche sich auch algorithmisch umsetzen läÿt:
• Für jedes Teilproblem wird eine optimale lokale Lösung berechnet, un-
abhängig vom restlichen Suchraum. Je nach Art des Problems muÿ für
diese Aufgabe eine passende Evaluationsfunktion gefunden werden.
mögliche Übergänge (a(τ,i) , a(τ +1,j) ) als gerichtete Kanten dargestellt werden.
Ferner werden die Kanten mithilfe der Evaluationsfunktion gewichtet. Nach
pro-forma Einführung von jeweils einer Quelle in τ = 0 und einer Senke
in τ = T + 1, kann das Problem auch als eine Suche nach dem kürzesten
Pfad in einem gerichteten, gewichteten Netzwerk betrachtet werden, welches
ein allgemeines Beispiel für den Einsatz dynamischer Progrmmierung ist [43,
S.3].
2.4.1 Markov-Ketten
Betrachten wir folgendes System, bestehend aus [42, S. 175]:
• einer Menge von Zuständen T := τ1 , . . . , τn
2.4.3 Viterbi-Algorithmus12
Der Viterbi-Algorithmus realisiert bei einer gegebenen Emissionsfolge eine
Suche nach der wahrscheinlichsten Zustandsreihenfolge eines HMM. Die Su-
che wird mittels dynamischer Programmierung durchgeführt [17, S. 5]:
• Dabei wird bei jedem Zustand ein Zeiger auf den jeweils wahrschein-
lichsten Vorgänger gespeichert.
Es wird mit einer N × T groÿe Tabelle gearbeitet. In jeder Zelle mit Spal-
tenindex t und Zeilenindex i wird die berechnete Wahrscheinlichkeit δt (i) für
das Vorkommen des Zustands i zum Zeitpunkt t gespeichert, zusammen mit
einem Zeiger ψt (i) auf den besten Vorgänger im vorigen Zeitpunkt (Zeilen-
index).
bla
Prozedur :
t = 1 : bla
δ1 (i) = πi bi (v (1) )
v (1) ∈ {v1 , . . . , vm } ,
bla (2.10)
1≤i≤N
ψ1 (i) = 0
2 ≤ t ≤ T : bla
max δt−1 (i) · aij · bj (v (t) )
δt (j) =
1≤i≤N v (t) ∈ {v1 , . . . , vm } ,
bla
1 ≤ i, j ≤ N
ψt (j) = arg max δt−1 (i) · aij
1≤i≤N
(2.11)
12 Bezeichnungen sowie Beschreibung des Algorithmus in Anlehnung an [42]
24 KAPITEL 2. GRUNDLAGEN
Backtracking: bla
bla
Die Struktur des Viterbi-Algorithmus kann, abgesehen von den jeweils nöti-
gen Indexzugriserweiterungen, beibehalten werden. Es wird auf einer Tabel-
le der Gröÿe N 2 × T operiert. In jeder Zelle wird die berechnete Wahrschein-
lichkeit δt (j, k) für das Vorkommen des Zustandpaars j, k zum jeweiligen
2.4. HIDDEN MARKOV MODELS 25
Zeitpunkt t gespeichert, zusammen mit einem Zeiger ψt (j, k) auf das beste
Vorgängerpaar (i, j) im vorigen Zeitpunkt.
bla
Prozedur [42]:
t = 1 : bla
δ1 (i, j) = πi bij (v (1) )
v (1) ∈ {v1 , . . . , vm } ,
bla (2.16)
1 ≤ i, j ≤ N
ψ1 (i, j) = 0
2 ≤ t ≤ T : bla
max δt−1 (i, j) · aijk · bjk (v (t) )
δt (j, k) =
1≤i≤N v (t) ∈ {v1 , . . . , vm } ,
bla
1 ≤ i, j, k ≤ N
ψt (j, k) = arg max δt−1 (i, j) · aijk
1≤i≤N
(2.17)
Backtracking: bla
bla
Für den Viterbi-Algorithmus für HMM2 ergibt sich eine Laufzeit ∈ O (T N 3 )
und einen Speicherbedarf ∈ O (T N 2 ). Dies bedeutet einen Zuwachs von je-
weils einer Gröÿenordnung in der Mächtigkeit der Zustandsmenge gegenüber
dem HMM erster Ordnung. Es gibt jedoch keinen Speicherplatz- oder Lauf-
zeitzuwachs in der Länge der Eingabe (die beobachtete Emissionsfolge).
26 KAPITEL 2. GRUNDLAGEN
• Was ist die Wahrscheinlichkeit dafür, daÿ eine Emissionsfolge von einem
bestimmten Modell (A, B, π) erzeugt wurde? Im weiteren Sinn wie
geeignet ist ein HMM für die Beschreibung eines als eine Menge von
Beobachtungen denierten Ereignisraums?
Der Brute-Force Ansatz für die Lösung dieser Frage besteht in der
Berechnung aller möglichen Folgen von Zuständen und Emissionssym-
bolen mit anschlieÿender Evaluierung der Übereinstimmung zwischen
den erzeugten und den gegebenen Emissionsfolgen, und operiert mit
einer Laufzeit ∈ O T · N .
T
3.1 Literaturübersicht
27
28 KAPITEL 3. EINBLICK IN DAS THEMENGEBIET
zeitig wird damit auch kein getreues und ezientes Modell der Wirklichkeit
der traditionellen Herangehensweise eines menschlichen Arrangeurs an die
gleiche Aufgabe [31, S.123] gestellt.
Um dies zu umgehen, arbeitet das von P. & R. implementierte System (eine
Kombination aus MusES für die Modellierung musikalischer Entitäten mit
BackTalk für die Lösung des CSP [31, S.124]) in zwei CSP-Phasen: Bei
Eingabe einer Melodie von n Noten werden zunächst die in Frage kommenden
Akkorde berechnet, und im zweiten Schritt die beste Akkordfolge unter ihnen
gefunden. Constraints, welche bei anderen Systemen explizit gelöst werden
müssen, werden hier durch die Eigenschaften der Objektrepräsentation von
Noten und Akkorden implizit erfüllt.
3.1.3 COMPOzE
Ein interessantes System wird von Henz, Lauer und Zimmermann in [23] vor-
gestellt, das zum Ziel hat, Hintergrundmusik (z.B. für Präsentationen) au-
tomatisch zu generieren. Als Eingabe erhält das System COMPOzE einen
detaillierten harmonischen Plan in Form von genauen Akkordbezeichnungen
(mit Angaben zur Umkehrung), zusammen mit einem Leitfaden aus musi-
kalischen Merkmalen, die verfolgt werden müssen. Ein musikalischer Umriss
für den Schluÿ einer Musik zur Begleitung einer Präsentation könnte, zum
Beispiel, so aussehen [23, S. 119]1 :
7
Akkordbezeichnungen: bT 9 S 6 D 4 D7 T s DT D7 T
7 3
Rhetorik: Schluÿ Melodie: Abwärts
Musikalischer Leitfaden: Tempo: Langsam Rhythmus: Ruhig
Metrum: Mit Metrum Harmonie: Sanft
3.1.4 CHORAL
Das von Ebcioğlu implementierte System CHORAL arbeitet ebenso mit
Constraints [21]. Das System erzeugt eine Choralharmonisierung bei gegebe-
ner Sopranmelodie. Wie bei Pachet und Roy besteht der Lösungsraum aus
Repräsentationen unterschiedlichen konzeptuellen und zum Teil gegenseitig
redundanten Sichtebenen des fertigen, durchharmonisierten Chorals [21, S.
47 et seq.]:
3.1.6 GYMEL
Ein Versuch, Domain-Wissen in einer anderen Weise in ein System zur au-
tomatischen Harmonisierung zu integrieren wurde von Sabater, Arcos und
López de Mántaras präsentiert [38]. Ihr System GYMEL verfügt über eine
Prototypendatenbank eine Case-Base von Akkordfolgen und harmo-
nisierten Melodien, welche je nach Aufgabe stilabhängig zusammengesetzt
wird.
Eine Eingabemelodie wird, unter dem Einsatz von Heuristiken, die eine
rhythmische Takthierarchie und die rhythmischen Werte der einzelnen No-
ten berücksichtigen, auf eine sog. Hard-Group reduziert. Diese besteht aus
repräsentativen Noten aus jedem Takt. Im nächsten, konstruktiven Schritt
wird zunächst in der Case-Base nach Mustern gesucht, die mit der lokalen
Situation (eine noch zu harmonisierende Note und ihr evtl. schon harmo-
nisierter Vorgänger) übereinstimmen. Gefundene Muster werden, gewichtet
nach dem Grad ihrer Übereinstimmung mit der Eingabe, zur Lösung hinzu-
gefügt, sodaÿ ein Lösungsbaum entsteht. Wird kein Muster in der Case-Base
gefunden, wird die lokale Lösung mittels CSP erstellt. Nach Generierung
des kompletten Lösungsbaums wird die beste Lösung mittels Backtracking
erstellt. Abschlieÿend wird jede erfolgreich erstellte Lösung zur Case-Base
hinzugefügt.
GYMEL verwendet einen relativ einfachen Satz an Constraints [38, S. 150].
Das ist die praktische Umsetzung des Grundgedankens, mit wachsender Case-
Base immer öfter auf diese und seltener auf das CSP-Modul zurückgreifen
3 Vom Autor aus dem Englischen übersetzt
3.1. LITERATURÜBERSICHT 33
zu müssen. Der Nachteil dabei liegt in der Tatsache, daÿ es Fälle gibt, für
die es keine passenden Muster im Case-Base gibt, die aber gleichzeitig eine
Situation darstellen, für die auch das vereinfachte Constraint-Modul keine
Lösung liefern kann. In solchen Fällen liefert GYMEL kein Ergebnis. S. et
al. sehen in ihrem System einen erfolgversprechenden Ansatz für Domains
(i.e. musikalische Stilrichtungen), für die die Erstellung einer groÿen initialen
Case-Base nicht praktikabel ist, die aber auch nicht vollständig mit einem
Regelsatz zu erfassen sind [38, S. 151]. bla
3.1.7 AMOR
Eine weitere Möglichkeit, die für einen Musikstil charakteristischen Muster
zu repräsentieren und nachzuahmen, bieten Markov-Modelle. In unterschied-
lichen Systemen werden mit Markov-Modellen unterschiedliche strukturelle
Aspekte repräsentiert. Damit wird deutlich, welche von den vielen Prozessen,
die man in einem Musikstück identizieren kann, für die jeweiligen Entwickler
als maÿgebend für eine konstruktive Charakterisierung erscheinen.
Miura et al. stellen in [29] das AMOR System vor. Bei Eingabe einer Melo-
die kann das System die Tonart identizieren. Zudem kann auch ein Musikstil
speziziert werden. Takt und Rhythmus müssen eingegeben werden, sodaÿ
Vorschläge und aufgrund ihres kleinen rhythmischen Wertes vernachlässig-
bare, aber vor allem tonartfremde Töne aus der Betrachtung herausgenom-
men werden. Für jeden Ton des resultierenden melodischen Grundgerüstes
werden alle Akkorde aufgelistet, die im Repertoire des Systems vorhanden
sind und in denen der Ton vorkommt. Im folgenden Schritt wird unter dem
Einsatz einer Markov-Kette eine Akkordfolge bestimmt. Jeder Zustand des
Prozesses besteht aus mehreren Akkorden, die in gängigen Kadenzen jeweils
für eine harmonische Funktion stellvertretend vorkommen könnten. Auch die
Übergangswahrscheinlichkeiten werden nach diesem festen Satz an Kaden-
zen deniert [29, S. 197]. Nachdem die Akkordfolge für die gesamte Melodie
erstellt wurde, werden die Töne der zusätzlichen Stimmen in jedem Akkord
vergeben. Dafür wird eine Datenbank von Akkorden aus der Popularmusik
verwendet, aus der Auftrittswahrscheinlichkeit von Tönen und ihre Positio-
nierung in den unterschiedlichen Akkorden abzulesen ist. Abschlieÿend wird
die Lösung dem Benutzer präsentiert. Dieser kann vom System eine alterna-
tive Lösung fordern, die wegen der stochastischen Natur des Systems besser
oder schlechter sein könnte.
Da Akkordfolgen, die nicht erlaubt sind, im Markov-Modell von AMOR nicht
repräsentiert werden, liefert das System stets Lösungen, die im Sinne der Har-
monielehre Funktions- und Akkordnamenstechnisch korrekt sind. Da aber ei-
34 KAPITEL 3. EINBLICK IN DAS THEMENGEBIET
nerseits nur die Struktur von Schluÿkadenzen als Grundlage für die Zustände
und die Übergangswahrscheinlichkeiten des Markov-Modells dient, anderer-
seits die Auswahl der Töne für die zusätzlichen Stimmen stochastisch er-
folgt, sind die Ergebnisse des Systems manchmal musikalisch unbefriedigend.
Die Möglichkeit, alternative Lösungen vom System zu erhalten, sollte diese
Schwäche mildern, welche die Autoren auf die zuletzt doch informationsarme
Struktur zurückführen, die mit dem Markov-Modell ausgedruckt wird [29, S.
197].
3.1.9 CPUBach
Die gleiche strukturelle Sicht, nach der die Harmonisierung durch Entschei-
dung einer Akkordfolge und eine anschlieÿende Stimmenverteilung entsteht,
wird von Hanlon und Ledlie (H. & L.) in [22] geteilt, und in ihrem System
CPUBach umgesetzt, welche ebenso auf Harmonisierung im Stil von J. S.
Bach zielt. Phrasen müssen in der Eingabe deniert werden, und werden je-
de für sich gesondert behandelt. Für jede 3-er Gruppe aufeinanderfolgender
Melodienoten wird die Menge aller möglichen Akkordnamen erstellt. Die Ak-
kordnamen stammen aus einer reichen Datenbank, welche zusätzliche Anga-
ben zu jedem Akkord bereithält, wie z.B. zur Umkehrung oder zum Vorhan-
densein von Septimen. Akkorde, die zu den Noten der Phrasen-Schluÿkadenz
gehören, werden speziell gekennzeichnet. Die Übergangswahrscheinlichkeiten
zwischen den 3-er Akkordgruppen wurden von H. & L. nach allgemein vor-
handener Kenntnis von Akkordstrukturen in Bachs Musik manuell gesetzt.
Die Akkordfolge für ein Segment wird von der Emissionsfolge eines Markov-
Prozesses bestimmt, welcher von der Kadenz am Ende der Phrase in Richtung
ihres Anfang entlang der Akkordgruppen arbeitet. Anschlieÿend werden von
einem weiteren Modul die Töne für die zusätzlichen Stimmen generiert. Die-
ser erzeugt für jeden Akkord alle in Frage kommenden Töne, und sucht unter
ihnen die beste Kombination unter Berücksichtigung der Regeln der Stimm-
führung. Die Auswahl an Tönen, die für die Harmonisierung eines Akkords in
Frage kommen, hängt von der Stimmführung in den vorangegangenen Akkor-
den ab. Daher kann es vorkommen, daÿ es im Laufe der Berechnung für einen
Akkord keine Töne gefunden werden könnten, die ihn konform mit den Stim-
führungsregeln umsetzen würden. In solchen Fällen muÿ ein Backtracking
stattnden und ein neuer Pfad errechnet werden.
Einen Schwachpunkt identizieren H. & L. in der manuellen Eingabe der
Übergangswahscheinlichkeiten: diese wurde nicht vollständig für alle mögli-
che 3-er Akkordfolgen aus Bachs Musik durchgeführt, da dies praktisch nicht
möglich ist. Als Resultat scheitert die Implementierung bei der Vergabe von
Akkordnamen bei manch langer oder untypischer Melodie. Ein von H. &
L. vorgeschlagener Ausweg ist das unüberwachte Training des Modells mit
originalen Bach-Chorälen.
Unklar ist, wie die Gröÿe der Zustandsmenge des harmonisierenden HMMs
festgelegt wird, wenn man davon ausgeht, daÿ jeder Zustand eine spezische
Akkordinkarnation mit genauen Stimmenverteilung darstellt. Bereits das vor-
gestellte System sieht zwei unterschiedliche Markov-Modelle für Eingaben in
Dur bzw. in Moll vor, und die Beschreibung des Systems suggeriert, daÿ jede
Erweiterung des Akkordvorrats (welche bereits durch eine Erweiterung der
Trainingmenge um einen einzigen Choral herbeigeführt werden könnte) die
Neugestaltung des gesamten Markov-Modells erzwingen würde.
3.1. LITERATURÜBERSICHT 37
3.1.12 xHARMONET
Hornel und Menzel (H. & M.) stellen mit HARMONET [24] ein System
vor, welches neuronale Netze (NN)5 einsetzt, um stildenierende Merkmale
während des Harmonisierungsprozesses zu entscheiden. Allgemeingültige Ge-
setze der Stimmführung werden weiterhin als Constraints behandelt und von
dafür vorgesehenen Prozeduren (Conventional Algorithms) umgesetzt.
Ein NN wird im ersten Schritt eingesetzt, um die Melodienoten mit harmoni-
schen Funktionen zu versehen. Dabei sieht HARMONET eine sehr detaillierte
Auösung von harmonischen Funktionen vor, in der jeder der diatonischen
Akkorde, die mit Tonartstufen als Grundtöne und Akkordtöne gebildet wer-
den, sowie weitere, bestimmte nicht-diatonische Akkorde, jeweils eine eindeu-
tige funktionale Beschreibung tragen. Die Kennzeichnung einer Melodienote
mit einer dieser Funktionen schränkt die Auswahl an möglichen Akkorden
für die Harmonisierung dieser Note stark ein.
Der folgende Schritt, in dem die Stufen- oder Akkordbezeichnungen zu den
Tönen der einzelnen, zusätzlichen Stimmen expandiert werden, wird von den
o.g. Conventional-Algorithms nach Regeln der Stimmführung absolviert. Ab-
schlieÿend wird der harmonisierte Satz mit Wechsel- und Übergangsnoten
versehen, in einem Schritt, der von einem weiteren NN übernommen wird.
Für eine Melodienote in Zeitpunkt t erhält beim Training das erste, harmoni-
sierende NN zusätzlich die Melodienoten in t − 1 und in t + 1, die Harmonien
zu den Zeitpunkten t − 1, t − 2 und t − 3, sowie Information über die Po-
sition von t innerhalb des Takts und innerhalb der Phrase. Damit lernt das
NN stilbedingte Merkmale bezüglich harmonischer Erwartungs- und Über-
raschungselemente. Netze, die mit unterschiedlichen, jeweils für einen Stil
repräsentativen Trainingsmengen trainiert werden, könnten anschlieÿend für
eine stilistische Klassizierung von harmonisierten Stücken eingesetzt wer-
den.
H & M präsentieren für HARMONET gute Ergebnisse, sowohl für die Erken-
nung der Stilrichtung durchharmonisierter Stücke, als auch für die Harmoni-
sierung einstimmiger Melodien. Gemessen wurde die Erfolgsrate bei Klassi-
zierung von Stücken aus der Trainingsmenge nach ihrer Stilrichtung, bzw. die
Akkord-Übereinstimmung zwischen originalen Bach-Chorälen und den Har-
monisierungen derer Melodien durch das System. Die Gröÿe und Qualität
einer stildenierender Trainingmenge bleibt jedoch entscheidend (wie z.B.
aus [24, S. 51, Tabelle 3.] zu entnehmen ist), des Weiteren müssen für das
Material in der Trainingmenge harmonische, rhythmische und strukturelle
Informationen vorliegen.
len Lösungen
Originales Output des Systems. Eingegeben Nach Änderung der Harmonie für die vierte
wurden die Noten, die im Sopran liegen. Note: bei diesem vom System vorgeschlage-
• Der Anwender hat keinen Einuÿ darauf, in welche Stimme das System
eine von ihm eingegebene Note unterbringt.
Im Lichte dieser Eigenschaften könnte ein vom Anvil Studio geliefertes Ergeb-
nis im allgemeinen Fall nur schwer als echte Harmonisierung taugen. Das
System versieht vielmehr einzeln eingegebenen Tönen mit Akkorden, ohne
daÿ ein Bezug zur Struktur des Satzes oder zum harmonisch-funktionalen
Kontext hergestellt wird.
3.2. KOMMERZIELLE LÖSUNGEN 41
3.2.2 tonica
Die Firma capella software bietet mit ihrer Software tonica ein ausgereiftes
Produkt für das Harmonisieren eingegebener Melodien. Das System sollte
hilfestellend beim Komponieren oder Arrangieren eingesetzt werden.
Dem Anvil Studio ähnlich arbeitet auch tonica in einer MIDI-Umgebung,
wobei Tonart, Takt und MIDI-Noten vom Anwender eingegeben werden müs-
sen. Auf Wunsch des Anwenders kann dann die Melodie in einem aus fünf
unterschiedlichen Stilrichtungen (zwei Varianten nach J. S. Bachs, weitere
nach Max Reger, Samuel Scheidt und ein Jazzstil) vierstimmig harmoni-
siert werden. Die zusätzlichen Stimmen sind der Melodiestimme gegenüber
rhythmisch frei, eventuell werden Übergangs- und Wechselnoten hinzugefügt.
Zusätzlich kann der Anwender eine melodische Umspielung der eingegebenen
Stimme sowie einer oder mehrerer der hinzugefügten Stimmen fordern. Im
Jazzstil kann eine erneute Harmonisierungsauorderung ein neues, unter-
schiedliches Ergebnis liefern. Auf dem virtuellen Notenbogen erscheint nach
Absolvierung des Harmonisierungsschritts neben den notierten, neuen Stim-
men auch eine funktionale Kennzeichnung der Akkorde (diese kann auch
unabhängig von der Harmonisierung ausgegeben werden). In Jazzstil kommt
es gelegentlich zu Quint- oder Oktavparalellen diese werden auf dem Bild-
schirm rot markiert.
Das System bietet an, über die gesamte Länge der Melodie möglichst bekann-
te Kadenzwendungen als Grundlage anzuwenden. In der Standardeinstellung
werden Kadenzwendungen nur an Phrasenenden explizit eingesetzt. Um die-
ses Merkmal optimal auszunutzen, muÿ das System jedoch über Information
bezüglich der Phrasengrenzen verfügen diese kann vom Anwender in Form
von Fermaten6 eingegeben werden.
Rhythmus und Platzierung von Noten im Takt haben Einuÿ auf die Ergeb-
nisse.
Es ist nicht möglich, die Melodie in eine andere Stimme zu platzieren als in
den Sopran. Nach der automatischen Erstellung der Harmonie können die
einzelnen Stimmen vom Anwender editiert werden.
Nach eigener Angabe von capella software arbeitet tonica mit neuronalen
Netzen. Es liegt nahe, daÿ für jede der in der Demoversion angebotenen Stil-
richtungen ein eigens auf diesen Stil trainiertes Netz zum Einsatz kommt
(oder mehrere solche Netze, die für die unterschiedlichen Aufgaben Funk-
tionsanalyse, Harmonisierung und Stimmenverzierung zuständig sind, wie
es auch in dem unter 3.1.12 erwähnten System der Fall ist). tonica liefert
musikalisch gute Ergebnisse, und ist einfach zu bedienen: nach Eingabe der
6 Auch zur Zeit J. S. Bachs wurden Fermaten zur Kennzeichnung von Phrasenenden
angewandt, und siehe dazu auch [28, S. 74] sowie [9].
42 KAPITEL 3. EINBLICK IN DAS THEMENGEBIET
Der im ersten Schritt erstellte harmonische Pfad besteht aus einem Akkord-
typ und einem Grundton für jede Note der Eingabemelodie. Um den Pfad
zu bestimmen, werden zunächst für jede Melodienote die drei diatonischen
Dreiklänge generiert, welche den Ton beinhalten, sowie der Septakkord mit
dieser Note als Grundton. Diese Akkorde werden nach der Stufe ihres Grund-
tons innerhalb der Tonart gewichtet: Akkorde, die zu den Hauptstufen der
Tonart Tonika, Subdominante, Dominante und die Tonikaparallele (die
sechste Tonartstufe) zugeschrieben werden, werden höher gewichtet, um
den tonalen Rahmen der Melodie zu unterstützen. Für Akkorde am Anfang
und am Ende der Melodie werden andere Gewichte verwendet, welche die
Tonalität noch stärker unterstreichen. Tonartfremde Melodienoten werden
3.2. KOMMERZIELLE LÖSUNGEN 43
45
46 KAPITEL 4. ALGORITHMUS
1. Akkordfolge: C − D2 − G56 − C
2. Akkordfolge: C − D2 − G56 − A
D ◦
3. Akkordfolge: C −D 2−H 7−C
1+
4. Akkordfolge: C − H1− − E[Aug 34 − C
1 Auf der Übereinstimmung zwischen dem latenten harmonischen Verlauf der Melodie
und seiner Manifestation in der Harmonisierung beruht die Kritik einer schlechten bzw.
der Lob einer gelungenen Harmonisierung.
48 KAPITEL 4. ALGORITHMUS
4.2.1 Datenrepräsentation
Es wurden mehrere Datentypen deniert, die die Abbildung musikalischer
Entitäten und ihrer hierarchischen Beziehungen ermöglichen. Den Grund-
baustein der musikalischen Hierarchie bilden Tonhöhen (Pitches) und In-
tervalle. Tonhöhen werden jeweils durch eine ganze Zahl entsprechend ihrer
MIDI-Nummer repräsentiert. Intervalle werden je nach Kontext unterschied-
lich gehandhabt: für diatonische Intervalle der Abstand zweier Ton-
höhen in Tonartstufen und für chromatische Intervalle der Anzahl
zweier Tonhöhen in Halbtönen, vgl. Abschnitt 2.1.1 sind unterschiedliche
Datentypen deniert. Des Weiteren sind Repräsentationen für die Ausrich-
tung eines Intervalls (aufsteigend oder abfallend), für die Versetzungszei-
chen [, ] und \2 , sowie Bezeichnungen für die harmonischen Funktionen
Tonika, Subdominante, Dominante und Tonikaparallele vorhanden. Auch die
verwendeten Akkordtypen (Chord Types) und die relevanten Akkordum-
kehrungen für alle zwölf möglichen Grundtonnamen (Root Notes) und
Tonarten wurden deniert.
Für darauolgende hierarchische Ebenen werden zusammengesetzte Entitä-
ten modelliert: Eine Note besteht aus einem Pitch, aus On- und Osetzeiten,
2 Kennzeichnet eine unversetzte Note. In herkömmlicher Notenschrift wird das Zeichen
für die Auÿerkraftsetzung zuvor verwendeten Versetzungszeichen. Im vorliegenden System
werden alle nicht versetzten Noten mit dieser Bezeichnung versehen.
50 KAPITEL 4. ALGORITHMUS
aus Attributen zur Dynamik und zur Position im Takt3 sowie aus einer Aus-
sage darüber, ob die Note stummgeschaltet ist oder nicht4 ; eine Stimme
(Voice) besteht aus einem Array von Noten mit Angaben zur Taktart5 die
Eingangsmelodie wird als eine Stimme eingegeben, ein Array von vier Stim-
men bildet das zurückgelieferte, durchharmonisierte Ergebnis; der Akkord-
name (Chord) ist deniert durch seinen Grundton zusammen mit seinem
Akkordtypen, seiner Umkehrung (Inversion) und einer String-Repräsentation
des Namens; die lineare Repräsentation der fertigen Harmonisierung
(Harmony Track) besteht aus den entsprechenden Akkordnamen an den für
sie ausgesuchten Positionen.
4.2.2 Schnittstelle
In der Schnittstelle werden folgende Funktionalitäten angeboten:
• Setzen und Abfragen von Tonarten (für die Ein- und Ausgabe).
4.3.1 Melodiesegmentierung
Der erste Verarbeitungsschritt sieht die Unterteilung der Eingangsmelodie
in Segmente vor. Nach Vorbild der von Tenney und Polansky (T. & P.)
vorgeschlagenen Technik (s.o. Abschnitt 2.2) erfolgt die Segmentierung in
zwei Phasen, entsprechend zwei hierarchischer Ebenen.
52 KAPITEL 4. ALGORITHMUS
In Anlehnung an Formel 2.1 wird in Formel 4.1 die Gewichtung der Note
x(t) zum Zeitpunkt t in Abhängigkeit von ihren eigenen Parametern sowie
die der ihr vorangehenden Note in Zeitpunkt t − 1 beschrieben. Dabei wird
(t) (t−1)
die jeweilige Onsetzeit mit x1 , x1 und die Tonhöhe in der interner MIDI-
repräsentiert. Die Melodielänge6 wird mit
(t) (t−1)
Number-Darstellung mit x2 , x2
m angegeben. Die erste Note erhält die Gewichtung 0.
Nun werden nach Formel 2.2 diejenige Noten als Clang-Grenzen markiert,
deren Gewichtung ein lokales Maximum darstellt.
Vor der Berechnung der Disjunktion an den Clang-Grenzen, die zur Detekti-
on der Segmentgrenzen folgen muÿ, wird eine zusätzliche inhaltliche Analyse
der Eingangsmelodie bezüglich interner Ähnlichkeiten durchgeführt. Cam-
bouropoulos behauptet:
Eine Übereinstimmung ist dann gegeben, wenn Muster und geprüfter Ab-
schnitt die gleiche Tonhöhen- und Onsetintervallkontur aufweisen. Eine Aus-
nahme kann beim letzten melodischen Schritt des Musters und des Abschnitts
(der Schritt von der vorletzten zur letzten Note) gemacht werden: stimmt
hier zusätzlich zur Tonhöhenkontur auch das tatsächliche diatonische Inter-
vall überein, wird selbst bei Abweichung in der Onsetintervallkontur an die-
ser Stelle eine Übereinstimmung von Muster und Abschnitt angenommen.
Diese Heuristik kann mit der musikalischen Tendenz begründet werden, an
den Grenzen zu bedeutend unterschiedlichen Abschnitten oder am Ende ei-
ner Melodie die Endnoten von Phrasen im Vergleich zu früheren, ähnlichen
Vorkommen der selben Phrase zu verlängern. Cambouropoulos erwähnt die-
ses Phänomen in [20, S. 2, Abs. 2]; Es lieÿ sich im Verlauf der Arbeit auch
empirisch belegen.
Als Ergebnis liefert die Suche die Anfangs- und Endpositionen des längsten
wiederkehrenden Musters und seiner Wiederholungen. Folgt auf die Endnote
eines Vorkommens des Musters die Anfangsnote eines weiteren Vorkommens,
so wird die Endnote des ersten Exemplars nicht markiert. Bei Exemplaren
eines Musters, deren Anfänge sich überlappen, wird nur der Anfang des als
erstes vorkommenden Exemplars markiert. Da sowohl der Anfang als auch
7 Vor allem einzelner Songteile aus der Popularmusik, wie z.B. ein Refrain oder eine
Bridge [5]
54 KAPITEL 4. ALGORITHMUS
n
1 X
(4.2)
pb(x) = · p x(i) · L x(i)
L(x) i=1
1. Der Betrag der Dierenz zwischen der mittleren Tonhöhen des Clangs
und der seines Vorgängers:
(t) (t) (t−1)
(4.3)
ω1 x = pb x − pb x
Damit können Clang-Grenzen, die das Ende eines längeren Clangs mar-
kieren, bevorzugt werden.
4.3. DETAILLIERTE BESCHREIBUNG 55
Damit kann den Grenzen sich wiederkehrender Muster eine gröÿere Be-
deutung verliehen werden. Solche Abschnitte weisen in der Regel eine
stärkere Wahrnehmbarkeit gegenüber den mittels der abstrakten Ge-
staltmethode ermittelten Clangs auf, und sind damit wahrscheinliche-
re Kandidaten für die Segmentierung auf einer höheren hierarchischen
Ebene.
4. Der Wert des diatonischen Intervalls zwischen der letzten Note des
vorhergehenden Clangs und der ersten Note des aktuellen Clangs. Dies
entspricht der Dierenz angrenzender Elemente auf einer niedrigeren
hierarchischen Ebene (vgl. Formel 2.3). Dabei erhält eine diatonische
Prime den Wert 1, eine diatonische Sekunde den Wert 2 usw. :
(4.8)
W = (ω1 + ω2 ) · ω3 + ω4 · ω5
4.3.2 Funktionsbestimmung
Im nächsten Verarbeitungsschritt wird die funktional-harmonische Grundla-
ge für die Harmonisierung gelegt. Als Untergerüst für die Bestimmung der
56 KAPITEL 4. ALGORITHMUS
Versetzung Tonartstufen
Tonartgattung
der Stufe I II III IV V VI VII
[ D SD D T D SD T
Dur \ T D T SD T SD D
] SD D SD D SD T T
[ D SD D T D SD T
Moll \ T D T SD T SD D
] SD D SD D SD T T
Tabelle 4.1 Look-Up-Table für die Bestimmung der Funktion der ersten
Note in Abhängigkeit von der Tonartgattung (erste Spalte),
der Tonartstufe (Spalten 3 bis 9), und deren enventuellen Ver-
setzung (zweite Spalte).
i. Die letzte Position in der Phrase mit einer diatonischen Stufe, die sich
von der der letzten Note der Phrase unterscheidet (wird nicht gesetzt,
falls eine solche Position nicht gefunden wird).
ii. Die Position der letzten Melodienote in der Phrase, deren Onsetintervall
(entspricht absoluter Länge) länger als der Median der Onsetinterval-
len in der gesamten Phrase ist (wird auf die erste Position im Segment
gesetzt, falls keine entsprechende Position gefunden wird).
..
.
IF (currentDegree == II) THEN
IF (currentAccidental == Natural) THEN
IF (previousDegree == I) THEN
IF (previousAccidental == Natural) THEN
IF ((position > 1) &&
((degree(position - 2) == VII) ||
(degree(position - 2) == III)) THEN
function(position) = Dominante;
IF (backwardsFlag) THEN
function(position - 1) = Dominante;
ELSE IF (position == EndOfMelody) THEN
function(position) = Dominante;
IF (backwardsFlag) THEN
function(position - 1) = Tonika;
ELSE
function(position) = Subdominante;
IF (backwardsFlag) THEN
function(position - 1) = Tonika;
ELSE IF (previousAccidental == Sharp) THEN
function(position) = Subdominante;
ELSE
4.3. DETAILLIERTE BESCHREIBUNG 59
function(position) = Dominante;
ELSE IF (previousDegree == II) THEN
IF ((position < EndOfMelody) && (degree(position + 1) == V)) THEN
function(position) = Subdominante;
IF (backwardsFlag) THEN
function(position - 1) = Dominante;
ELSE
function(position) = Dominante;
IF (backwardsFlag) THEN
function(position - 1) = Dominante;
ELSE IF (previousDegree == III) THEN
function(position) = Dominante;
ELSE IF (previousDegree == IV) THEN
function(position) = Dominante;
ELSE IF (previousDegree == V) THEN
function(position) = Dominante;
IF (backwardsFlag) THEN
function(position - 1) = Dominante;
ELSE IF (previousDegree == VI) THEN
function(position) = Subdominante;
IF (backwardsFlag) THEN
function(position - 1) = Subdominante;
ELSE IF (previousDegree == VII) THEN
function(position) = Dominante;
IF (backwardsFlag) THEN
function(position - 1) = Dominante;
ELSE IF (currentAccidental == Flat) THEN
function(position) = Subdominante;
IF ((backwardsFlag) && (degree(position - 1) == I)) THEN
function(position - 1) =Tonika
ELSE
function(position) = Dominante;
..
.
• Ihre Dauer (Onsetintervall) ist kürzer als der Median der Onsetinter-
valle in der gesamten Melodie.
• Sie sind
Auch hier wird mit dem Ausschluÿ die Stabilisierung des harmonischen Fort-
schreitens unterstützt: Töne, die relativ kurz sind, und dabei auch tonal
fremd oder unbedeutend (Wechselnoten) sind, sollen keinen Einuÿ auf den
harmonischen Verlauf haben. Diese Töne werden im Prozess der Funktions-
bestimmung übersprungen.
Es folgt die Abschätzung der harmonischen Funktionen in jeder Phrase. Die
tonalen Eigenschaften der Melodienoten innerhalb der Tonart und die tonale
Wechselwirkung benachbarter Noten im lokalen melodischen Kontext liefern
hierfür Hinweise auf den ihnen zugrunde liegenden funktionalen Verlauf.
Das dynamische System, welches die Beziehungen zwischen der sichtbaren
Information über Melodienoten und den versteckten, vermuteten harmoni-
schen Funktionen sowie die Übergänge unter ihnen beschreibt, wird mit ei-
nem HMM modelliert. Dabei bilden diatonische und versetzte Tonartstufen
die Emmisionsmenge und die harmonischen Funktionen (T, SD, D, Tp)die
Zustandsmenge. Eine Melodie kann mit einem Markov-Prozess dargestellt
werden, und bei Bekanntgabe der Melodienoten einer Emmisionsfolge
entsprechend sowie der Emmissions- und Übergangswahrscheinlichkei-
ten kann die wahrscheinlichste Folge harmonischer Funktionen mithilfe des
Viterbi-Algorithmus ermittelt werden.
Um das in den Emmissions- und Übergangswahrscheinlichkeiten im Markov-
Model vorhandene Wissen zu erweitern, sodaÿ gröÿere zeitliche Zusammen-
hänge erfasst werden könnten, wurde ein HMM2 implementiert. Diese Ent-
scheidung erforderte die Erstellung detaillierterer Tabellen für Emmissions-
4.3. DETAILLIERTE BESCHREIBUNG 61
Die gelieferten Ergebnisse für jede Phrase werden gespeichert und stehen für
die Initialisierung der Berechnung der darauf folgenden Phrase bereit.
Am Ende des Prozesses sind alle Melodienoten, die von der harmonisch-
funktionalen Abschätzung nicht ausgeschlossen wurden, mit einer harmoni-
schen Funktion versehen.
4.3.3 Stimmsatzerstellung
Der vierstimmige Satz, der schlieÿlich als Ergebnis des Algorithmus geliefert
wird, wird mithlife dynamischer Programmierung generiert. Im Folgenden
wird die Initialisierung der notwendigen Voicings-Tabelle und die Durchfüh-
rung der dynamischen Programmierung mithilfe dieser Tabelle beschrieben.
1. Zunächst werden alle Akkorde ermittelt, die als Ausprägung der jeweili-
gen harmonischen Funktion in der jeweiligen Tonartgattung (Dur oder
Moll) in Frage kommen, und in denen die jeweilige Melodienote ver-
treten ist. Dem System steht eine Datenbank mit Akkorden zur Verfü-
gung, welche entsprechend nach Tonartgattung und nach harmonischer
Funktion klassiziert sind. Ein Akkord ist in der Datenbank durch das
Intervall seines Grundtons vom Grundton der Tonart und durch die
Intervalle der Akkordtöne vom Akkordgrundton, wie auch durch einen
Index sowie eine String-Darstellung seines Namens deniert. Zudem
wird für jeden Akkord die Wahrscheinlichkeit seines Vorkommens im
Kontext der jeweiligen Funktion angegeben.
Aufgrund der Intervalle der Akkordtöne vom Akkordgrundton und der
Systemeinstellungen zum erlaubten Gesamtstimmumfang sowie zur Po-
sition der Melodiestimme innerhalb des vierstimmigen Satzes werden
alle Töne aufgelistet, die für die Realisierung des jeweiligen Akkords
in Betracht kommen. Eine solche Liste entsteht für jeden der Akkorde,
die als Ausprägung der harmonischen Funktion auftreten können und
die aktuelle Melodienote enthalten.
Melodienoten, die im vorangegangenen Schritt nicht mit einer harmo-
nischen Funktion gekennzeichnet wurden, werden speziell gekennzeich-
net. Für sie werden im folgenden Schritt keine Voicings erzeugt, und
sie werden während der dynamischen Programmierung übersprungen.
2. Nun werden pro Melodienote alle Voicings für jeden der im vorange-
gangenen Schritt ermittelten Akkorde mittels eines iterativen Verfah-
rens generiert. Die in Betracht kommenden Töne für die Realisierung
des Akkords werden permutiert, jede Permutation wird als Voicing be-
trachtet. Als Initialgewicht erhält das Voicing die Auftrittswahrschein-
lichkeit des Akkords, welchen es realisiert. Dann wird das Voicing auf
Einhaltung bzw. Verletzung einer Reihe von Regeln der Harmonielehre
untersucht. Die hier verwendeten Regeln sind:
Jede Verletzung bzw. Einhaltung einer Regel wird mit der Multipli-
kation eines denierten Gewichtsfaktors auf das Gewicht des Voicings
bestrat oder belohnt. Zudem kann der Anteil jeder Regel in der
Gesamtgewichtung eingestellt werden.
Alle nun gewichteten Voicings, die für die Harmonisierung einer Melodienote
in Betracht kommen, werden in einer Tabellenspalte gespeichert, entspre-
chend der Position der Melodienote im Melodieverlauf. Die Initialisierung
erfolgt auf diese Weise für alle mit einer harmonischen Funktion versehenen
Melodienoten (s.o. Abschnitt 4.3.2.3), anschlieÿend kann mittels dynamischer
Programmierung der beste Pfad durch die Tabelle gefunden werden.
rückwärts es wird für jedes Voicing der beste Vorgänger vom vorhergehen-
den Zetipunkt (bzw. von dem ersten Zeitpunkt vor ihm, für den mindestens
ein Voicing erzeugt wurde) gesucht. Der beste Vorgänger wird ermittelt, und
das Gewicht des aktuellen Voicing wird durch Multiplikation mit dem Ge-
wicht seines Vorgängers und dem Gewicht, das von der Evalustionsfunktion
für den Übergang zwischen den Voicings errechnet wurde, aktualisiert. Zu-
dem wird ein Zeiger auf den besten Vorgänger gespeichert (s.o. Tabelle 2.4).
Als Evaluationsfunktion dient die Prüfung auf Einhaltung bzw. Verletzung
bestimmter Regeln und Traditionen der Stimmführung. Die hier verwendeten
Regeln sind:
Der Übergang zwischen den Voicings wird mit einem Anfangsgewicht von 1
versehen. Wie bei der Initialisierung wird jede Verletzung bzw. Einhaltung
einer Regel mit der Multiplikation eines für den Fall denierten Gewichtsfak-
tors auf das Gewicht des Übergangs bestraft oder belohnt. Zudem kann
der Anteil jeder Regel in der Gesamtgewichtung eingestellt werden.
Um gröÿere Zusammenhänge zu erfassen, werden manche Regeln auf Folgen
von Voicings angewandt, die für mehr als zwei Melodienoten stehen. Beur-
teilt wird in solchen Fällen jedoch weiterhin nur der Übergang zwischen dem
aktuellen Voicing und dem geprüften Vorgänger die Vorvorgänger werden
nicht mehr angetastet.
4.4. GEWÄHLTE STRATEGIEN, PROBLEME UND LÖSUNGEN 65
Nachdem die Vorgänger für die Voicings in der letzten Spalte der Tabelle
ermittelt wurden, kann mittels Backtracking der beste Pfad durch die Tabel-
le gefunden werden: Aus der letzten Spalte wird das erste Voicing mit dem
maximalen Gewicht ausgesucht, auf seinen besten Vorgänger in der voran-
gehenden Spalte kann mithilfe des gespeicherten Zeigers zugegrien werden,
usw. bis zum Anfang der Melodie.
Die Voicings entlang des Pfads werden in ein Objekt aus vier separaten Voices
(s.o. Abschnitt 4.2.1) geschrieben, die jeweilige Akkordinformation (Name,
Umkehrung, Grundton) werden in eine Harmoniespur geschrieben beide
Objekte dienen abschlieÿend als Ausgabemedien für die fertige Harmonisie-
rung. Noten, für die aus unterschiedlichen Gründen kein Voicing erstellt wer-
den konnte, werden mit dem letzten vor ihnen errechneten Voicing versehen.
sungen
durch die Auswahl8 der Akkorde, die für die Realisierung der harmonischen
Funktionen zur Verfügung stehen, und den für die Evaluierung der Voicings
und der Voicings-Übergänge eingesetzte Regelsatz9 abgebildet.
Um eine stilrichtungsbezogene Umstellung bzw. Erweiterung des Harmonisie-
rungssystems zu ermöglichen, sollten Mechanismen für den Zugri auf den
Akkordvorrat, den Regelsatz und für die Einstellung derer Parameter ge-
schaen werden. Wie in Abschnitt 4.2.2 bereits erwähnt wurde, bietet die
Schnittstelle des Systems eine Funktion für die Einstellung einer alternati-
ven musikalischen Stilrichtung durch eine externe Datei an.
Die jeweiligen internen Funktionen, die auf den Akkordvorrat bzw. auf die
Harmonielehre- und Stimmführungsregeln zugreifen, sind allgemeiner Natur
und unabhängig vom Akkordvorrat und von den Regeln. Auf diese wird mit-
tels Zeiger auf Arrays (im Fall des Akkordvorrats) bzw. auf statische Funktio-
nen (welche die Regeln implementieren) zugegrien. In der Grundeinstellung
des Systems verweisen diese Zeiger auf festcodierten Arrays und Funktionen.
Eine Implementierung der Schnittstellenfunktion (und eine Spezikation ei-
nes passenden Dateiformats) würde es ermöglichen, die Zeiger auf Daten und
Funktionsdenitionen, mit denen in einer entsprechenden Datei eine musika-
lische Stilrichtung deniert wird, umzulenken.
Nicht zuletzt wegen dieser Gründe wurde hier die manuelle Erstellung der
Wahrscheinlichkeitstabellen gewählt. Als Grundlage für die Auswahl der je-
weiligen Wahrscheinlichkeiten hat eigenes Wissen und eigene musikalische
Erfahrung, die Implementierung des Harmonisierungssystems in der vorigen
Version des vielklang-Plugins, sowie Tests während der Entwicklungsarbeit
gedient. Diese heuristische Herangehensweise hat sich durch Tests mit den
während und nach der Entwicklung verwendeten Testmelodien bewährt.
bzw. der Stimmführung erwähnt werden (vgl. [25, S. 5]), sowie auf die Regeln,
die in der vorigen Version des Harmonisierungssystem des vielklang-Plugins
implementiert wurden.
Der explizite Akkordvorrat des hier vorgestelltes Systems wurde gegenüber
den impliziten Möglichkeiten zur Generierung von Akkorden, welche die vo-
rige Version anbietet, um mehrere Akkorde erweitert. Dazu gehören auch
bestimmte Akkorde, deren traditionsgerechter Einsatz in einer Akkordfolge
einer speziellen, tradierten Behandlung der Stimmführung bedarf. Für solche
Akkorde wurden maÿgeschneiderte Regeln implementiert, die nur dann grei-
fen, wenn sich bei dem zu evaluierenden Voicing bzw. dem zu evaluierenden
Voicing-Übergang eine Ausprägung dieser Akkorde bendet. Eine der Tradi-
tion entsprechende Stimmenlage bzw. Stimmführung wird in solchen Fällen
mit einer Gewichtserhöhung bevorzugt, das Gegenteil entsprechend bestraft.
Die Gewichtung der Regeln stützte sich zunächst auf die vorherige Version.
Wegen des erweiterten Akkordvorrats und der daraus entstehenden mögli-
chen Voicings und Voicings-Übergänge, sowie wegen der o.g. Implementie-
rung weiterer Regeln, musste die Gewichtung erweitert bzw. angepasst und
gegenseitig justiert werden. Dies erfolgte durch Tests harmonisch-analytischer
sowie musikalisch-subjektiver Natur während der Entwicklung.
1 Bzw. eines geschulten Lektors, der die Qualität solcher Eigenschaften direkt aus dem
Notentext einschätzen kann.
71
72 KAPITEL 5. EVALUIERUNG
In [2] geben Allan und Williams (A. & W.) eine Harmonisierung der Me-
lodie aus J. S. Bachs Choral BWV 438 als Beispielergebnis des von ihnen
entwickelten Systems (s.o. Abschnitt 3.1.10). Da beide Systeme das hier
vorgestellte System und das von A. & W. nahezu die gleiche Informati-
on über die Eingangsmelodie erhalten müssen4 , wird dieses Beispiel für eine
vergleichende Bewertung der Ergebnisse des vorgestellten Systems herange-
2 Zu Modulation in der Musik siehe z.B. [28, S.98-99] und [1].
3 Eine ästhetisch-musikalische Bewertung mit ähnlichen Kriterien fand während der
Entwicklung statt und diente der Justierung des implementierten Regelwerks. Dabei wur-
den auch die Ergebnisse der Melodieanalyse die vom System entdeckten Phrasen sowie
den aufgrund der Phrasen ermittelten funktional-harmonischen Verlauf geprüft.
4 Das System von A. & W. erhält zusätzlich zu den Melodienoten (mit Onsetintervallen)
und der Tonart auch eine absolute Rhythmusangabe. Das ist notwendig, da dieses System
stets von einem festen harmonischen Rhythmus von Vierteln ausgeht.
74 KAPITEL 5. EVALUIERUNG
zogen. Um das vorgestellte System mit der vorherigen Version des vielklang-
Harmonisierungssystems auf der Basis der realisierten harmonischen Vielfalt
zu vergleichen, wurde für dieselbe Choralmelodie auch von diesem System
eine Harmonisierung erstellt. Die originale Choralkomposition J. S. Bachs,
die Ergebnisse der drei Harmonisierungssysteme zusammen mit einer Analy-
se der harmonischen Funktionen5 sowie der Akkorfolgen der jeweiligen Sätze
benden sich auf Seiten 78 bzw. 79. Die Choralmelodie ist in F-Dur.
Im Folgenden werden zwei kurze Abschnitte aus den harmonisierten Sätzen
verglichen.
Takt 2 Das aufgelöste h' auf dem zweiten Viertel dieses Takts stellt als
tonartfremder Ton in der Melodietonart F-Dur eine Herausforderung
für die Harmonisierung dar. Jedes der drei geprüften Systeme bietet
eine andere Lösung für diese Situation:
Takt 6
Auf den beiden ersten Vierteln
im Takt ist die vierte Tonartstufe
b in der Melodie. Entsprechend
werden diese Töne vom Harmo-
nisierungsystem der vorherigen
vielklang-Version mit dem dia-
tonischen Dreiklang der vierten Abbildung 5.4 Harmonisierung
Tonartstufe als Grundton (B-Dur) durch die vorherige vielklang -Version
6 Zu Doppeldominante siehe z.B. [28, S. 98, Abbildung B] und [4].
76 KAPITEL 5. EVALUIERUNG
Abbildung 5.7 J. S. Bach Choral BWV 438, Wo Gott zum Haus nicht
gibt sein Gunst [18]
79
Das erste Achtel in Takt 6 wurde in der Harmonisierung des hier vorgestellten
Systems nicht mit einem eigenen Voicing versehen die Note wird als Wech-
selnote klassiziert und aus der Berechnung der Voicings ausgeschlossen, für
die Ausgabe erhält sie das Voicing der Vorgängernote. In diesem Beispiel ist
der Unterschied im Charakter der Baÿlinie zwischen der Harmonisierung des
System von A. & W. un der Harmonisierung des hier vorgestellten System
weniger ausgeprägt als im Fall der Choralmelodie BWV 438. bla
bla
bla
bla
bla
bla
bla
bla
bla
bla
bla
bla
bla
bla
bla
bla
bla
bla
bla
bla
bla
bla
bla
bla
bla
bla
bla
bla
bla
82 KAPITEL 5. EVALUIERUNG
bla
Abbildung 5.9 J. S. Bach Choral BWV 48, Ach Gott und Herr, wie groÿ
und schwer Originale Version [18]
83
85
86 KAPITEL 6. SCHLUßWORT
Der Anwender kann den Stimmumfang und die Akkordlage (s.o. Abschnitt
4.3.3.1, Seite 63) des Satzes festlegen. In den durchharmonisierten Satz kann
der Anwender Akkorde nach seiner Wahl an beliebigen Stellen setzen. Das
System integriert diese Akkorde in den erstellten Satz unter Beachtung der
für die Harmonisierung geltenden Regeln.
Der verwendete Regelsatz sowie der Akkordvorrat sind zudem erweiterungs-
fähig und modizierbar: Sie erlauben sowohl das Hinzufügen neuer Regeln
und Akkorde als auch die Veränderung einzelner Gewichte. Die mit der vorge-
stellten Implementierung realisierte elementare Harmonisierungsstilrichtung
kann somit sowohl erweitert als auch speziziert werden. Dadurch könnten
auf der Basis der vom System erstellten Analyse Harmonisierungen in unter-
schiedlichen Stilrichtungen realisiert werden.
Die stilistische Flexibilität wird durch den implementierten konzeptuellen
Ansatz möglich. Dieser sieht die Trennung der musikalischen Analyse von
der Erstellung der zusätzlichen Stimmen vor. Darin unterscheidet sich das
vorgestellte System von den in Kapitel 3 beschriebenen Lösungen und stellt
gleichzeitig eine Simulation des traditionellen Harmonisierungsprozesses dar.
Der Einsatz heuristischer Entscheidungen während der Entwicklung, vor al-
lem im Zusammenhang mit der Festlegung von Wahrscheinlichkeitswerten
und der Gewichtung von Parametern, bewährt sich durch die gelieferten
Harmonisierungsergebnisse. Darüberhinaus rechtfertigt die heuristische Na-
tur musikalischer Entscheidungsprozesse, die meistens auf Erfahrungswerte
und Traditionen zurückgreifen, den Gebrauch von Heuristiken auch bei ihrer
automatischen Nachahmung. In Problemräumen, deren Lösungen unter an-
derem auch subjektiven Qualitätsmaÿstäbe genügen müssen, ist es im Allge-
meinen schwer auf den Einsatz von Heuristiken zu verzichten. Selbst alterna-
tive Ansätze, welche maschinelles Lernen für die Justierung ihrer Parameter
einsetzen, machen Gebrauch von Heuristiken implizit und an erster Stelle
bereits bei der Zusammensetzung der jeweiligen Trainingsmenge.
6.2 Ausblick
Wie bereits erwähnt wurde, stellt das vorgestellte System den Prototyp eines
konzeptuellen Ansatzes und eine Implementierung des entwickelten Algorith-
mus dar. Auf dem Weg zu einer einsatzfähigen Implementierung, welche in die
bestehende Audio-Umgebung des vielklang-Plugins integriert werden kann,
sollen manche Aspekte des Systems optimiert bzw. vervollständigt werden;
darüberhinaus sind bereits in der vorgestellten Implementierung Ansatzpunk-
te für eine Weiterentwicklung vorhanden:
6.2. AUSBLICK 87
Rechenzeit In Abschnitt 4.4.4 wurde ein Beispiel für die vor allem im
Vergleich mit dem vorherigen vielklang-Harmonisierungssystem lange
Rechenzeit gegeben, die vom vorgestellten System für die Bearbeitung
einer Eingabe in Anspruch genommen wird. Wie bereits erwähnt (dort,
Seite 69) liegen die Ursachen dafür höchstwahrscheinlich in der Gröÿe
der zu verarbeitenden Datenmenge, den rechenintensiven Schutzmecha-
nismen und der Programmstruktur.
Eine Maÿnahme für die Reduzierung der zu verarbeitenden Datenmen-
ge wurde bereits getroen: Voicings, deren Gewichte im Laufe der dyna-
mischen Programmierung unter eine bestimmte Schwelle fallen, werden
mit dem Gewicht 0 versehen und von weiterer Betrachtung ausgeschlos-
sen. Der Annahme nach liegen solche Voicings auf Pfaden, die höchst-
wahrscheinlich suboptimal sind. Ihre Entfernung aus der Betrachtung
birgt damit keinen Datenverlust.
Die Optimierung der Schutzmechanismen sowie der programmtechni-
schen Abläufe wird einen wichtigen Teil der weiteren Arbeit am System
ausmachen.
Training des HMM2 In den Abschnitten 4.4.2 und 6.1 wurde die ma-
nuelle Justierung des für die Bestimmung der harmonischen Funktionen
eingesetzten HMM2 begründet. Nichtsdestoweniger besteht weiterhin
die Möglichkeit, das Modell zum Beispiel unter Einsatz des Baum-
Welch Algorithmus (s.o. Abschnitt 2.4.5, Seite 26) zu trainieren.
Eventuelle stilrichtungsspezische funktional-harmonische Eigenschaf-
ten könnten auf dieser Weise entdeckt und im Modell gespeichert wer-
den. Einerseits könnte dadurch die Qualität der systemintern durch-
geführten Analyse erhöht werden, andererseits könnte dem Anwender
damit ein Werkzeug zur Erforschung stilrichtungsdenierender musika-
lischer Merkmale zur Verfügung gestellt werden.
91
92 LITERATURVERZEICHNIS
[17] Olivier Aycard, Jean-Francois Mari, and Richard Washington. Learning
to automatically detect features for mobile robots using second-order
Hidden Markov Models. International Journal of Advanced Robotic
Systems, December 4(1):231245, 2004.
[22] Matt Hanlon and Tim Ledlie. CPU Bach: An Automatic Chorale Har-
monization System. http://www.timledlie.org/cs/CPUBach.pdf, 2002.
LITERATURVERZEICHNIS 93
[24] Dominik Hornel and Wolfram Menzel. Learning Musical Structure and
Style with Neural Networks. Computer Music Journal, The MIT Press,
22(4):4462, 1998.
[25] David Huron. Tone and Voice: A Derivation of the Rules of Voice-
Leading from Perceptual Principles. Music Perception, 19(1):164, 2001.
[26] Scott Lehman. Table 2: Summary of MIDI Note Numbers for Die-
rent Octaves. Englische Ausgabe der Wikipedia, http://www.harmony-
central.com/MIDI/Doc/table2.html, Am 8.IX.2008.
[29] Masanobu Miura, Seiji Kurokawa, Akihiro Aoi, Mitsuru Obana, and
Masuzo Yanagida. Improvement of Yielding Harmony to Given Melo-
dies. Proceedings of the International Symposium on Musical Acoustics,
2-S2-15:195198, 2004.
[31] Francois Pachet and Pierre Roy. Mixing Constraints and Objects:
a Case Study in Automatic Harmonization. Prentice-Hall, TOOLS
Europe:119126, 1995.
[32] Francois Pachet and Pierre Roy. Musical Harmonization with Cons-
traints: A Survey. Kluwer Publisher, 6(1):719, 2001.
[33] Jean-Francois Paiement, Douglas Eck, and Samy Bengio. Probabi-
listic Melodic Harmonization. Lecture Notes in Computer Science,
http://www.springerlink.com/content/95nx16v730344222/fulltext.pdf,
4013:218229, 2006.
94 LITERATURVERZEICHNIS