Rekombination - Jannik Arndt

Werbung
Jannik Arndt
Rekombination
Einführung in die Künstliche Kreativität
Wintersemester 2011/12
Fakultät II, Department für Informatik
Betreuende Gutachterin: PD Dr. Elke Wilkeit
Zweite Gutachterin: Prof. Dr. Violeta Dinescu (Institut für Musik)
Inhaltsverzeichnis
1
Einleitung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Hintergrund . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Gesellschaftliche Überlegungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
2
3
2
Künstliche Kreativität . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Was ist Zufall? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Was ist Kreativität? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . in der Musikspychologie? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . in der allgemeinen Psychologie? . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . im Lexikon? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . in der Informatik? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Braucht Kreativität Intelligenz (und andersherum)? . . . . . . . . . . . . . .
Das ist Kreativität! . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Warum braucht Kreativität nicht menschlich zu sein? . . . . . . . . . . . . .
Bestehende Modelle musikalischer Kreativität . . . . . . . . . . . . . . . . . . . . . . .
Regelbasierte Programmierung und Markow-Ketten . . . . . . . . . . . . .
Datengetriebene Programmierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Genetische und Evolutionäre Algorithmen . . . . . . . . . . . . . . . . . . . . . .
Neuronale Netze . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Fuzzylogik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Mathematische Modellierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Sonifikation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Ein kurzer Blick auf Menschliche Kreativität . . . . . . . . . . . . . . . . . . .
5
5
7
7
8
9
10
11
12
13
15
15
17
18
20
22
24
28
29
3
Rekombination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Vorbereitung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Konvertierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Notenanalyse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Speichern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Der Rekombinationsprozess . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
31
34
37
39
41
42
43
v
vi
4
Inhaltsverzeichnis
Funktionsweise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Evaluationsverfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Der Code im Detail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Ergebnisse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Schwierigkeiten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Analyse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Rekombination und Kreativität . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
43
44
52
54
55
56
66
Weiterführende Ansätze . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Weiter vorausschauen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Selbstadaption . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Pattern behalten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Anwendung auf andere Stile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
67
67
68
68
70
Glossar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
Literaturverzeichnis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
Sachverzeichnis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
Abschließende Erklärung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
Abbildungsverzeichnis
2.1
2.2
2.3
2.4
2.5
2.6
2.7
2.8
2.9
2.10
2.11
Herleitung der hier verwendeten Definition von Kreativität . . . . . . . . .
Eine nach Zustandsübergangs-Matrix erstellte Melodie . . . . . . . . . . . .
Übersicht über EMI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Beispiel für Musik aus einem genetischen Algorithmus . . . . . . . . . . . .
Ein einfaches Schema eines neuronalen Netzes. . . . . . . . . . . . . . . . . . .
Ein Beispiel für Musik aus einem Neuronalen Netzwerk . . . . . . . . . . .
Der Grad der Zugehörigkeit in der Fuzzy-Logik . . . . . . . . . . . . . . . . . .
Ein Beispiel für Musik aus Fuzzy Logik . . . . . . . . . . . . . . . . . . . . . . . .
Der Goldene Schnitt. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Ein Beispiel für Musik aus der Sonifikation . . . . . . . . . . . . . . . . . . . . . .
Entwürfe des Themas aus Beethovens Klavierkonzert . . . . . . . . . . . . .
12
17
18
19
20
21
22
23
26
28
30
3.1
3.2
3.3
3.4
3.5
3.6
3.7
3.8
3.9
3.10
3.11
3.12
3.13
3.14
3.15
3.16
3.17
3.18
3.19
Ein Mozart-Würfelspiel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Die Zahlentafeln aus Mozarts Würfelspiel . . . . . . . . . . . . . . . . . . . . . . .
Die vier Schritte der Rekombination . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Die Stimmumfänge der einzelnen Stimmen . . . . . . . . . . . . . . . . . . . . . .
Zuordnung der Metadaten aus den Noten . . . . . . . . . . . . . . . . . . . . . . . .
Der Weg der Noten vom gedruckten Blatt bis in eine Datei. . . . . . . . .
Verlauf: ohne Positionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Verlauf: mit Positionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Verlauf: Vermeidung großer Sprünge . . . . . . . . . . . . . . . . . . . . . . . . . . .
Verlauf: weniger Gewicht . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Verlauf: Orientierung am Stück . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Verlauf: Orientierung an Stück und Vorgänger . . . . . . . . . . . . . . . . . . .
Der Verlauf der Bewertung von End-Takten. . . . . . . . . . . . . . . . . . . . . .
Fehler im horizontalen Verlauf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Klassendiagramm der Datenstruktur. . . . . . . . . . . . . . . . . . . . . . . . . . . .
Klassendiagramm der Ausführungsebene. . . . . . . . . . . . . . . . . . . . . . . .
Eine neue Motette in Notenansicht. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Verlauf der Positionen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Anzahl der übernommenen Takte pro Motette. . . . . . . . . . . . . . . . . . . .
31
32
33
37
39
42
45
45
46
46
46
47
48
49
52
53
55
57
57
vii
Tabellenverzeichnis
2.1
2.2
Zustandsübergangs-Matrizen für Markow-Ketten . . . . . . . . . . . . . . . . . 16
Die Obertonreihe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.1
3.2
3.3
3.4
3.5
Alle Motetten von G. P. da Palestrina . . . . . . . . . . . . . . . . . . . . . . . . . . .
Alle vierstimmigen Motetten von G. P. da Palestrina . . . . . . . . . . . . . .
Die Kriterien, nach denen ein Takt evaluiert wird. . . . . . . . . . . . . . . . .
Eine rekombinierte Motette (Verlauf) . . . . . . . . . . . . . . . . . . . . . . . . . . .
Warum Rekombination die Definition von Kreativität erfüllt. . . . . . . .
34
36
44
50
66
ix
Kapitel 1
Einleitung
G EPARD , TASCHENLAMPE , K INOTICKET, BLAU GESTREIFT.
Was ist das? Was bedeutet das? Eine Aneinanderreihung von Begriffen, die augenscheinlich nicht das geringste miteinander zu tun haben. Und trotzdem stehen sie
dort. Sobald man die Frage nach der Bedeutung überdrüssig aufgegeben hat, beginnt man zu überlegen warum die Begriffe so zusammengestellt dort stehen.
Die Antwort ist einfach: Ich habe sie mir so ausgedacht. Ich habe nicht zufällig Seiten in einem Wörterbuch aufgeschlagen, ich bin auch nicht durch irgendein
erkennbares Schema darauf gestoßen, und ich versichere, dass jedes einzelne Wort
Absicht war.
Wie komme ich also darauf? Die Antwort ergibt sich, wenn man es selbst versucht: Vier Begriffe aufzählen, die absolut keinen erkennbaren Zusammenhang aufweisen (und nichts davon darf sich in Sichtweite des Lesers befinden). Diese Aufgabe, so ziellos sie erscheinen mag, beweist doch etwas sehr gewaltiges: Kreativität.
K REATIVITÄT SCHAFFT, LOSGELÖST VON Z UFALL ODER VORGEGEBENEN
S CHEMATA , U NERWARTETES .
Abgesehen von meinem Wort garantiert nichts, dass ich die oben stehenden Begriffe
nicht durch Zufall aus einem Wörterbuch gesucht habe. Daraus folgt die zweite
Erkenntnis über Kreativität:
M AN KANN VOM E RGEBNIS NICHT AUF EINEN KREATIVEN P ROZESS ZU RÜCK SCHLIESSEN .
Diese zwei Thesen zeigen hauptsächlich, wie viel wir nicht wissen. Aber was ist
Kreativität? Hat sie etwas mit Intelligenz zu tun? Sollte man sie etwa berechnen
können? Kann man sie reproduzieren? Oder aus ihr lernen?
In welchen Bereichen gibt es Kreativität? War die Erfindung des Rades kreativ?
Wie sieht es mit der Erfindung der Demokratie aus? Ist Goethes Zauberlehrling
kreativ? Beethovens Fünfte? Oder Alice im Wunderland? Was ist mit Schönbergs
Zwölftonmusik?
1
2
1 Einleitung
Ich möchte mich in dieser Arbeit auf die Kreativität in der Musik konzentrieren.
Sie ist die Kunst, auf die wir am empfindlichsten reagieren: Während wir schlechte Poesie sehr tolerant behandeln (solange sie nicht vogonischen Ursprungs ist1 ),
verziehen wir bei “falschen” Noten sofort die Miene. Während wir vor Kunstwerken stehen und uns eingestehen, diese Art der Kunst nicht zu verstehen, nennen wir
Musik, die nicht unserem Geschmack entspricht, “schlecht”.
Außerdem ist Musik eine Kunst, deren “Sprache” in Form von Noten eine komplett andere ist, als ihre eigentliche Ausdrucksform. Dieser hohe Grad der Formalisierung entspringt jahrhundertelanger Analyse. Warum sollte sich diese Formalisierung nicht auf algorithmische Vorgänge übertragen lassen können?
Algorithmische Komposition ist alt, nicht so alt wie die Musik selbst, aber deutlich älter als der Computer. Nach Regeln oder erkennbaren Schemata aneinandergereihte Noten gibt es bei Debussy, Bartók und Schönberg mit dem Ideal der Fibonaccizahlen genauso wie bei Bach in der Kunst der Fuge. Und trotzdem würde niemand
abstreiten, dass diese Komponisten kreativ waren!
In der Tat gibt es mehrere Ansätze, musikalische Kreativität zu modellieren, die
ich in Kapitel 2 vergleichen werde. Während einige recht schnell an ihre Grenzen
stoßen, zeigen andere echtes Potenzial. Der vielversprechendste Kandidat ist die
Rekombination — sie werde ich in Kapitel 3 genauer vorstellen, zusammen mit
meinem Programm, das es tatsächlich schafft, verblüffend authentische Musik der
Renaissance zu komponieren.
Hintergrund
Als ich im Frühjahr 2011 nach einem Bachelorarbeitsthema gesucht habe, das mein
Informatik- mit meinem Musikstudium kombinieren würde, habe ich von meiner
Professorin in Komposition, Violeta Dinescu, den Tipp bekommen, mich über algorithmische Komposition zu informieren.
Der Wikipedia-Artikel von damals 2 (und bis zum Schreiben der Arbeit hat sich
daran noch nicht viel getan) ist eher spärlich und zeigt, wie unklar das Gebiet definiert ist. Im gesamten Artikel findet sich nicht ein einziges Mal das Wort “kreativ”
— meiner Auffassung nach der entscheidende Unterschied zwischen Musik und reiner Tonerzeugung. Über die Literaturangaben bin ich dann auf das Werk Computer
Models of Musical Creativity von David Cope (2005) gekommen.
Cope arbeitet seit Jahren im Bereich der Künstlichen Kreativität: 1991 hat er in
Computers and Musical Style das Programm “Emmy” vorgestellt, das neue Musik
im Stil alter Komponisten komponiert. Douglas Hofstadter schrieb in Gödel Escher
Bach (1979) noch, dass es lange dauern werde, bis Programme es schaffen würden,
“beautiful music” zu schreiben. Als er im Frühjahr 1995 im Rahmen eines Cognitive Science Seminars das Thema hatte, die maßlos übertriebenen Behauptungen,
1
2
“Vogon poetry is of course the third worst in the Universe.” (Adams, 1980, S. 64)
siehe http://de.wikipedia.org/w/index.php?title=Algorithmische_Komposition&oldid=85975644
Gesellschaftliche Überlegungen
3
künstliche Intelligenz gefunden zu haben, von den tatsächlichen Funden zu trennen,
stieß er auf Copes Buch und musste seine Meinung korrigieren:
“Though I felt there were a few glitches here and there, I was impressed, for
the piece seemed to express something.” (Cope et al., 2001, S. 38)
David Cope hat das zugrunde liegende Programm seit der Entstehung 1981 immer weiter entwickelt. Computer Models in Musical Creativity fasst die bisherige
Entwicklung gut zusammen und dient daher als wichtigste Grundlage für meine Arbeit. Insbesondere für die Einleitung benutze ich aber auch Virtual Music (Cope et
al., 2001), in dem Douglas Hofstadter, Eleanor Selfridge-Field, Bernard Greenberg,
Steve Larson, Jonathan Berger und Daniel Dennett weitere Meinungen zum Thema
liefern.
Ich will und kann in dieser Arbeit nicht sämtliche Entwicklung der letzten 30
Jahre nachvollziehen oder wiederholen, sondern mich viel mehr auf die bis heute erhaltenen, wichtigsten Grundideen konzentrieren. Dabei werde ich zwar immer wieder auf die Entstehung einzelner Aspekte eingehen, aber hauptsächlich versuchen,
auf bestehenden Grundlagen aufzubauen und sozusagen ein Forscher der zweiten
Generation sein.
Gesellschaftliche Überlegungen
1948 schrieb George Orwell in seiner Dystopie 1984:
“And the Ministry had not only to supply the multifarious needs of the party, but also to repeat the whole operation at a lower level for the benefit of
the proletariat. There was a whole chain of separate departments dealing with
proletarian literature, music, drama, and entertainment generally. Here were
produced rubbishy newspapers containing almost nothing except sport, crime and astrology, sensational five-cent novelettes, films oozing with sex, and
sentimental songs which were composed entirely by mechanical means on a
special kind of kaleidoscope known as a versificator.
[. . . ]
The words of these songs were composed without any human intervention
whatever on an instrument known as a versificator.” (Orwell, 1949)
Der “Versificator” stellt maschinell Literatur und Musik für die “Proles” her, ohne
dass Parteimitglieder (gefährliche) kreative Denkprozesse führen müssten.
Obwohl das Programm, das ich in dieser Arbeit entwickelt habe, dem “Versificator” in gewisser Weise ähnelt, möchte ich doch klarstellen, dass meine Absicht
eine andere ist: Als Komponist möchte ich keinen Teil der Kunst ersetzen, aber als
Forscher möchte ich wissen, wie viel Künstliche Kreativität tatsächlich möglich ist,
wie der Weg dahin aussieht, und wie viel man dabei über menschliche Kreativität
lernen kann.
4
1 Einleitung
Garri Kasparov, Schachweltmeister von 1985 bis 2000, sagte, ein Jahr bevor er
von Deep Blue geschlagen wurde:
“To some extent, this match is a defense of the whole human race. Computers
play such a huge role in society. They are everywhere. But there is a frontier
that they must not cross. They must not cross into the area of human creativity.
It would threaten the existence of human control in such areas as art, literature
and music.” (Kasparov, 1996)
Die Debatte über die Anwendung eines “Verificators” und dessen gesellschaftliche
Konsequenzen, oder die Grenzen, die wir Computern stecken sollten, würde problemlos eine weitere Arbeit füllen und hat daher, obwohl sicherlich interessant, hier
leider keinen Platz.
Kapitel 2
Künstliche Kreativität
Was ist Zufall?
Im Zusammenhang mit Kreativität im Computer wird immer wieder die Zufälligkeit erwähnt. Vor allem in der Kunst und digitalen Bildbearbeitung (die in gewisser
Weise auch als künstlerisch angesehen werden kann) beeinflusst sie Ergebnisse zu
großen Teilen. Nicht nur hat Zufälligkeit aber nichts mit Kreativität zu tun, sie kann
im Computer einfach nicht erzeugt werden.
Zunächst zur zweiten Aussage: Computer sind nicht in der Lage, zufällig zu
handeln. Aktuelle Definitionen des Wortes sind zum Beispiel:
“etwas, was man nicht vorausgesehen hat, was nicht beabsichtigt war, was
unerwartet geschah” (Duden Online)
oder etwas moderner
“Vom Zufall spricht man dann, wenn für ein einzelnes Ereignis oder das Zusammentreffen von mehreren Ereignissen keine kausale Erklärung gegeben
werden kann. Als kausale Erklärungen für Ereignisse kommen in erster Linie
allgemeine Gesetzmäßigkeiten oder Absichten handelnder Personen in Frage.” (Wikipedia, b)
Diese Definitionen beinhalten alle einen großen Teil Subjektivität, denn dass man
etwas nicht erklären oder vorhersehen kann, heißt nicht, dass es grundsätzlich nicht
möglich ist. Wir können drei Arten von Ergebnissen, die Menschen als Zufall wahrnehmen, unterscheiden:
1. Die Ergebnisse sind zu komplex. Ein klassisches Beispiel für Zufall ist, eine
Münzen zu werfen. Hätte man jedoch die Ausstattung und Rechenkapazität,
um die Bewegung der Hand, die Rotation und Geschwindigkeit der Münze und
5
6
2 Künstliche Kreativität
die Umgebungsverhältnisse zu berechnen, so könnte man das Ergebnis voraussagen. Die Berechnung dafür erscheint nur zu komplex.
2. Die Ergebnisse sind ohne Muster. Besonders in Computern werden gerne
Zahlenreihen wie die Nachkommastellen von π oder π4 benutzt (Hofstadter,
1979, S. 717). Bislang hat man in diesen Reihen noch keine Wiederholung gefunden. Greift man aber auf bestehende Werte-Reihen zurück, sind diese reproduzierbar, und damit kausal erklärbar.
3. Die Ergebnisse sind irrelevant. Arbeitet man mit Daten, die auf Zufall basieren, zum Beispiel um komplexe Lösungen für Naturereignisse zu modellieren,
oder um ein Würfelspiel zu spielen, ist das entscheidende Kriterium meist die
Gleichverteilung (im Würfelspiel das, was Fairness genannt wird). Zufall lässt
aber auch zu, dass ein Spieler 100 Sechsen hintereinander würfelt — einem
Würfel oder Computerprogramm mit diesem Ergebnis würde man intuitiv jedoch jede Zufälligkeit absprechen. Die Verteilung lässt sich aber unabhängig
vom Zufall realisieren.
Die Frage, die von diesen drei Arten von Zufall aufgeworfen wird, ist nun, ob sich
nicht jeder Prozess irgendwie voraussagen lässt — so auch die Kreativität?
Die Quantentheorie gibt eine Antwort auf diese Frage — so komplex und musterlos, dass sie den meisten irrelevant erscheinen mag:
“Try as we might to invent a reasonable theory that can explain how a photon
‘makes up its mind’ whether to go through glass or bounce back, it is impossible to predict which way a given photon will go. Philosophers have said that
if the same circumstances don’t always produce the same results, predictions
are impossible and science will collapse. Here is a circumstance — identical
photons are always coming down in the same direction to the same piece of
glass — that produces different results. We cannot predict whether a given
photon will arrive at A or B. All we can predict is that out of 100 photons that
come down, an average of 4 will be reflected by the front surface. Does this
mean that physics, a science of great exactitude, has been reduced to calculating only the probability of an event, and not predicting exactly what will
happen? Yes.” (Feynman, 1985)
Feynman sagt, dass Zufall trotz allem existiert — zumindest auf dem Quantenniveau.
Was lernen wir aus all dem über Kreativität? Auch wenn sie noch nicht definiert ist, wird wohl niemand abstreiten, dass Kreativität eben nicht zu komplex, zu
musterlos oder zu irrelevant ist, sondern in den meisten Fällen im Nachhinein der
logischste und sinnvollste Weg war (Cope, 2005, S. 57). Sie ist nur für manche nicht
vorhersehbar.
Damit ist auch meine erste Aussage, dass Zufall kein Teil der Kreativität ist,
belegt, und also eines der häufigsten Missverständnisse über Kreativität aus dem
Weg geräumt.
Was ist Kreativität?
7
Was ist Kreativität?
Eine gute Definition von Kreativität zu finden ist ungemein schwieriger, als die
des Zufalls. Mein intuitiver Ansatzpunkt war die MGG, die Musik in Geschichte und Gegenwart, also das Standardlexikon für Musikwissenschaftler. Zu meinem
großen Erstaunen musste ich feststellen, dass hier zwischen Krasinski-Handschrift
und Krebs nichts zu finden ist.
. . . in der Musikspychologie?
Ein zweiter Ansatzpunkt liegt in der Musikpsychologie. Tatsächlich finden sich
hier einige Aussagen über Kreativität in musikalischen Kontexten: Heiner Gembris
(2008) sagt:
“In der Regel beziehen sich Untersuchungen zur Entwicklung kompositorischer Kreativität auf die Jahrzehnte nach dem 20. Lebensjahr. Der Beginn
kompositorische Kreativität im Bereich der klassischen Musik liegt jedoch
meist früher, nämlich um das 13. Lebensjahr herum.”
Im nächsten Satz zeigt er allerdings gleich selbst, dass diese Aussage keine Allgemeingültigkeit hat und nennt als Beispiel Mozart, der bereits im Alter von fünf
Jahren unbestreitbar kreativ war.
“. . . so sind auch auf dem Gebiet der Komposition etwa zehn Jahre der Vorbereitung notwendig, um ein erstes kompositorisches Meisterwerk zu produzieren. [. . . ] In diesen zehn Jahren der Vorbereitung findet eine intensive Auseinandersetzung mit den Werken anderer Komponisten statt, die von Kompositionsübungen und ersten eigenen Kompositionen begleitet ist.” (S. 165)
Insbesondere die Auseinandersetzung mit anderen Werken als Vorraussetzung für
Kreativität ist ein Aspekt, der der Künstlichen Kreativität ‘das Leben sehr viel einfacher macht’.
Nach Andreas C. Lehmann (2008, S. 339) / Robert J. Sternberg (1999) wird “der
kreative Schaffensprozess [. . . ] in Anlehnung an Wallas’[1 ] frühe Arbeiten üblicherweise in vier Phasen unterteilt”:
1.
2.
3.
4.
1
Präparation: Die Vorbereitungsphase, in der das Problem erkannt wird
Inkubation: Die Ansteckungsphase, es “wird eine Idee vorbewusst ausgebrütet”
Illumination: Die Einsicht, der Geistesblitz
Verifikation: Die Ausarbeitungsphase, hier “wird das Produkt mit Hilfe von Versuch und Irrtum hergestellt und verfeinert”
Gemeint ist Graham Wallas’ (1858-1932) Werk The Art of Thought (1926), Harcourt, Brace and
Company, New York
8
2 Künstliche Kreativität
Hier möchte ich auf das Trial-and-Error-Prinzip hinweisen, welches zum StandardRepertoire der Algorithmik zum Beispiel in rekursiven Prozessen (Selbstaufruf)
oder beim Backtracking (im Fehlerfall zurück gehen) zählt. Zum Unterschied zwischen professionell kreativen und anderen Menschen sagt Lehmann:
“Da beide auf die gleichen physiologischen und psychologischen Mechanismen zugreifen, unterscheidet sich ihr Denken vermutlich eher quantitativ,
nicht jedoch qualitativ voneinander (Weisberg, 1993).” (S. 340)
Auch diese Aussage ist eine gute Vorlage für die Rechenleistung eines Computers.
. . . in der allgemeinen Psychologie?
Auch in der allgemeinen Psychologie findet man einiges zum Thema Kreativität.
P. E. Vernon schreibt im Handbook of Creativity:
“Creativity means a person’s capacity to produce new or original ideas, insights, restructurings, inventions, or artistic objects, which are accepted by
experts as being of scientific, aesthetic, social, or technological value. In addition to novelty as our major criterion, we must incorporate in our definition
the acceptability or appropriateness of the creative product, even though this
valuation may change with the passage of time.” (Vernon, 1989, S. 94, Kursivsatz von mir hinzugefügt)
und Margaret A. Boden schreibt, wie unmöglich Kreativität aus wissenschaftlicher
Sicht erscheint (bezogen auf Definitionen wie “to bring into being or form out of
nothing”) und wie sie daher romantisiert wird. Die Konsequenz:
“People of a scientific cast of mind, anxious to avoid romanticism and obscurantism, generally define creativity in terms of ‘novel combinations of old
ideas.’ Accordingly, the surprise caused by a ‘creative’ idea is said to be due
to the improbability of the combination. [. . . ]
The novel combinations must be valuable in some way, because to call
an idea creative is to say that it is not only new, but interesting.” (Boden,
1996b, S. 75)
Obwohl sie mit dieser Definition offensichtlich nicht vollends zufrieden ist, schreibt
sie weiter:
“[. . . ] what is wrong with the combination theory? Many ideas—concepts,
theories, instruments, paintings, poems, music—that we regard as creative
[siehe Vernon!] are indeed based on unusual combinations. For instance, part
of the appeal of the Lennon-McCartney arrangement of Yesterday was their
use of a cello, something normally associated with music of a very different
kind; this combination had never happened before. Similarly, the appeal of
Heath-Robinson machines lies in the unexpected uses of everyday objects.
Was ist Kreativität?
9
Again, poets often delight us by juxtaposing seemingly unrelated concepts.
For creative ideas such as these, a combination theory (supplemented by a
psychological explanation of analogy) would go a long way, and might even
suffice.” (Boden, 1996b, S. 76)
Mit Vernon gemeinsam ist hier die Ansicht, dass Kreativität immer auch eine äußere
Komponente hat, ein Anerkennen des Ergebnisses. Neu ist, dass eine auf Rekombination gestützte Theorie unter Umständen sogar genügen könnte.
. . . im Lexikon?
Betrachtet man als dritten Bereich die allgemeinen Enzyklopädien, so ist der Brockhaus zwar sehr wenig künstlerisch orientiert, sagt jedoch
“Auch im wiss. Bereich ist eine objektive Definition kreativer Leistungen
nicht eindeutig möglich, da neuartige Ideen durch vorgegebene Wertmaßstäbe
nicht voll erfasst werden können; die soziale Akzeptanz, die nicht selten erst
spät erfolgt, muss also immer mitberücksichtigt werden.” (Brockhaus, 2006)
Auch hier werden einzelne Phasen der Kreativität aufgelistet:
1.
2.
3.
4.
5.
6.
7.
8.
Auseinandersetzung mit der Umwelt
Problemwahrnehmung und -analyse (1)
Informationssammlung
systematische oder unbewusste Hypothesenbildung (2)
Einfall, Gedankenblitz, Idee, Erleuchtung (3)
Überprüfung und Ausarbeitung (4)
Mitteilung, Kommunikation
Durchsetzung, Realisierung (kann auch mit 7 zusammenfallen)
In Klammern ergänzt sind die jeweiligen Entsprechungen im gerade vorgestellten
Modell aus der Musikpsychologie nach Lehmann/Sternberg/Wallas. Der Brockhaus
ergänzt und formuliert hier zwar mehr aus, beinhaltet aber dieselben Kernideen.
Die Encyclopædie Britannica liefert eine Definition, die sehr ähnlich zu der von
Boden oben angegriffenen ist:
“the ability to make or otherwise bring into existence something new, wheter
a new solution to a problem, a new method or device, or a new artistic object
or form.” (Encyclopædia Britannica, 1998)
Nach allen vorigen Überlegungen zu Kreativität scheint diese Definition extrem
nüchtern, zeigt damit aber, wie allgemein man sich halten muss, um eine Definition in nur einem Satz unterzubringen.
10
2 Künstliche Kreativität
. . . in der Informatik?
In seinem Buch Fluid Concepts and Creative Analogies: Computer Models of the
Fundamental Mechanisms of Thought (1995) packt Douglas Hofstadter sein Verständnis von Kreativität in einen Satz:
“Full-scale creativity consists in having a keen sense for what is interesting,
following it recursively, applying it at the meta-level, and modifying it accordingly.” (S. 313)
Aufgeschlüsselt bedeutet das
• having a keen sense for what is interesting: Mit seinem Geschmack sehr zielgerichtet den durchschnittlichen Geschmack der meisten Menschen treffen und
Abweichungen davon sehr genau wahrnehmen.
• following it recursively: Weiterhin ‘seiner Nase folgen’, also nach der anfänglich
interessanten Entscheidung unbeirrt darauf zu vertrauen, dass man richtig liegt.
• applying it at the meta-level: Ein ständiges und allgegenwärtiges Selbstbewusstsein, eine hohe Selbstaktualisierung (nach Carl Rogers), um auf seinem Weg
durch den Raum der Möglichkeiten (‘Idea Space’) zu bleiben.
• modifying it accordingly: Sich nicht inflexibel, sondern adaptiv zu verhalten, und
aus Erfolg und Versagen lernen.
Als erste Definition erwähnt diese das Ergebnis der kreativen Arbeit nicht, sondern
konzentriert sich komplett auf den Prozess. Während das vierschrittige Modell nach
Wallas und das achtschrittige aus dem Brockhaus ein Ergebnis und damit einen Abschluss am Ende sehen, legt Hofstadter den Fokus auf den Schaffenden selbst, sowie
dessen Weiterentwicklung. Damit ergänzt er die vorigen Erklärungen um ein ganz
entscheidendes Merkmal: Nicht wie funktioniert die Kreativität, sondern warum? 2
Eine in ähnlichem Maße auf den kreativen Menschen konzentrierte Definition,
die aber inhaltlich deutlich angewandter ist, stammt aus Ralf Romeikes Dissertation
über Kreativität im Informatikunterricht:
1. Die Leistung ist für das Individuum neu und nützlich bzw. sinnhaft.
2. Die Leistung geht über bekannte Verfahren und Ideen hinaus, z. B. durch Erweiterung, Kombination, Variation oder Spezialisierung bekannten Wissens und
bekannter Verfahren.
3. Die Leistung basiert auf hoher Motivation, Ausdauer und Arbeitsintensität.
4. Das ursprüngliche Problem war unklar definiert bzw. wurde durch die Person
im Fokus selbst gestellt/aufgeworfen. Die Präzisierung der Aufgabe ist damit
Teil des Prozesses. (Romeike, 2008, S. 16)
Dabei bezieht sich Romeike vor allem auf eine aus der Softwareentwicklung stammende Definition, die er für einen schulischen Kontext anpasst. Insbesondere (3) ist
hier im Vergleich zu allen bisherigen Definitionen hier neu.
2
Der Fairness halber: Der Grund liegt in der Selbstaktualisierung, die von Rogers stammt, und der
war natürlich kein Informatiker, sondern Psychologe.
Was ist Kreativität?
11
Braucht Kreativität Intelligenz (und andersherum)?
Die Encyclopædia Britannica (1998) schreibt, ein paar Zeilen unter der oben genannten Definition, weiter:
“Intelligence. A creative person is usually very intelligent in the ordinary sense of the term and can meet the problems of life as rationally as anyone can,
but often he refuses to let intellect rule; he relies strongly on intuition, [vgl.
Hofstadter] and he respects the irrational in himself and others. Above a certain level, intelligence seems to have little correlation with creativity — i.e., a
highly intelligent person may not be as highly creative. A distinction is sometimes made between convergent thinking, the analytic reasoning measured by
intelligence tests, and divergent thinking, a richness of ideas and originality
of thinking. Both seem necessary to creative performance, although in different degrees according to the task or occupation (a mathematician may exhibit
more convergent than divergent thinking and an artist the reverse).”
Sehr knapp gefasst wird Kreativität meist von Intelligenz begleitet, reine Intelligenz
setzt Kreativität jedoch nicht voraus. Cope hingegen sagt:
“I cannot imagine an intelligence that would lack creativity. Thus, regardless of differences concerning the other sources involved, intelligence requires
creativity. However, I do not feel that creativity requires intelligence, nor does
it consequently require life.
Therefore, I believe that computer programs are capable of creativity.” (Cope, 2005, S. 22)
Der letzte Satz und die Ernüchterung darüber, dass die fast grenzenlosen Erwartungen an die künstliche Intelligenz bislang nicht erfüllt wurden3 , lassen erahnen,
warum Cope dieser Meinung ist: Er befürchtet, dass wenn Kreativität nicht ohne Intelligenz auskommt, und künstliche Intelligenz im Computer nicht realisierbar ist,
auch Künstliche Kreativität nicht möglich wäre.
Die Encyclopædia Britannica sagt jedoch nicht, wie die Intelligenz in kreativen
Köpfen aussieht, oder was für eine Verwendung sie im kreativen Prozess findet —
vielmehr deutet sie an, dass Kreativität gerade auf dem Irrationalen aufbaut. Insbesondere wird auch nicht unterschieden zwischen der Intelligenz, die ohne Kreativität
auskommt und der Intelligenz, die sich mit der Kreativität zusammen ‘einen Kopf
teilt’ oder womöglich durch diese befähigt wird!
Unter diesem Gesichtspunkt kann man sich vorstellen, die beiden auf den ersten
Blick widersprüchlich erscheinenden Zitate doch zum Konsens zu führen:
K REATIVITÄT FÜR SICH GENOMMEN SETZT KEINE I NTELLIGENZ VORAUS ,
SCHAFFT JEDOCH EINE A RT VON I NTELLIGENZ , DIE OHNE SIE NICHT
AUSKÄME . I NTELLIGENZ SELBST IST JEDOCH , AUF EINE ANDERE A RT
UND W EISE , AUCH OHNE K REATIVITÄT MÖGLICH .
3
Zum Beispiel der immer noch nicht erfüllte Turing-Test und der Loebner-Preis.
12
2 Künstliche Kreativität
Das ist Kreativität!
Egal also, wo man hinschaut, man wird immer eine etwas unterschiedliche Definition von Kreativität finden. Ich möchte in dieser Arbeit eine Definition benutzen,
die sowohl den musikwissenschaftlichen, als auch den informatischen Ansprüchen
genügt, mit der allgemeinen Psychologie vereinbar ist und kurz genug, um in ein
Lexikon zu passen:
Kreativität ist ein Prozess, in dem mit hoher Arbeitsintensität, auf Basis
der Auseinandersetzung mit und Erweiterung, Kombination, Variation und
Spezialisierung von Bestehendem, Neues geschaffen wird, wobei durch ein
Gespür für Interessantes und eine starke Zielgerichtetheit auf soziale, äußere Akzeptanz Wert gelegt wird und gleichzeitig der Kreativ-Schaffende sich
selbst anhand seiner Ergebnisse anpasst und so eine Art ‘kreative’ Intelligenz
entwickelt.
Die Herleitung dieser Definition habe ich in Abbildung 2.1 dargestellt.
Informatik
Gespür für Interessantes
Zielgerichtetheit
Selbstanpassung
Erweiterung, Kombination, Variation, Spezialisierung
hohe Arbeitsintensität
Musikpsychologie
“Auseinandersetzung mit den Werken anderer”
Verifikation via Trial-and-Error
quantitativ mehr Denken
Kreativität ist ein Prozess, in dem
mit hoher Arbeitsintensität,
auf Basis der Auseinandersetzung mit und
Erweiterung, Kombination, Variation und Spezialisierung von Bestehendem,
Neues geschaffen wird, wobei
durch ein Gespür für Interessantes und eine starke Zielgerichtetheit
auf soziale, äußere Akzeptanz Wert gelegt wird
und gleichzeitig der Kreativ-Schaffende
sich selbst anhand seiner Ergebnisse anpasst
und so eine Art ‘kreative’ Intelligenz entwickelt.
Lexikon
soziale Akzeptanz
make or bring into existence something new
Intelligenz
Kreativität schafft eine Art von Intelligenz
allgemeine Psychologie
“produce new or original ideas, insights,
restructurings, inventions, artistic objects”
Akzeptanz von außen
“novel combinations of old ideas”
Abb. 2.1: Herleitung der hier verwendeten Definition von Kreativität
Was ist Kreativität?
13
Neben meiner eigenen Definition möchte ich auch noch die von David Cope
nennen, die er als Grundlage für seine Argumentation benutzt:
“[Creativity is] The initialization of connections between two or more multifaceted things, ideas, or phenomena hitherto not otherwise considered actively
connected.” (Cope, 2005, S. 11)
zu deutsch
Kreativität ist das erstmalige Verbinden von zwei oder mehr facettenreichen
Dingen, Ideen oder Erscheinungen, die bislang auf keine andere Weise als
aktiv verbunden aufgefasst wurden.
Als wichtigste Idee benutzt er die Kombination von Dingen, wobei er die “soziale,
äußere Akzeptanz” geschickt mit einer Formulierung im Passiv modifiziert und so
also nicht mehr auf eine Experternmeinung angewiesen ist, sondern die Beurteilung
irgendjemandem überlässt.
Insgesamt finde ich seine Definition zwar zweckmäßig, aber zu weit reduziert
und zu deutlich auf eine computernahe Verwendung zugeschnitten — ich habe ebenfalls versucht, die Menschlichkeit als Bedingung zu umgehen, denke aber, dass meine Definition die menschliche Kreativität ausreichender beschreibt.
Und warum braucht Kreativität nicht menschlich zu sein?
(für Skeptiker)
Oben habe ich Menschlichkeit nicht zu den Anforderungen an Kreativität gestellt,
und ich gehe davon aus, dass die meisten dagegen nicht widersprechen. Für die
Skeptiker formuliere ich die Begründung trotzdem aus, einmal in Kurz- und einmal
in Langfassung:
Die kurze Variante
S KEPTIKER : “Aber warum sollte etwas nicht-menschliches kreativ sein? Ich habe
doch bislang noch kein Tier, keine Pflanze oder kein Ding gesehen,
das kreativ war!”
JANNIK :
“Na und? Ich habe vor dem Computer auch noch kein Tier, Pflanze
oder Ding gesehen, das rechnen könnte — willst du nun abstreiten,
dass Computer rechnen könnten?”
S KEPTIKER : “Okay, diese Analogie sehe ich ein.”
oder:
“Eine Analogie alleine reicht mir nicht aus, erzähl mir die lange
Variante!”
14
2 Künstliche Kreativität
Die lange Variante
JANNIK :
“Stell dir folgendes vor: Ein Außerirdischer landet auf der Erde. Hier
angekommen schreibt er die schönste Musik, die je ein Ohr hörte,
und malt die schönsten Bilder, die je ein Auge sah. Der Außerirdische wird von allen als unabstreitbar kreativ gefeiert.”
S KEPTIKER : “Okay, das kann ich mir vorstellen.”
JANNIK :
“Als Skeptiker wirst du natürlich deine Zweifel haben, weil nichts
nicht-menschliches kreativ sein kann! Also untersuchst du den Außerirdischen und findest Beine, Arme und einen Kopf, einen Puls,
Essen und Verdauung, je weiter du schaust, umso mehr wirst du feststellen, wie sehr der Außerirdische einem Menschen ähnelt.
Aber irgendwann stirbt der Außerirdische, und bei der Obduktion
wird festgestellt, dass die Vorgänge in seinem Gehirn — auf elektrischen Impulsen basierend wie beim Menschen — so einfach sind,
dass sie mit wenig Arbeit auf einen Computer übertragen werden
können. Als der Computer gestartet wird, fängt er an, die schönste
Musik und die schönsten Bilder von sich zu geben. Nun frage ich
dich: Ist dieser Computer nun kreativ?”
S KEPTIKER : “Hm, da hast du mich ganz schön in’s Grübeln gebracht. Ich kann
zumindest nicht erkennen, wann die Kreativität aufgehört haben
sollte. . . ”
Bestehende Modelle musikalischer Kreativität
15
Bestehende Modelle musikalischer Kreativität
Es gibt bereits eine Menge Ansätze für algorithmische Komposition die, in gewisser
Weise, in Richtung einer Künstlichen Kreativität gehen. In diesem Abschnitt werde
ich einen Überblick über die sieben bekanntesten Prinzipien geben und begründen,
warum ich die Rekombination für die vielversprechendste Lösung halte.
Regelbasierte Programmierung und Markow-Ketten
(Rules-Based Programming)
Regelbasierte Programmierung ist sehr einfach. Sie besteht aus if-then-else-Anweisungen, also der Überprüfung einer Bedingung (Ist der aktuelle Schritt größer als
eine Terz aufwärts?) und Konsequenzen wenn die Bedingung wahr ist (Dann gehe
eine Sekunde abwärts.) oder falsch ist (Dann gehe eine Sekunde aufwärts.). Meistens ist eine große Menge an Regeln notwendig. Erweitert um mehrere Entscheidungsmöglichkeiten und Übergangswahrscheinlichkeiten lassen sich diese Regeln
übersichtlich in Markow-Ketten ausdrücken.
Markow-Ketten bestehen also aus verschiedenen Zuständen und Übergängen
zwischen diesen, die mit Bedingungen, Wahrscheinlichkeiten o.ä. versehen werden
können. Ein entscheidendes Kriterium bei Markow-Ketten ist deren Ordnung. Sie
gibt an, wie viele Schritte in die Vergangenheit der Entscheidungsprozess schaut,
um neue Entscheidungen zu fällen. Der oben genannte Fall, der nur den aktuellen
Zustand (die Gegenwart) betrachtet, ist eine Markow-Kette erster Ordnung. Ketten
nullter Ordnung finden Nachfolger ohne Berücksichtigung aktueller Zustände, Ketten zweiter oder höherer Ordnung betrachten jeweils die zwei oder mehr Schritte
vor Erzeugung des Nachfolgers.
Wie oben angedeutet, lässt sich diese Art des Vorgehens sehr gut für Stimmführungsregeln in der Melodieerstellung einsetzen: Hier gibt es ein klar definiertes
Repertoire an Regeln, die jeder Komponist berücksichtigen muss, wie zum Beispiel
Gegenbewegungen nach Sprüngen. Allerdings gibt es auch viele Zustandsübergänge, die nicht vorgegeben sind, sondern den Stil eines Komponisten ausmachen. Diese müssten durch Analyse aus Originalwerken abgeleitet werden.
Die Zustandübergänge lassen sich in sogenannten Zustandsübergangs-Matrizen
notieren, Tabelle 2.1 zum Beispiel zeigt dies für eine Markow-Kette erster Ordnung.
Während dieses Modell, insbesondere zur Melodieerzeugung, auf den ersten
Blick sehr geeignet wirkt, hat es doch drei entscheidende Nachteile:
• Die Erzeugung ist sehr statisch, d.h. für einen gegebenen Anfang kommt immer die gleiche Melodie heraus. Weiter noch: Benutzt man zum Beispiel eine
Markow-Kette fünften Grades, so gibt es stets nur eine sehr begrenzte Zahl an
Nachfolge-Möglichkeiten. Selbst wenn Anfänge sich unterscheiden kann es dadurch zu immer den selben Fortführungen kommen.
16
2 Künstliche Kreativität
Vorgänger
8↑
7↑
6↑
5↑
4↑
3↑
2↑
1
2↓
3↓
4↓
5↓
6↓
7↓
8↓
nächstes Intervall
8↑
7↑
6↑
5↑
4↑
3↑
2↑
1
2↓
3↓
4↓
5↓
6↓
7↓
8↓
.0
.0
.0
.0
.0
.0
.0
.1
.0
.0
.0
.0
.0
.0
.0
.0
.0
.0
.0
.0
.0
.0
.0
.0
.0
.0
.0
.0
.1
.0
.0
.0
.0
.0
.0
.0
.0
.0
.0
.0
.0
.0
.1
.0
.3
.0
.0
.0
.0
.0
.0
.0
.1
.1
.0
.1
.0
.0
.0
.0
.0
.0
.0
.0
.1
.1
.1
.1
.0
.1
.1
.3
.0
.0
.0
.1
.1
.1
.1
.1
.1
.0
.1
.1
.1
.1
.1
.1
.1
.1
.1
.1
.1
.1
.2
.2
.1
.1
.0
.3
.3
.1
.3
.3
.2
.2
.2
.2
.2
.1
.1
.1
.0
.1
.1
.1
.2
.3
.3
.1
.3
.3
.3
.3
.3
.2
.3
.1
.1
.1
.1
.1
.1
.1
.1
.1
.1
.1
.1
.1
.1
.2
.1
.3
.2
.1
.1
.1
.1
.1
.1
.1
.1
.1
.1
.1
.0
.1
.1
.1
.1
.1
.0
.0
.0
.0
.0
.0
.1
.0
.1
.0
.1
.2
.0
.0
.0
.0
.0
.0
.0
.0
.1
.0
.0
.0
.0
.1
.0
.0
.0
.0
.0
.0
.1
.1
.1
.0
.0
.0
.0
.0
.0
.0
.0
.0
.0
.0
.0
.0
.0
.0
.0
.0
.0
.0
.2
.0
.0
.0
.0
.0
.0
.0
.0
Tabelle 2.1: Zustandsübergangs-Matrizen für Markow-Ketten ersten Grades, die
Werte sind Wahrscheinlichkeiten, die Intervalle sind Prime (1) bis Oktave (8), wobei
eine Prime einer Tonwiederholung entspricht!
• Es fehlt ein “Denken im Großen”: Während jeder einzelne Melodieschritt zwar
den Regeln entspricht, verfolgt die Melodie kein Ziel, sie entwickelt sich in keiner Weise. Erhöht man den Grad der Markow-Kette wirkt man dem zwar entgegen, nimmt aber in Kauf, dass
– die Komplexität exponentiell steigt: Für jeden Grad mehr hat die Zustandsübergangs-Matrix eine Dimension mehr. Während die Zahl der Reihen und
Spalten gleich bleibt und der Rechenaufwand für den Computer dadurch nicht
allzu kritisch wird, sollte immer bedacht werden, dass die Matrix auch mit
Werten gefüllt werden muss. Die Matrix in Abbildung 2.1 betrachtet nur tonleitereigene Schritte bis zu Sexte und hat damit 132 = 169 Einträge. Für Fünf
Dimensionen wären das schon 135 = 317.293 Einträge.
Will man die Matrix automatisiert anhand eines bestehenden Werkes füllen,
muss man je 12 Halbtonschritte in beide Richtungen betrachten, also 252 =
625 Einträge, für fünf Dimensionen ergeben sich 255 = 9.765.625 Einträge.
– der Algorithmus aufgrund der strengen Regeln und begrenzten Möglichkeiten
nur Originalmelodien ausgibt und keine neuen erzeugt.
• Allein, dass eine Melodie regelkonform ist garantiert noch lang nicht, dass sie
“schön” ist, und somit das für Kreativität erforderliche Kriterium des Strebens
nach äußerer Anerkennung erfüllt.
Um zu zeigen, dass der Ansatz trotz dieser Nachteile theoretisch gute Ergebnisse
liefern kann, möchte ich hier ein Beispiel für eine Melodie geben, die durch die
Tabelle oben entstehen kann:
Bestehende Modelle musikalischer Kreativität
17
Wählt man 8↑ als Anfang entsteht zum Beispiel folgende Intervall-Folge:
8 ↑, 2 ↓, 3 ↓, 2 ↑, 2 ↑, 2 ↑, 8 ↓, 6 ↑, 2 ↓, 5 ↓, 4 ↑,
2 ↓, 3 ↓, 2 ↑, 2 ↑, 2 ↑, 3 ↓, 3 ↓, 2 ↑, 2 ↑, 2 ↑, 3 ↓
In Noten ausgedrückt (wobei noch kein Rhythmus zugewiesen ist), sieht dies wie
folgt aus:
Abb. 2.2: Eine mit Hilfe der Zustandsübergangs-Matrix in Tabelle 2.1 erstellte Melodie
Datengetriebene Programmierung
(Data-Driven Programming)
Datengetriebene Programmierung analysiert bestehende Daten und erstellt daraus
neue Musik. Die eben beschriebenen Markow-Ketten können ihre Regeln ebenfalls
aus Daten ableiten und überschneiden sich in diesem Punkt mit datengetriebenen
Algorithmen. Diese gehen jedoch über die Fähigkeiten reiner Regeln hinaus.
Der Ansatz von David Cope liegt in der datengetriebenen Programmierung, Abbildung 2.3 zeigt den Ablauf des “Experiments in Musical Intelligence”-Programms
(auch EMI oder Emmy) in einem Flussdiagramm.
Auf den ersten Blick scheint ein Prozess, der nur aufgrund bereits bestehender
Daten neue erzeugt, nicht sehr kreativ. Ich möchte jedoch auf die Musikpsychologie
verweisen, die zeigt, dass Kreativität in menschlichen Komponisten die Beschäftigung und Auseinandersetzung mit Werken anderer Künstler voraussetzt. Darüber
hinaus ist Kreativität die “Erweiterung, Kombination, Variation und Spezialisierung
von Bestehendem”.
Mit Analyse und eben diesen vier Grundwerkzeugen ist zwar bislang nur der erste
Teil der Definition von Kreativität erfüllt, es ist aber deutlich erkennbar, dass der
Ansatz der datengetriebenen Programmierung das größte Potenzial für Künstliche
Kreativität besitzt.
Ich werde die Details dieses Ansatzes in Kapitel 3 genauer beschreiben.
18
2 Künstliche Kreativität
Komponist
Mustervergleich
Datenbank
Analyse
Kompositionsprogramm
Komposition
Abb. 2.3: Eine Übersicht über das Programm “Experiments in Musical Intelligence”, übersetzt aus Cope (2005, S. 64)
Genetische und Evolutionäre Algorithmen
(Genetic Algorithms)
Genetische oder evolutionäre Algorithmen werden meist für Probleme eingesetzt,
deren Optimum nicht bekannt ist, wobei aber für jeden Lösungskandidaten eine Fitness berechnet werden kann, welche die Lösung bewertbar macht. Über Mutationen
und Vererbung bestimmter Eigenschaften werden aus der Population der potenziellen Lösungen immer neue Lösungen generiert, bewertet und selektiert — dabei
“überleben” nur die mit der höchsten Fitness (“survival of the fittest”).
“Mittlerweile haben sich evolutionäre Methoden in der Praxis als robuste und
erfolgreiche Optimierungsalgorithmen etabliert. Ihr Vorteil gegenüber problemspezifischen Methoden liegt in ihrer universellen Einsatzfähigkeit. Sie
verwenden keinerlei Wissen über die Struktur des zu optimierenden Problems
und haben daher kaum Anforderungen an den Suchraum. Jeder Lösung muss
lediglich eine Qualität zugeordnet werden können.” (Kramer, 2009, S. 13,
Kursivsatz von mir hinzugefügt)
Evolutionäre Algorithmen sind zwar für eine Menge mathematischer Probleme geeignet, ich denke allerdings nicht, dass sie ohne Wissen in irgendeiner Form kreativ
Bestehende Modelle musikalischer Kreativität
19
sein könnten — ihnen fehlt beim “wandern” durch den Suchraum jegliche Richtung
oder Ziel.
Genetische Algorithmen sind eine Abwandlung der evolutionären und werden
zum Beispiel eingesetzt, um Programme für Laufroboter zu entwickeln (Kramer,
2009, S. 20). Cope gibt in seinem Buch (2005, S. 70) ein Beispiel für Musik, die
von einem sehr einfachen genetischen Algorithmus komponiert wurde, welches ich
in Abbildung 2.4 neu gesetzt habe. Obwohl man die Algorithmen auch deutlich
komplexer gestalten kann, und damit akzeptablere Lösungen produziert, bleibt auch
hier die selbe Beschränkung, nämlich dass der Algorithmus selbst mit Musik gar
nicht in Berührung kommt, sondern nur seine Ergebnisse musikalisch interpretiert
werden.
Abb. 2.4: Ein Beispiel für Musik, die von einem einfachen genetischen Algorithmus
komponiert wurde, nach Cope (2005, S.70)
20
2 Künstliche Kreativität
Neuronale Netze
(Neural Networks)
Die Idee hinter künstlichen neuronalen Netzen ist, die Struktur des menschlichen
Gehirns zu modellieren. Ein einzelnes Neuron hat dabei in der Regel mehrere Eingangsverbindungen und eine oder mehr Ausgangsverbindungen; das Aktionspotenzial bestimmt, in welcher Kombination (Intensität, Dauer, Frequenz) Reize eingehen
müssen, damit das Neuron “feuert”.
“Das menschliche Gehirn enthält schätzungsweise 1011 Neuronen, und die
meisten dieser Neuronen erhalten Informationen von tausend oder mehr Synapsen; daher gibt es im menschen Gehirn mehr als 1014 Synapsen. Darin liegt
die schier unerschöpfliche Fähigkeit des menschlichen Gehirns zur Informationsverarbeitung.” (Purves, 2006, S. 1052)
Ausgang
Backpropagation
Innere
Neuronen
Eingang
Abb. 2.5: Ein einfaches Schema eines neuronalen Netzes.
Abbildung 2.5 zeigt das Schema eines sehr simplen Netzes4 . Es ist in mehrere
Schichten aufgeteilt, in einem sogenannten Feedforward-Netz sind aufeinanderfolgende Schichten dabei vollvernetzt (Kramer, 2009). Der Inhalt neuronaler Netze
wird nicht vom Programmierer bestimmt, sondern muss vom Netz “gelernt” werden, indem es mit Beispielen von Problemen und Lösungen trainiert wird:
4
Genauer: Ein mehrlagiges Perzeptron. Es gibt eine Vielzahl weiterer künstlicher neuronaler Netze, dieses ist jedoch in Zusammenhang mit Komposition am weitesten erforscht.
Bestehende Modelle musikalischer Kreativität
21
“[The training] involves presenting the network with a series of samples of the
problem to be solved and an example of a solution for each sample problem.
Given enough training material, the neural network should be able to learn
the underlying aspects of the solutions. Should a similar problem appear, the
network then retrieves these aspects to solve it.” (Miranda, 2001, S. 112)
Der Lernprozess wird durch Forward- und Backpropagation realisiert, das heißt
dass der Algorithmus Ein- und Ausgabe vergleicht und dann so lange die inneren
Neuronen (hidden units) variiert, bis das Verhältnis von Ein- zu Ausgabe in etwa
den bisher trainierten Verhältnissen entspricht.
Komponisten können ein neuronales Netz nun mit verschiedenen Kompositionen des selben Stils trainieren, oder aber zwei verschiedene Stile mischen, so zum
Beispiel bei Hörnel und Menzel (1998).
Die größte Schwierigkeit an neuronalen Netzen ist, dass es für Menschen praktisch unmöglich ist, sämtliche Vorgänge in einem komplexen Netzwerk nachzuvollziehen. Wie in der Einleitung bereits festgestellt, ist nicht gegeben, dass man von
einem Ergebnis auf einen kreativen Prozess zurück schließen kann. Auch gibt es
bislang keine Veröffentlichungen5 , die “ernsthafte musikalische Konsequenzen” mit
sich gezogen hätten (Cope, 2005, S. 72).
{
6
&4
? 46 Ó
{
5
& Ó
∑
œœ ˙˙ ™™
œ ˙™
≈
?
{
Ϫ
& ≈J Œ
9
?
w™
Ϫ
≈ J Œ Œ Ó™
∑
w™
#œ
œ #œ Ó™
∑
∑
Œ
Ó™
∑
w
w ™™
w™
#œœœœœœ œœœœ œœœœ ˙˙
∑
˙
Œ ˙
˙
∑
#˙ ™
˙™
∑
∑
∑
œ
œ Œ Œ
œ
∑
Ϫ
≈J Œ
∑
Œ
Ó™
w™
Abb. 2.6: Ein Beispiel für Musik aus einem Neuronalen Netzwerk, nach Cope
(2005, S.72)
5
Nachdem Dominik Hörnel bei Prof. Dr. Wolfram Menzel in Karlsruhe 2000 zu diesem Thema
promoviert hat, hat er aus den Ergebnissen seiner Arbeit das Programm tonica fugata entwickelt
und ist nun “Architect and Developer” bei scorio.com.
22
2 Künstliche Kreativität
Fuzzylogik
(Fuzzy Logic)
Grad der Zugehörigkeit
Fuzzylogik (zu deutsch ‘unscharfe Logik’) ist ein Mittel, um nicht genau definierte
Begriffe zu modellieren. Beispiele wie ‘warm’, ‘schnell’ oder ‘laut’ finden sich im
Sprachgebrauch zu Hauf. Sie variieren von Mensch zu Mensch und Situation zu
Situation, daher kann man sie nicht auf eine exakte physikalische Größe definieren.
Fuzzylogik zeichnet sich durch eine Zugehörigkeitsfunktion aus, die für jeden
Begriff 6 angibt, zu welchem Grad ein Element aus einer physikalischen Skala ihm
angehört. So könnte man dem Begriff ‘kalt’ den Wert 18◦ C mit dem Grad 0.6 zuordnen, und dem Begriff ‘warm’ den selben Wert mit dem Grad 0.4. Der Begriff
‘warm’ hat aber noch viele weitere Werte, so gehört 10◦ C nur mit dem Grad 0.1
dazu, 30◦ C aber schon mit 0.9, und alles darüber mit 1.0. Abbildung 2.7 zeigt diese
Art der Zuordnung. Jeder Begriff hat dabei seine eigene Zugehörigkeitsfunktion.
1
0.5
kalt
0
8
warm
16
24
32
40
Temperatur in °C
Abb. 2.7: Der Grad der Zugehörigkeit von Temperaturen zu den unscharfen Begriffen “kalt” und “warm”.
Fuzzylogik wird zum Beispiel zur Steuerung in Automatikgetrieben im Auto,
Autofokus-Prädikation in Spiegelreflexkameras oder der Intelligenten Schadens6
Ich versuche in dieser Beschreibung gezielt, auf Mengentheorie zu verzichten. Dem Mathematiker wird aber auffallen, dass der ‘Begriff’ eben genau eine Menge meint.
Bestehende Modelle musikalischer Kreativität
23
prüfung, die Versicherungen vor Betrug schützt, eingesetzt (Wikipedia, c). In der
Musik eignet sich Fuzzylogik besonders, um schwierige Passagen zu analysieren.
Dazu zählen zum Beispiel Tonartmodulationen, während der Akkorde oder Töne
verschiedenen Tonarten angehören können und unterschiedlich interpretiert werden
können. Auch die Funktionsbestimmung ist nicht immer eindeutig möglich — gerade, wenn die musikalischen Daten nur im Midi-Format vorliegen und es so zu
enharmonischen Verwechslungen kommen kann (das heißt zum Beispiel, dass ein
C] und ein D[ als derselbe Ton gespeichert werden). Mit Hilfe der Fuzzylogik können Harmonien so gleichzeitig zu mehreren Tonarten gehören. Im Verlauf wird dann
klar, welche die richtige ist.
Auch in der sehr schwierigen Rhythmusanalyse von gespielten Stücken können
zusammenhängende Akkorde, die eine gewisse Ungenauigkeit haben, als zusammengehörig erkannt werden.
Aus dieser besonderen Art der Analyse können kompositorische Regeln abgeleitet werden, aus denen dann wieder neue Musik erstellt werden kann. Dies ist ein
Ansatz der, obwohl nicht einfach, durchaus Potenzial hat, kreativ zu sein: Durch eine sehr eigene Art der Auseinandersetzung schafft er Neues und hat dabei ein sehr
hoch entwickeltes Gespür für Interessantes. Allerdings beschränken sich sämtliche
bisherigen Versuche auf sehr einfache Musikstile oder Situationen (Elsea, 1995).
{
9
& 8 Ó™
‰
‰
≈ r #œ ™
œ
œ
œ
J
Ϫ
? 98 œ bœ œ #œ nœ œ œ œ œ #œ nœ œ bœ œ #œ œ œ nœ œ œ #œ nœ nœ bœ œ #œ œ nœ bœ #œ nœ œ #œ œ #œ nœ
{
3
& ‰ nœ
?
{
bœ
œ. œ
bœ ™
‰ #œ nœ
œ
œ #œ
j
œ #œ
nœ
#œ nœ nœ œ nœ
nœ bœ œ nœ œ bœ nœ œ œ #œ œ œ bœ œ nœ bœ nœ œ bœ nœ bœ
bœ nœ œ bœ œ œ bœ nœ œ
5
& nœ ™
? œ
œ #œ bœ
œ
œ
œ nœ nœ bœ
œ
‰
‰
œ
œ #œ nœ
‰
≈
r
œ
œ #œ nœ nœ
Abb. 2.8: Ein Beispiel für Musik aus Fuzzy Logik, nach Cope (2005, S.74)
24
2 Künstliche Kreativität
Mathematische Modellierung
(Mathematical Modeling)
Musik hat, wenn man genauer hinschaut, sehr viele mathematische Aspekte. Ich
möchte das kurz an der Obertonreihe deutlich machen:
Jeder Ton schwingt auf einer bestimmten Frequenz, der “Kammerton A” zum
Beispiel auf 440 Hz7 , das tiefe C bei 66 Hz. Verdoppelt man die Schwingung, so
trifft man mit 132 Hz genau die Oktave darüber, also das kleine c. Vervierfacht man
den Grundton, erhält man das c0 darüber, mit 264 Hz. Folgendes Muster ergibt sich:
Grundton
Grundton
Grundton
Grundton
Grundton
· 20
· 21
· 22
· 23
· 24
=
=
=
=
=
66 Hz
132 Hz
264 Hz
528 Hz
1056 Hz
=
=
=
=
=
C
c
c0
c00
c000
Betrachtet man alle Schwingungen, kommt man zu Tabelle 2.2.
Obertöne schwingen bei allen Tönen außer einem reinen Sinuston immer mit,
die Kombination daraus, welche genau und wie laut schwingen, erzeugt den charakteristischen Klang eines Instruments.
Auch erkennt man, dass Akkorde meist aus Obertönen bestehen, der C-DurDreiklang zum Beispiel hat neben dem C (1., 2., 4., 8., usw. Ton) noch die Dur-Terz
E (5., 10., 20., usw. Ton) und die Quinte G (3., 6., 12., usw. Ton). Aus den Akkorden
leiten sich wiederum alle Harmonien und damit auch jede Melodie her.
Bei einer so mathematischen Grundlage der Musik kann man leicht verstehen,
warum Komponisten versucht haben, mathematische Strukturen in ihre Werke einzubauen. Besonders beliebt sind dabei die Fibonacci-Folge und der Goldene Schnitt
gewesen: Die Fibonacci-Folge wird rekursiv gebildet, wobei die 0 und die 1 vorgegeben sind und jede weitere Zahl sich aus der Summe ihrer beiden Vorgänger
ergibt:
f1 = 0
f6 = 2 + 3 = 5
f2 = 1
f7 = 3 + 5 = 8
f3 = 0 + 1 = 1
f8 = 5 + 8 = 13
f4 = 1 + 1 = 2
f9 = 8 + 13 = 21
f5 = 1 + 2 = 3
fn = fn−2 + fn−1
In der Natur findet sich diese Folge zum Beispiel bei der Anordnung von Samen
in Blütenständen oder bei der Anordnung von Blättern an einem Pflanzenstängel
(zur bestmöglichen Lichtausbeute). Johannes Kepler hat gezeigt, dass zwei aufeinanderfolgende Fibonacci-Zahlen durcheinander geteilt annähernd die Goldene Zahl
Φ ergeben:
7
Die Stimmung in Orchestern mit Querflöten liegt i.d.R. höher, es handelt sich hierbei also eher
um eine Konvention als eine genaue Definition.
Bestehende Modelle musikalischer Kreativität
Note
Ton
Schwingung
25
Frequenz
(Hz)
c
66
C
132
g
198
c0
264
e0
330
g0
396
≈ b0
462
c00
528
d 00
594
e00
660
≈ f 00
726
g00
792
≈ as00
858
b00
924
h00
990
c000
1056
Tabelle 2.2: Die Obertonreihe
26
2 Künstliche Kreativität
3
1
= 1+
2
1 + 11
= 1.5
5
1
= 1+
3
1+
≈ 1.66
8
1
= 1+
5
1+
= 1.6
1
1+ 11
1
1+ 1 1
1+
1
...
fn−1
= 1+
fn
1+
1
=
1
1+
1
1+
√
1+ 5
=Φ
2
≈ 1.618
1
1
1+ ...
“Zum Beispiel stehen zwei Teile einer Strecke im Verhältnis Φ, wenn sich der
größere zum kleineren Teil verhält wie die ganze Strecke zum größeren Teil.”
(Wikipedia, a)
ca. 61.8 %
ca. 38.2 %
Abb. 2.9: Der Goldene Schnitt.
Dieses Verhältnis wird seit der Antike als ästhetisch und harmonisch angesehen, es
findet Verwendung in Architektur, Biologie, Bildkomposition und Fotografie oder
in der Anordnung der Monde von Jupiter, Saturn und Uranus (Kramer, 1973). In
der Musik ist der Goldene Schnitt zwar nicht inhärent vorhanden, wird aber gerne
damit verbunden: Zum Beispiel sind die F-Löcher der Violinen des Geigenbauers
Stradivari nach dem Goldenen Schnitt positioniert (McLendon, 1943).
Auch in der Komposition gibt es immer wieder Versuche, den Goldenen Schnitt
und die Fibonacci-Folge zu benutzen. Kramer (1973) gibt als Begründung dafür:
“It avoids periodicity and regularity, yet it is well ordered and it has properties
that accomplish similar results to the arithmetic and geometric properties of
the earlier series. There are perhaps five properties of the Fibonacci series that
are relevant to its use in music; in some excerpts some of these properties
are more important than others, but they are all necessarily present when a
composer choses to use the series.”
Weiter nennt er die folgenden fünf Merkmale der Folge:
1.
2.
3.
4.
ihre additive Eigenschaft, im Vergleich zu Folgen mit gleichen Abständen
ihren Zusammenhang mit dem Goldenen Schnitt
ihre Proportionalität
ihre 3 : 2-Eigenschaft (nach Stockhausen)
Bestehende Modelle musikalischer Kreativität
27
5. ihre “relative Prim-Eigenschaft”, d.h. dass zwei aufeinanderfolgende FibonacciZahlen nie einen gemeinsamen Teiler haben
Unter den Komponisten, die auf diese Art Mathematik in ihre Kompositionen haben einfließen lassen, ist Béla Bartók (1881–1945) das beste Beispiel. Der Musikwissenschaftler Ernö Lendvai nennt hier den Allegro Barbaro (1911), der deutlich
Gruppierungen nach dem Schema 5, 8, 5, 5, 3, 13, 8 aufweist, sowie die Sonate für 2
Klaviere und Schlagzeug (1937), die von der Einteilung der Sätze bis zu Strukturen
auf kleinstem Niveau am Goldenen Schnitt gehalten ist.
Neuerer Vertreter ist Karlheinz Stockhausen (1928–2007), dessen Werk Klavierstück IX (1962) Fibonacci-Zahlen in fast jedem Aspekt verwendet. Das Stück Adieu
für Bläserquintett (1966) ist ebenfalls nach Fibonacci-Zahlen (von 1 bis 144) aufgeteilt.
Als weiteren Komponisten findet sich Claude Debussy (1862–1918), dessen
Werk Reflets dans l’eau (1905) aus den Images die Zahlen 34, 21, 13 und 8 als
Tonfolge benutzt.
Auch Igor Stravinsky (1882–1971) hat Gebrauch vom Goldenen Schnitt gemacht. Als Werke werden hier gerne die Symphonies d’instruments à vent (1947),
die Sonate für zwei Klaviere (1943), die Drei Stücke für Streichquartett (1914) und
In Memoriam Dylan Thomas (1954) genannt (Madden, 2005, S. 301–303).
Zwar ist es kreativ, mathematische Aspekte in seine Musik einfließen zu lassen,
diese sind aber der Musik nicht inhärent. So ist nur die Idee, nicht aber das Ergebnis solch eines Prozesses kreativ, weshalb dieser Ansatz für Künstliche Kreativität
ausscheidet.
28
2 Künstliche Kreativität
Sonifikation
(Sonification)
Sonifikation (“Verklanglichung”) ist die Interpretation von Nicht-Audio-Material
als Audio-Material. Dies wird häufig benutzt, um Strukturen, die nicht leicht sichtbar oder auf eine andere Art wahrnehmbar sind, zu erkennen. Ein Beispiel hierfür ist der Geiger-Müller-Zähler zur Messung radioaktiver Strahlung, aber auch
die Analyse von Aktienmärkten soll durch Sonifikation erleichtert werden (Cope,
2005, S. 76).
Cope berichtet, dass sein Programm zwar in den meisten Fällen willkürlich
klingt, bei Cassiopeia-A Daten aus dem Very Large Array Radioteleskop in New
Mexico aber teilweise zu “harmonisch klingender Musik” geführt hat. Diese Ergebnisse könnten zwar als ‘Muzak’ (Fahrstuhlmusik) akzeptabel sein, zeigen jedoch
keine Züge von Kreativität.
{
œ
bœ
œ œ œ œ
bœ
bœ
& c b œ œ bœ œ œ œ œ œ œ œ
bœ bœ œ œ
œ œ œ œ œ œ œ bbœœ
? c b œ œ bœ œ œbœœ œ œ œ œ œ
{
nœ
bœ
& b œ bœ #œ œ
b œ bœ œ œ
? bœ œ œ
3
{
3
œ
bœ
b œœ
bœ œ bœ
œ nœ b œ
œœ œ œœ œ
bœ œ
œ
œ bœ œ bbœœ œ œ
b œ œ b œœ œ œ œ œœ œ
œ
œ œ
œ
œ œ œ œ œ
œ bœ œ œ
œœ œ b œœ bb œœ œ bb œœ œœ œ œ œœ œ œ œ œœ œœ œ
œ
œ œ
œ œ
œ bœ
œœ
œ œœ bœ
œ œ nbœœ œœ
bœ
bœœ
bœ œ bœ œ
bœ bœ bœœ œ œ œ œœ nœ œœ œœ œ œœ
bœ bœ œ œ œ bbœœ
bœ œb œ œ
œ. œ œ œœ œ œ œœ bbœœ b œ œ b œœ œœ œ œ
? b œ bœ œ œ œbœœ œ œ
œ
œ
5
bœ
&bœ
œ nœ œœ
œ
œœ b œ
œœ œ
œœ œ œœ
œ nœ œœ
œ
œœ bœ œ œœ œœ b œœ œœ
Abb. 2.10: Ein Beispiel für Musik aus der Sonifikation eines Barometers bei Gewitter, nach Cope (2005, S.79)
Bestehende Modelle musikalischer Kreativität
29
Ein kurzer Blick auf Menschliche Kreativität
Nachdem ich aus verschiedenen Wissenschaften eine Definition abgeleitet habe und
nun verschiedene Modelle von computerbasierter Kreativität — oder zumindest
dem Versuch solch einer — vorgestellt habe, möchte ich einen kurzen Blick darauf werfen, wie im Original komponiert wird.
Künstler haben viele verschiedene Herangehensweisen an ihr Werk — Bildhauer unterscheiden sich von Malern, die wieder von Dichtern und diese sicherlich von
Tänzern. Auch Musiker unter sich haben verschiedene Methoden: Einige planen,
revidieren, skizzieren und entwickeln in vielen Einzelschritten, während andere —
hier wäre Mozart zu nennen — “aus dem nichts heraus” ein Werk in seiner Endfassung niederschreiben. Beethoven ist eindeutig den “Planern” zuzuordnen, er hat
Unmengen an musikalischen Skizzen hinterlassen.
Das Klavierkonzert in D-Dur (Hess 15) wäre sein sechstes gewesen, wenn
Beethoven es nicht, nachdem er 1814–15 daran gearbeitet hatte, aufgegeben hätte. Obwohl es recht unbekannt ist, zeigen die Skizzen doch sehr ausführlich, wie
Beethoven gearbeitet hat (Cook, 1989).
Abbildung 2.11 zeigt chronologisch wie Beethoven schrittweise das Thema erarbeitet, dabei vorherige Ideen revidiert, aber auch aus früheren Entwürfen Passagen
wieder aufnimmt. Der einzige Takt, der aus dem Anfang enthalten bleibt, ist der
zweite, mit einer minimalen rhythmischen Variation. Die Takte drei und vier beginnen in D, bleiben von E bis J erhalten, bis in K der dritte plötzlich variiert wird,
während der vierte bleibt.
Der erste Takt kommt in drei Variationen vor, die in A, B und C eingeführt werden. Die C-Variante bleibt zunächst, wird in G-I dann von der A-Variante abgelöst
und letztendlich in J und K durch die B-Variante ersetzt.
Alle weiteren Verläufe hängen sehr stark von den ersten zwei bis vier Takten ab.
Diese Variationen werfen ein interessantes Licht auf die oben genannte Definition von Kreativität: Beethoven schafft zunächst eine Auswahl verschiedener Möglichkeiten, einige sehr schlicht (A), andere mit chromatischen Ausschweifungen
(E, H), wobei diese für sich genommen offenbar ungenügend waren. Aus dieser
Auswahl hat er dann die Variante K, die seinen Anforderungen gerecht wird, sowohl gradlinig als auch chromatisch ist, rekombiniert.
30
# ˙
A &#
2 Künstliche Kreativität
œ œ œœœœœ
œ ˙
œ œ w
˙™
œ ˙
Ó
# ˙ œ œ œœ œœœœœ ˙ Ó
œ
B &#
œ ˙ œœœœ œ œ
# ˙™ œ œ œ œ œ œ œ ˙ œ œ œ œ ˙ œ œ œ
Ó
œ
C &#
˙ œ œ œ œ #œ œ œ nœ
# ˙ ™ œ œ œ œœ œ œ ˙ œ œ ˙ œ œ œ œ
œ œœœ
œ
D &#
# ˙™ œ œ œ œ œ œ œ
œœ w
œ ˙
E &#
# ˙™ œ œ œ œ œ œ œ
œ w
œ ˙ œ
F &#
# ˙ œ œ œœœœœ
œ w
œ ˙ œ
G &#
# ˙ œ œ œœœœœ ˙ œ œ w
œ
H &#
# ˙ œ œ œœœœœ
œœ w
œ ˙
I &#
# ˙ œ œ œœ œœœœœ‰ j‰ ˙ œ œ w
J œ
J &#
œ#œ œ œ nœ
#œ
˙ #œ œ œ œ
œ œ œ œ œ #œ œ
˙ #œ œ œ œ
Œ Ó
œ#œ œ œ œ
˙ œœ œœ
#œ
œ #œ ˙ nœ œ œ œ œ œ œ ˙
#œ œ
nœ œ
˙ #œ œ ˙ œ
œ œ #œ œ œ
˙ œœ ˙ œ
œ œ œ œ œœ œ œ œ
˙ œœ ˙ œ
œ œ ˙ œœ œœ
# ˙ œ œ œ œ œ œ œ œ œ ‰ j n˙ œ œ œ œ w
J œ‰
K &#
˙ bœ nœ w
˙ ˙
˙ œ
Œ
Abb. 2.11: Entwürfe des Themas aus Beethovens Klavierkonzert in D-Dur (unvollendet), 1815, aus: Cook (1989, S. 346, 352) , zusammengefasst nach Cope
(2005, S. 82).
Kapitel 3
Rekombination
T
ADMI
ONE
Einer der ältesten bekannten Kompositionsalgorithmen wird Wolfgang Amadeus
Mozart zugeschrieben: Das Musikalische Würfelspiel — “Eine Anleitung, Walzer
oder Schleifer mit zwei Würfeln zu componieren ohne Musikalisch zu seyn, noch
von der Composition etwas zu verstehen” (Mozart, 1793) — beinhaltet zwei Zahlentafeln, aus denen man mit acht Würfen von zwei Würfeln Zahlen erhält, welche
die ersten acht Takte ergeben. Das gleiche wiederholt man mit einer zweiten Tafel und schaut die Takte im Notenteil nach. Dieser stellt 176 verschiedene Takte
zur Verfügung. Insgesamt können aus diesem Zahlenspiel so 2 · 118 = 428.717.762
verschiedene Walzer komponiert werden (zum Beispiel der aus Abbildung 3.1).
Abb. 3.1: Ein Mozart-Würfelspiel mit den Würfen 10, 11, 2, 6, 7, 3, 6, 12 und
8, 7, 7, 4, 5, 12, 3, 8.
31
32
3 Rekombination
(a) 1. Walzerteil
(b) 2. Walzerteil
Abb. 3.2: Die Zahlentafeln aus Mozarts Würfelspiel
Ähnliche Würfelspiele finden sich auch bei Kirnberger (1757), Stadler (1781),
Haydn (um 1790) und C.P.E. Bach (um 1790) (Köchel und Giegling, 1965).
Obwohl der Titel besagt, dass man weder musikalisch sein, noch etwas von Komposition verstehen müsste, um mit dieser Hilfe zu komponieren, sind die Ergebnisse
durchaus sehr beeindruckend. Die Idee, die dieses Würfelspiel funktionieren lässt,
ist einfach: Genau wie sämtliche großartigen Werke der Literatur aus den selben 26
Buchstaben bestehen, bestehen alle Musikstücke aus den selben 12 Tönen1 — wir
erleben sie nur jedes Mal in einer neuen Kombination, einer Rekombination, die wir
noch nicht kannten. Mein Programm macht sich dies zu Nutze.
Rekombination zählt zu den datengetriebenen Algorithmen, das heißt der Prozess, der neue Musik erstellt, benötigt dafür bereits vorhandene. Die Qualität des
neuen Werks steigt mit der Größe der Datenbank der bestehenden Werke. Der grobe Ablauf des Algorithmus kann in vier Schritte (siehe Abbildung 3.3) unterteilt
werden:
1. Takte isolieren: Die Dateien, in denen die Musik enthalten ist, werden ausgelesen und in einzelne Takte aufgeteilt.
2. Takte analysieren: Takte werden durch ihre ersten Noten und ihre Zielnoten
charakterisiert (siehe Abbildung 3.5).
3. Takte und Metadaten in Datenbank speichern: Zusätzlich zu den musikalischen
Informationen werden Informationen über den Takt (die Metadaten) gespei1
Oder auch mehr: Verschiedene Alphabete haben mehr (oder weniger) Buchstaben, und in der
Musik kann man argumentieren, dass okativierte Töne neue Töne seien. Es geht hier aber um die
Endlichkeit der Menge der Buchstaben und Töne, die zweifellos gegeben ist.
3 Rekombination
33
chert. Dazu zählen die ersten Noten und Zielnoten, die Taktnummer, das Verhältnis des Taktes zum Stück und das Ursprungsstück (siehe Abbildung 3.5).
4. Takte neu zusammenstellen: Aus den Metadaten kann bestimmt werden, welcher Takt auf einen gegebenen Takt folgen muss.
Originalwerk
S.
T.
T.
B.
&b
∑
Ó
˙
1. Takte isolieren
˙
˙
˙
œ œ
œ œœœ œœœ ˙
œ œ
&b œ
˙
˙™
œ
‹
œ œ œœœ œ œ œ
& b ˙ œ ™ œJ
œ œ œ ˙
œ
‹
™
˙
? ˙
˙
œ œœ œ ˙
b
˙
J
˙
œ ™ œ jœ
2. œTakte
œ™ œ œ
J œ
˙
Ó
Œ œ œ
œ
œœ
Œ
œ
Jœ
œœ
˙™
˙
Ϫ
œ
˙
˙
œœ
˙
˙
analysieren
œ œ
œ
˙
œ œ
˙
˙
S.
T.
T.
B.
&b Ó
Neue Motette
˙
˙
˙
∑
∑
&b
‹
œ œ œ œ œ nœ ˙
&b œ
‹
?b œ œ œ œ œ œ ˙
˙
j
œ™ œ œ œ
w
˙
œœ˙
˙
Ó
j
œ™ œ œ œ
œ
jœ œ
œ™ œ
œ œ
œ™ œJ
Ó
˙
œ œ
Œ œ
3. Takte und Metadaten
in Datenbank speichern
œ
j
œ
Ϫ
œ
œ
œ
œ
œ
e
œœ
œ
œ
œ
œ
œ
∑
Œ œ
4.Ó Takte neu
zusammenstellen
˙
˙
Abb. 3.3: Die vier Schritte der Rekombination
Dieses Modell abstrahiert sehr stark. Ich möchte daher im Folgenden auf die einzelnen Schritte eingehen:
34
3 Rekombination
Vorbereitung
Wie jeder Komponist sich einigermaßen im Klaren darüber sein sollte, was für ein
Werk er komponieren möchte, so muss auch der Computer vorher wissen, was für
Material er verarbeiten soll. Es gibt einige Kriterien, die über das Gelingen entscheiden:
• Es sollten möglichst viele Originalwerke vorliegen.
• Der Musikstil sollte, zumindest für den Anfang, eine klare Struktur und Regeln
aufweisen.
• Die Musik sollte möglichst einheitlich sein oder auf einfachem Weg in eine einheitliche Form gebracht werden können.
Cope hat für seinen ersten Versuch Bach-Choräle benutzt (Cope, 2005, S. 89), ich
habe mich für Motetten von Giovanni Pierluigi da Palestrina (wahrsch. 15252 –1594)
entschieden. Palestrina hat Motetten für vier bis acht Stimmen geschrieben. Hier
habe ich eine Eingrenzung auf die vierstimmigen getroffen. Der Grund dafür lag in
der Anzahl (siehe Tabelle 3.1).
Stimmenzahl
4 Stimmig
5 Stimmig
6 Stimmig
7 Stimmig
8 Stimmig
Motettenzahl
66 Motetten
135 Motetten
37 Motetten
3 Motetten
13 Motetten
Tabelle 3.1: Alle Motetten von G. P. da Palestrina, nach Palestrina (1939a) und Palestrina (1939b)
Im Gegensatz zu den Bach-Chorälen liegt das Werk von Palestrina noch nicht in
digitaler Form vor, zumindest in keiner einheitlichen. Ich möchte trotzdem auf die
folgenden Webseiten verweisen, die mir als Quellen gedient haben:
•
•
•
•
2
http://www2.cpdl.org/wiki/index.php/Palestrina
http://www.cipoo.net/music\_mz.html
http://www.pucpr.edu/diocesis/cantoral/14cantoral.html
http://www.cs.cmu.edu/~music/cmsip/
Laut Finscher (2005, Band 13, S. 7), in anderen Quellen tauchen auch 1514, 1515, 1524 oder
1529 auf.
Vorbereitung
35
ID Band Nr. Titel
in Taktart Besetz. Takte Anmerkungen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
C
C
C
C
F
F
F
F
F
F
F
C
F
C
C
C
C
F
C
F
F
F
C
F
C
F
C
C
F
C
C
F
F
C
C
C
C
C
C
C
C
C
F
F
F
F
F
F
F
30
31
32
33
34
35
36
40
41
42
43
44
45
46
47
48
49
50
51
52
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
11
11
11
11
11
11
11
11
11
11
11
11
11
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
1.1
1.2
2.1
2.2
3
4
5.1
5.2
6.1
6.2
7.1
7.2
8
Dies Sanctificatus
Lapidabant Stephanum
Valde honorandus est
Magnum haerditatis mysterium
Tribus Miraculis
Hodie Beata Virgo
Ave Maria
Jesus junxit se
O Rex gloriae
Loquebantur
Benedicta sit
Lauda Sion
Fuit Homo
Tu es pastor ovium
Magnus sanctus Paulus
Surge Propera
In diebus illis
Beatus Laurentius
Quae est ista
Misso Herodes spiculatore
Nativitas Tua
Nos autem gloriari
Salvator mundi
O Quantus Luctus
Congratulamini mihi
Dum Aurora
Doctor Bonus
Quam pulchri sunt
Tollite jugum meum
Isti sunt
Hic est vere Martyr
Gaudent in coelis
Iste est
Beatus vir
Veni sponsa Christi
Exaudi Domine
Domine, quando veneris
Commissa mea pavesco
Heu mihi
Anima mea turbata est
Super flumina Babilonis
Ecce nunc benedictite Dominum
Ad Te levavi oculos meos
Miserere nostri, Domine
Ad Dominum com tribularer
Sagittae potentis acutae
Fundamenta ejus
Numquid Sion dicet
Quia vidisti me, Thoma
4/4, 3/4
4/4
4/4
4/4
4/4
4/4
4/4
4/4
4/4
4/4
4/4
4/4, 3/2
4/4
4/4
4/4
4/4
4/4
4/4
4/4
4/4
4/4
4/4
4/4
4/4, 3/4
4/4
4/4
4/4
4/4
3/2
4/4
4/4
4/4, 3/4
4/4
4/4
4/4
4/4
4/4
4/4
4/4
4/4
4/4
4/4, 3/4
4/4
4/4
4/4
4/4
4/4
4/4, 3/4
4/4
SATB
SATB
SATB
SATB
SATB
SATB
ATTB
SATB
SATB
SATB
SATB
SATB
SATB
SATB
SATB
SATB
ATTB
SATB
SATB
ATTB
SATB
ATTB
SATB
ATTB
SATB
SATB
SATB
SATB
SATB
SATB
SATB
ATTB
SATB
SATB
SATB
ATTB
SATB
SATB
ATTB
ATTB
ATTB
ATTB
SATB
SATB
SATB
SATB
SATB
SATB
SATB
89
86
78
87
106
85
71
100
91
99
93
83
82
82
89
90
115
89
96
87
92
85
87
91
71
88
98
97
ab T68 3/4 statt 3/2
T69 Alt berichtigt
midi
midi, überarbeitet
midi, überarbeitet
midi, überarbeitet
midi, überarbeitet
T71 Bass berichtigt
midi, überarbeitet
T65 Bass berichtigt
midi, überarbeitet
midi, überarbeitet
midi, überarbeitet
— nicht verwendbar
84
99
96
99
83
67
71
59
61
69
60
71
70
72
63
56
59
71
72
58
midi, überarbeitet
T14 Alt berichtigt
T41 Alt berichtigt
midi, überarbeitet
midi, überarbeitet
midi
midi, überarbeitet
36
3 Rekombination
ID Band Nr.
Titel
in Taktart Besetz. Takte Anmerkungen
53 11
54 11
55 11
11
11
11
11
11
11
11
11
11
11
11
11
11
Ego sum panis vivus
Sicut cervus
Sitivit anima mea
Ave Regina coelorum
Alma Redemptoris Mater
Tu quae genuisti
Salve, Regina
Eja ergo
Ave Maria
Haec dies
Confitemini Domino
Pueri Hebraeorum
Sub tuum praesidium
Adoramus te, Christe
Surrexit pastor bonus
Gloriosi Principes terrae
F
F
F
F
F
F
F
F
C
C
C
F
F
C
F
F
9
10.1
10.2
11.1
12.1
12.2
13.1
13.2
14
15
16
17
18
19
20
21
Takte gesamt
4/4
4/4
4/4
4/4
4/4
4/4
4/4
4/4
4/4
4/4
4/4
4/4
4/4
4/4
4/4
4/4
ATTB
ATTB
ATTB
SSSA
SSSA
SSSA
SSSA
SSSA
SSST
SSAT
SSSA
SSAT
SSSA
SSAT
ATTB
ATTB
71
58
59
midi
midi, überarbeitet
— nicht verwendbar
— nicht verwendbar
— nicht verwendbar
— nicht verwendbar
— nicht verwendbar
— nicht verwendbar
— nicht verwendbar
— nicht verwendbar
— nicht verwendbar
— nicht verwendbar
— nicht verwendbar
— nicht verwendbar
— nicht verwendbar
4135
Tabelle 3.2: Alle vierstimmigen Motetten von G. P. da Palestrina, nach Palestrina
(1939a). In der letzten Spalte sind alle Änderungen zur Originalausgabe vermerkt.
Tollite jugum meum ist nicht verwendbar, da das Stück keine 4/4-Takte enthält, alle
Motetten nach Nr. 55 haben eine nicht geeignete Besetzung der Stimmen.
Übernommen habe ich daraus die Stücke mit der ID 5, 45 und 54, einige weitere
wurden überarbeitet. Alle weiteren Stücke stammen aus der italienischen Gesamtausgabe von 1939. Da diese nicht fehlerfrei ist, musste ich einige Berichtigungen
vornehmen, die in Tabelle 3.2 genannt sind. Die Tabelle zeigt weiterhin, dass jedem Stück eine eindeutige ID zugeordnet ist, die der Algorithmus speichert, damit
nachvollziehbar ist, aus welchem Originalwerk ein Takt stammt.
Um weiterhin für mehr Einheitlichkeit zu sorgen, habe ich alle Stücke in dieselbe Tonart (C-Dur) transponiert, wobei ungefähr die Hälfte bereits in C, die andere
Hälfte in F-Dur stand. Durch die Transposition kann es sein, dass einzelne Takte
außerhalb des Stimmumfangs der jeweiligen Stimme liegen. Dies könnte berichtigt
werden, indem jeder Takt, der die Grenze überschreitet, oktaviert wird (oder überhaupt nur die Töne relativ zur Oktave betrachtet werden), was allerdings zu Ungenauigkeiten in der Stimmführung führt, weshalb ich mich dagegen entschieden
habe.
Die Gesamtausgabe schreibt viele Stücke mit einer anderen als der gewöhnlichen
Stimmbesetzung: Während SATB (Sopran, Alt, Tenor, Bass) vorherrschen, gibt es
auch viele Vorkommen von ATTB (Alt, Tenor, Tenor, Bass), also einer tieferen ersten und zweiten Stimme (Umfänge siehe Abbildung 3.4)
Vorbereitung
{
&
?
œ
œ
Sopran
37
œ
Alt
œ
œ
œ
Tenor
œ
œ
Bass
Abb. 3.4: Die Stimmumfänge der einzelnen Stimmen in einem Klaviersystem notiert
Konvertierung
Sind die Noten erst einmal digital auf dem Computer, so müssen sie nun noch richtig
formatiert werden. Aus dem Notensatzprogramm kommen die Stimmen nach CDur transponiert als MusicXML heraus. Da ich dieses Format als Grundlage für die
weitere Datenverarbeitung benutze, gehe ich kurz auf einige wichtige Punkte ein.
Das Format MusicXML
Es gibt zwei Spezifikationen von MusicXML: nach Stimmen sortiert (partwise) und
nach Takten sortiert (timewise). Die Daten liegen nach dem Export immer in partwise vor. Die grobe Struktur so eines Dokumentes sieht wie folgt aus:
< s c o r e −p a r t w i s e v e r s i o n = " 2 . 0 " >
<work> . . . < / work>
<identification> . . . </ identification>
<defaults> . . . </ defaults>
< part − l i s t > . . . < / part − l i s t >
< p a r t i d = " P1 " >
<measure number= " 1 " >
<attributes> . . . </ attributes>
<note> . . . < / note>
< / measure>
<measure number= " 2 " >
<note> . . . < / note>
<note> . . . < / note>
< / measure>
...
< / part>
< p a r t i d = " P2 " > . . . < / p a r t >
< p a r t i d = " P3 " > . . . < / p a r t >
< p a r t i d = " P4 " > . . . < / p a r t >
< / s c o r e −p a r t w i s e >
Listing 3.1: Partwise MusicXML
Um die Noten taktweise auseinanderzunehmen und dann zu rekombinieren, ist
das timewise-Format aber deutlich übersichtlicher:
38
3 Rekombination
< s c o r e −t i m e w i s e v e r s i o n = " 2 . 0 " >
<work> . . . < / work>
<identification> . . . </ identification>
<defaults> . . . </ defaults>
< part − l i s t > . . . < / part − l i s t >
<measure number= " 1 " >
< p a r t i d = " P1 " >
<attributes> . . . </
<note> . . . < / note>
< / part>
< p a r t i d = " P2 " >
<attributes> . . . </
<note> . . . < / note>
< / part>
< p a r t i d = " P3 " >
<attributes> . . . </
<note> . . . < / note>
< / part>
< p a r t i d = " P4 " >
<attributes> . . . </
<note> . . . < / note>
< / part>
< / measure>
<measure number= " 2 " >
< p a r t i d = " P1 " >
<note> . . . < / note>
< / part>
< p a r t i d = " P2 " >
<note> . . . < / note>
< / part>
< p a r t i d = " P3 " >
<note> . . . < / note>
< / part>
< p a r t i d = " P4 " >
<note> . . . < / note>
< / part>
< / measure>
...
< / s c o r e −t i m e w i s e >
attributes>
attributes>
attributes>
attributes>
Listing 3.2: Timewise MusicXML
Die Konvertierung von einem zum anderen erfolgt über einen Parser und ein
XLST-Dokument, welches in der MusicXML 3.0 Spezifikation von Recordare bereits enthalten ist. 3
3
Als Parser habe ich Saxon benutzt, eine genaue Erklärung findet sich unter http://
www.saxonica.com/documentation/using-xsl/commandline.xml, der Befehl
zur Konvertierung lautet java -cp saxon9he.jar net.sf.saxon.Transform -t
-xsl:parttime.xsl -s:partwise -o:timewise Saxon 9 HE
Vorbereitung
39
Wie man leicht erkennt, ist die timewise-Struktur ausführlicher, was sich auch
in der Dateigröße niederschlägt: Aus 16.2 MB partwise-Daten werden 21.5 MB
timewise-Daten.
Daten bereinigen
Abschließend mussten alle XML-Daten noch auf eine einheitliche, aufgeräumte
Form gebracht werden. Dafür habe ich mit Hilfe eines selbstgeschriebenen XSLSkripts sämtliche Informationen, die das Aussehen und Layout vorgeben, bereinigt.
Die Daten sind durch diesen Schritt auf 14.3 MB geschrumpft.
Notenanalyse
32
S.
T.
T.
∑
& œ œ ˙
‹
& w
‹
? ˙
˙
w
˙
∑
34
35
Ó
˙
˙
˙
˙
˙
œ œ œœœ œ œ
j
œ™ œ œ œ œ œ ˙
{
B.
&
33
œ
œœ ˙
58
˙
Ó
œ œ œ
˙
Measure
↔ origin = 54
↔ measureNumber = 33
↔ xmlCode = “<measure>...</measure>”
↔ firstNote = “00.A3.F3.A2.”
↔ followingNote = “00.A3.F3.D3.”
↔ position = 33/58
+ appendToXmlCode(String)
Abb. 3.5: Alle Metadaten der Noten werden in der Klasse measure gespeichert.
40
3 Rekombination
Der nächste Schritt ist, die Noten zu analysieren. Abbildung 3.5 zeigt, welche
musikalischen Daten ausgelesen werden. Die Klasse measure enthält dann folgende Attribute:
origin:
Die ID (nach Tabelle 3.2) der Motette, aus der der Takt entstammt.
measureNumber: Die Taktzahl.
xmlCode:
Der XML-Quelltext, also alle Noten des Taktes in allen vier
Stimmen.
firstNote:
Für jede der vier Stimmen jeweils die erste Note im Takt. Diese
wird in amerikanischer Schreibweise angegeben, also als Note
und Oktave, wobei das A00 dem A0 entspricht und also das c0
dem C4. Diese Schreibweise ist für den Vergleich von Zeichenketten besonders geeignet. Pausen werden als 00 gespeichert.
Vorzeichen werden der Note nachgestellt, wobei ein “-” für ein
[ und ein “+” für ein ] steht. Damit alle Zeichenketten eine einheitlich Länge haben, werden unveränderte Noten mit einem “.”
verlängert.
followingNote: Die firstNote des Folgetaktes.
position:
Das Verhältnis des aktuellen Taktes zur Gesamtzahl der Takte
im Stück. Der resultierende Wert (0 < position ≤ 1) zeigt, ob
ein Takt eher aus dem Anfang, der Mitte oder dem Ende eines
Stückes stammt.
Im Pseudocode sieht die Notenanalyse wie folgt aus:
readXMLFile ( pathname , f i l e n a m e ) {
/ / Datei laden
/ / Eine L i s t e mit a l l e n Takten e r s t e l l e n
/ / Den T i t e l a u s l e s e n
/ / Die ID a u s dem D a t e i n a m e n a u s l e s e n
/ / E i n O b j e k t f u e r meine M o t e t t e e r s t e l l e n , d a s d i e Meta−
I n f o s und a l l e T a k t e i n einem Measure−A r r a y b e i n h a l t e t :
Motet myMotet = new Motet ( motetID , t a k t z a h l , t i t l e ) ;
/ / F u e r j e d e n T a k t im S t u e c k . . .
for (0 . . Anzahl der Takte ) {
/ / einen Takt waehlen
/ / Die r e l a t i v e P o s i t i o n im O r i g i n a l s t u e c k b e r e c h n e n
/ / E i n O b j e k t f u e r d i e s e n T a k t e r s t e l l e n und i n j e d e r
I t e r a t i o n den XML−Code und d i e Meta−D a t e n a n h a e n g e n
Measure myMeasure = new Measure ( motetID , m e a s u r e C o u n t ,
measurePosition , t i t l e ) ;
/ / F u e r a l l e Stimmen im T a k t . . .
f o r ( 0 . . A n z a h l d e r Stimmen ) {
/ / e i n e Stimme w a e h l e n
/ / F u e r a l l e Noten . . .
f o r ( 0 . . A n z a h l d e r Noten ) {
/ / E i n e Note a u s w a e h l e n
Vorbereitung
41
/ / F u e r j e d e s D e t a i l d i e s e r Note
for (0 . . Anzahl der D e t a i l s ) {
/ / Ein D e t a i l auswaehlen
/ / Die D e t a i l s a u s l e s e n und den n e u e n XML−
Code d a r a u s g e n e r i e r e n
/ / Die e r s t e n Noten im e i g e n e n T a k t a l s
f i r s t N o t e und im V o r g a e n g e r a l s
FollowingNote speichern
}
}
}
myMotet . a p p e n d M e a s u r e ( myMeasure ) ;
}
/ / Die F o l l o w i n g N o t e d e s l e t z t e n T a k t e s a u f " 0 0 . 0 0 . 0 0 . 0 0 . "
s e t z e n , d a m i t d i e s e r l e i c h t e r zu e r k e n n e n i s t .
r e t u r n myMotet ;
}
Listing 3.3: ReadXML.java als Pseudocode
Speichern
Das Programm kann für die Datenspeicherung eine MySQL-Datenbank benutzen,
um eine bessere Performanz zu erhalten, werden aber serialisierte Klassen verwendet. Jede Motette wird dabei in eine eigene Datei mit der Endung “.motette” gespeichert, um die Verwaltung zu erleichtern.
42
3 Rekombination
Zusammenfassung
Abbildung 3.6 fasst die Schritte vom Einlesen bis zur fertigen Datei zusammen:
<xsl>
XSLT
h x
eq
1
&
2
3
Parser
<xml>
<xml>
partwise
SIB
timewise
<xsl>
XSLT
4
Parser
5
6
<xml>
timewise
Motette
<-> takte[]
<-> name
+ appendTakt()
+ getTakt()
Java
Measure
7
&
<-> taktzahl
<-> xmlQuelle
+ appendXML()
+ getErsteNote()
.motette
Abb. 3.6: Der Weg der Noten vom gedruckten Blatt bis in eine Datei.
1.
2.
3.
4.
5.
6.
7.
Noten aus der Gesamtausgabe einspielen
Noten nach XML (partwise) exportieren
Von partwise nach timewise konvertieren
XML-Datei säubern
XML-Datei in Java einlesen
Motetten und Takte in Objekten speichern
Objekte als Datei speichern
Der Rekombinationsprozess
43
Der Rekombinationsprozess
Das Herzstück des Programmes ist der Rekombinationsprozess. Dieser ist relativ
simpel, sobald man eine gutes Auswahlverfahren für Nachfolgetakte gefunden hat.
Daher wird dieses in einem eigenen Abschnitt genauer erläutert.
Funktionsweise
Die Aufgabe des Algorithmus besteht aus zwei Schritten:
1. Alle potenziellen Nachfolger zu einem Takt finden.
2. Alle diese bewerten und den besten aussuchen.
Im Pseudocode sieht das wie folgt aus:
r e c o m b i n e ( Datenbank , Seed , T a k t z a h l ) {
/ / Werte i n i t i a l i s i e r e n
/ / Fuer jeden Takt ein Durchlauf
f o r ( 0 . . A n z a h l d e r zu e r s t e l l e n d e n T a k t e ) {
/ / Fuer j e d e n v e r f u e g b a r e n Takt aus der Datenbank
for (0 . . Anzahl der D a t e n b a n k t a k t e ) {
i f ( e r s t e Note d e s T a k t e s == b e n o e t i g t e Note ) {
/ / 1 . Takt Bewerten
/ / 2 . Den b e s t e n T a k t merken
}
}
/ / Den T a k t d e r M o t e t t e a n h a e n g e n und merken
/ / A u f h o e r e n wenn e i n End−T a k t ( " 0 0 . 0 0 . 0 0 . 0 0 . " ) b e n u t z t
wird
}
r e t u r n newMotet ;
}
Listing 3.4: Der Rekombinationsprozess als Pseudocode
Der erste Schritt, also alle Nachfolger zu finden, ist durch eine klare Datenstruktur sehr einfach: Jedes Objekt besitzt einen identifizierenden String4 , der mit dem
benötigten verglichen wird. Pro neuer Motette mit durchschnittlich 81 Takten sind
das ungefähr 320 000 Vergleiche. Im Durchschnitt findet das Programm zwischen
fünf und sieben potenzielle Nachfolger, das heißt es werden 400 bis 600 Takte evaluiert.
4
Dieser ist aber nicht notwendigerweise eindeutig: Es können auch verschiedene Takte mit den
gleichen Noten beginnen, was zum gleichen String führt.
44
3 Rekombination
Evaluationsverfahren
Jeder Takt, der evaluiert wird, erhält eine Variable in der seine Bewertung als Ganzzahl gespeichert wird. Anfänglich liegt diese bei 0. Die Evaluation besteht aus einer
Kette von Abfragen, die diese Variable beeinflussen. Tabelle 3.3 gibt einen Überblick über die abgefragten Kriterien:
Kriterium
Zwei aufeinanderfolgende Takte
Taktwiederholung
Position im Kontext
Abstand zum Ende
Anzahl der Nachfolger
Bewertung
(Loop)
(2. Mal)
(> 2 Mal)
(keine)
(einer)
Horizontaler Verlauf der Stimmen
Manuell verbotene Takte
−3
−100
−2
−3
+5
variabel
−20
−2
variabel
−100
Tabelle 3.3: Die Kriterien, nach denen ein Takt evaluiert wird.
Zwei aufeinanderfolgende Takte
Zwei Takte, die in der Original-Motette direkt aufeinander folgen, besitzen aufeinanderfolgende IDs und können daher sehr einfach erkannt werden:
i f ( r I D == ( p r e v i o u s M e a s u r e I D + 1 ) )
e v a l u a t i o n −= 3 ;
Abschnitte aus dem Original, die größer als ein ganzer Takt sind, sollten vermieden werden, denn, obwohl sie nicht falsch sind, kreieren sie nichts Neues.
Dieses Kriterium arbeitet entgegen dem der Position im Kontext, welches sich
stark am Originalverlauf orientiert. Dementsprechend muss die Gewichtung etwa
ähnlich sein.
Taktwiederholung
Es gibt verschiedene Formen der Taktwiederholung. Auf jeden Fall verhindert werden sollte, dass derselbe Takte mehrfach direkt hintereinander benutzt wird (also
einen Loop bildet). Dies wird verhindert durch
i f ( r I D == p r e v i o u s M e a s u r e I D )
e v a l u a t i o n −= 1 0 0 ;
Der Rekombinationsprozess
45
Aber auch eine Wiederholung mit Abstand ist eher unschön. Daher werden zwei
Listen (HashSet) geführt, in die Takte bei einmaliger und mehrfacher Verwendung
eingetragen werden. In der Evaluation wird geprüft, ob ein Takt bereits in dieser
Liste vorhanden ist:
i f ( usedOneTime . c o n t a i n s ( r I D ) )
e v a l u a t i o n −= 2 ;
i f ( u s e d M u l t i p l e T i m e s . c o n t a i n s ( rID ) )
e v a l u a t i o n −= 3 ;
Position im Kontext
Die Evaluationsfunktion besitzt einen Mechanismus, der beachtet, welche Position ein Takt im Original hatte und versucht, ihn wieder an eine ähnliche Position
zu setzen. Hierdurch wird erreicht, dass der Verlauf und die Entwicklung, die der
Komponist in seine Werke komponiert, erhalten bleiben.
Man kann die Entwicklung einer neuen Motette grafisch darstellen, indem man
die neue Position an die X-Achse (horizontal) und die vorherige an die Y-Achse
(vertikal) anträgt. Eine genaue Reproduktion würde also eine Gerade ( f (x) = x) erzeugen. Eine Motette ohne Beachtung der Positionen ist in Abbildung 3.7 zu sehen.
Originalposition
ohne Position
Neue Position
Abb. 3.7: Eine neue Motette ohne Beachtung der Positionen
Mit einem sehr einfachen Positions-Algorithmus erreicht man immerhin eine
zeitweise zusammenhängende Struktur wie in Abbildung 3.8. Hier sind jedoch
Originalposition
mit Position
Neue Position
Abb. 3.8: Mit Beachtung der Positionen.
46
3 Rekombination
große Sprünge vorhanden, die gesondert vermieden werden sollten. Das Ergebnis
davon zeigt Abbildung 3.9.
Originalposition
mit Vermeidung großer Sprünge
Neue Position
Abb. 3.9: Mit Vermeidung großer Sprünge.
Wie man sieht, wird das Ende bislang nicht oder nur sehr abrupt erreicht. Verringert man die Gewichtung in der Gesamtevalutation, ist diese Balance wieder hergestellt (Abbildung 3.10).
Originalposition
mit weniger Gewicht, um Ziel zu erreichen
Neue Position
Abb. 3.10: Mit weniger Gewicht in der Gesamtwertung.
In dieser Version richtet sich die Position immer nach dem Vorgänger eines Taktes, nicht nach dem Stück. Dadurch sind Sprünge — wenn sie denn vorkommen
müssen — von gleichförmigen Bewegungen umgeben. Allerdings ist nur eine lokale Steigung vorhanden, die Position innerhalb des Stückes wird nicht beachtet.
Orientiert sich der Algorithmus ausschließlich am Stück, erhält man den Graphen
aus Abbildung 3.11. Die Orientierung ist deutlich besser, allerdings treten mehr lo-
Originalposition
am Stück, nicht am Vorgänger orientiert
Neue Position
Abb. 3.11: Ausschließlich am Stück, nicht am Vorgänger orientiert.
kale Sprünge auf. Abbildung 3.12 zeigt schließlich einen Graphen, der mit doppelter
Gewichtung am Stück und mit einfacher am Vorgänger orientiert ist.
Der Rekombinationsprozess
47
Originalposition
am Stück (doppelt gewichtet) und am Vorgänger orientiert
Neue Position
Abb. 3.12: Doppelt gewichtet am Stück und einfach am Vorgänger orientiert.
Im Quelltext sieht die Überprüfung wie folgt aus:
i f ( ( m e a s u r e T o E v a l u a t e . g e t P o s i t i o n ( ) − 0 . 0 5 ) < p o s i t i o n &&
p o s i t i o n < ( measureToEvaluate . g e t P o s i t i o n ( ) + 0 . 2 ) )
e v a l u a t i o n += 5 ;
Wenn ein Takt übernommen wird, wird die aktuelle Position des Stücks (an der
sich die folgenden Takte orientieren werden) aus dessen Originalposition und dem
Fortschritt des Stücks berechnet:
p o s i t i o n = ( measureToAppend . g e t P o s i t i o n ( ) + 2 ∗ ( ( d o u b l e )
measureCounter / ( double ) measureCount ) ) / 3 . 0 ;
Mathematisch ausgedrückt bedeutet das
Neue Position =
aktueller Takt
Originalposition des Taktes + 2 · Gesamtzahl
der Takte
3
Abstand zum Ende
Die bei der Erstellung einer neuen Motette angegebene Taktzahl ist ein Maximum,
keine genaue Vorgabe. Der Hintergrund ist, dass die Motette nicht abrupt abbrechen
soll5 , sondern ein Original-Schlusstakt am Ende benutzt werden soll.
Um dem Algorithmus ein “zunehmendes Gefühl” davon zu geben, wann ein Ende sinnvoll ist, wird das Ergebnis der folgenden Formel in die Evaluation eines
potenziellen End-Taktes aufgenommen:
aktueller Takt − (Gesamtzahl der Takte − 30)
Bewertung =
10
Bis 30 Takte vor dem vorgegebenen Ende werden End-Takte negativ bewertet, danach langsam ansteigend positiv. Abbildung 3.13 zeigt diesen Verlauf. Obwohl man
spontan eine exponentielle Funktion erwarten würde, liefert die lineare tatsächlich
bessere Ergebnisse, da sie eine höhere Toleranz hat, das Stück deutlich früher als
vorgegeben zu beenden.
5
Obwohl man selbst bei den Original-Palestrina-Motetten oft das Gefühl hat, dass das Ende sehr
abrupt sei.
48
3 Rekombination
3
2
Bewertung
1
0
-1
-2
-3
kontinuierliche Werte
Integer-Werte
-4
-5
Fortschritt des Stücks
Abb. 3.13: Der Verlauf der Bewertung von End-Takten.
Im Quelltext sieht die Bewertung wie folgt aus:
i f ( measureToEvaluate . getFollowingNote ( ) . equalsIgnoreCase ( "
00.00.00.00. " ) )
e v a l u a t i o n += ( i n t ) ( ( m e a s u r e C o u n t e r − ( m e a s u r e C o u n t −
30) ) ∗ 0 . 1 ) ;
Anzahl der Nachfolger
Um rechtzeitig zu erkennen, wenn sich ein Takt als Sackgasse entpuppt, gibt es
eine eigene LookAhead-Funktion, die für einen Takt die Anzahl der Nachfolger
zählt und zurückgibt. Da für die rund 400 bis 600 analysierten Takte jeweils alle
4000 Takte erneut durchsucht werden, kommen hier fast 2 Millionen Vergleiche
hinzu, was die Laufzeit des Programms stark beeinflusst. Allerdings erhöht sich die
Qualität des Algorithmus deutlich genug, um diesen Aufwand zu rechtfertigen.
Die LookAhead-Funktion sieht wie folgt aus:
p r i v a t e s t a t i c i n t lookAhead ( S t r i n g f o l l o w i n g N o t e ) {
int r e s u l t = 0;
f o r ( i n t j = 0 ; j < m e a s u r e D a t a b a s e . s i z e ( ) ; j ++) {
i f ( measureDatabase . get ( j ) . g e t F i r s t N o t e ( ) .
equalsIgnoreCase ( followingNote ) ) {
r e s u l t ++;
}
}
return r e s u l t ;
}
In der Evaluationsfunktion wird nun unterschieden, wie nahe das Stück bereits
dem Ende ist, denn End-Takte besitzen keine Nachfolger und würden also ausgeschlossen werden. Dann werden Takte ohne Nachfolger mit −20 und Takte mit nur
einem Nachfolger mit −2 bestraft:
Der Rekombinationsprozess
49
i f ( ( measureCount − measureCounter ) > 10)
{
switch ( lookAhead ( measureToEvaluate . g e t F o l l o w i n g N o t e ( ) ) )
{
case 0:
e v a l u a t i o n −= 2 0 ;
break ;
case 1:
e v a l u a t i o n −= 2 ;
break ;
}
}
S.
& w
A.
&
∑
&
‹
?
∑
∑
∑
∑
T.
B.
œ œ ˙
erste Noten:
D5.00.00.00.
8
D5.G4.00.00.
B4.G4.00.00.
& œ œ œ œ
D5.E4.A3.00.
C5.C4.00.00.
A4.F4.00.00.
& œ ˙ œ
œ
œ
G4.B3.00.00.
E4.C4.00.00.
Ó
˙
&
A4.C4.A3.00.
‹
A4.E4.E3.00.
?
E4.C4.A3.00.
∑
C5.D4.G3.00.
C5.G4.E4.C4.
14
00.F4.D4.00.
00.A4.C4.00.
∑
&
B4.G4.G3.00.
A4.D4.F4.D3.
A4.F4.D4.00.
& ˙™
œ
00.00.B3.G3.
&
‹
?
˙
˙
œ #œ ˙
˙™
Ó
∑
œ œ œ ˙
œ œ œœ˙
˙
œ
˙
˙
∑
œ œ œ œ œœœ ˙
∑
w
∑
Œ
œ œ™
∑
∑
Œ œ œ œ ˙
˙
œ œ œ œ#œ
∑
∑
j
œ ˙
∑
˙
˙
w
œ œ
œ™ œj œ œ œ
œ œ œ
∑
∑
˙
∑
œ œ ˙
j
œ™ œ œ œ œ œ ˙
œ™ œJ œ ˙ #œ
œ œ bœ ˙
Œ
j
œ œ œ œ œ œ œ œ œ œ œ™ œ œ œ ˙
w
œ œ ™ œj œ œ
˙
œ œ œ
œ ™ nœ œ œ œ œ œ œ ˙
J
∑
Œ
œnœ ˙
Ó
˙
Ó
Ó
Œ
œ
∑
œ ˙
œ œ
œ œ ˙
œ œ œ œ ™ œ œ #œ œ ™ nœ œ œ œ œ œ œ
J
œœœœ
J
˙
œ ˙
Œ
Ó
Œ œ œ œ œ œ œ œ
˙
Œ
Abb. 3.14: Fehler im horizontalen Verlauf in den Takten 3 und 13.
50
3 Rekombination
Horizontaler Verlauf der Stimmen
Eins der größten und schwierigsten Probleme der Rekombination ist der horizontale
Verlauf auf mittlerer Ebene. Während von Takt zu Takt ein Stringvergleich genügt
und im Gesamtverlauf die Positionen einen guten Anhaltspunkt geben, kann es immer wieder vorkommen, dass einzelne Stimmen nach einer Pause nur für einen Takt
singen und dann wieder Pause haben. Dies kann in bestimmten Situationen durchaus
sinnvoll sein, meistens ist es das jedoch nicht. Abbildung 3.14 zeigt zwei Beispiele
für so ein nicht-beabsichtigtes Einsetzen.
Die Idee um solche Einsätze zu vermeiden ist, die Stimmen zusätzlich in vereinfachter Form darzustellen, nämlich “0” für Pausentakte und “1” für Takte mit Noten.
Jede Stimme erhält nun einen eigenen Zähler, der, sobald eine Stimme einsetzt (also
ein Wechsel von “0” auf “1” stattfindet), auf 4 gesetzt wird (siehe Tabelle 3.4). In
jedem weiteren Takt wird er um eins reduziert, bis die Stimme vier Takte am Stück
gesungen hat und der Zähler wieder auf 0 ist. Erst dann darf ein Pausentakt folgen.
Takt
ID
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
431
656
432
434
435
433
436
905
906
2544
2545
824
825
1758
1208
988
1472
1473
271
erste Note
horiz. Darst.
horiz. Verlauf
00.C4.00.00
00.C4.00.00
00.C4.00.00
G4.C4.00.00
G4.G3.00.00
G4.C4.00.00
G4.C4.00.00
D4.C4.G3.00
E4.A3.F3.00
E4.G3.E3.C3
00.D4.F3.A2
00.C4.A3.F3
A4.E4.F3.D3
A4.F4.D3.00
G4.E4.C4.E3
A4.A3.C4.F3
G4.E4.C4.E3
B4.G4.D4.D3
A4.C4.A3.A2
0100
0100
1100
1100
1100
1100
1110
1110
1111
0111
0111
1111
1110
1111
1111
1111
1111
1111
1111
0400
0300
4200
3100
2000
1000
0040
0030
0024
0013
0002
4001
3001
2004
1003
0002
0001
0000
0000
Tabelle 3.4: Eine rekombinierte Motette mit Angabe der horizontalen Darstellung
und Verlauf.
Die Methode zum Überprüfen ist, da sie häufiger aufgerufen wird, recht einfach
gestaltet: Für alle vier Stimmen wird getestet, ob die vereinfachte Darstellung des
vorangegangenen Taktes einer 1 entspricht und nun eine 0 folgen soll. Dies ist der
einzige verbotene Übergang. Sobald er in einer der Stimmen auftritt, wird 1 zurückgegeben, ist der Takt in Ordnung, wird 0 zurückgegeben:
Der Rekombinationsprozess
51
c h e c k H o r i z o n t a l ( S t r i n g myNote ) {
char [ ] n o t e s = myNote . t o C h a r A r r a y ( ) ;
f o r ( i n t i = 0 ; i < 4 ; i ++) {
i f ( n o t e s [ i ∗ 3 ] == ’ 0 ’ && h o r i z o n t a l P r e v i o u s [ i ] == 1 )
/ / 1 −> 0 und e s s i n d noch k e i n e 4 T a k t e v o r b e i
return h o r i z o n t a l P e r m i s s i o n [ i ] ;
}
return 0;
}
Die Methode zum Speichern des Verlaufs ist etwas länger. Sie überprüft, ob in
einer Stimme eine 1 vorkommt, sie also singt, und ob das ein neuer Einsatz ist
(0 → 1) oder der Gesang fortgeführt wird und der Zähler also dekrementiert werden
kann.
Hat eine Stimme eine Pause, so muss das lediglich gespeichert werden.
s a v e H o r i z o n t a l ( S t r i n g myNote ) {
char [ ] n o t e s = myNote . t o C h a r A r r a y ( ) ;
f o r ( i n t i = 0 ; i < 4 ; i ++) {
i f ( n o t e s [ i ∗ 3] != ’ 0 ’ ) {
i f ( h o r i z o n t a l P r e v i o u s [ i ] == 0 ) / / 0 −> 1
horizontalPermission [ i ] = 4;
i f ( h o r i z o n t a l P r e v i o u s [ i ] == 1 &&
h o r i z o n t a l P e r m i s s i o n [ i ] > 0 ) / / 1 −> 1
h o r i z o n t a l P e r m i s s i o n [ i ]−−;
horizontalPrevious [ i ] = 1;
}
i f ( n o t e s [ i ∗ 3 ] == ’ 0 ’ ) {
horizontalPrevious [ i ] = 0;
}
}
}
52
3 Rekombination
Der Code im Detail
Das Programm benutzt als Datenstruktur zwei Klassen, die oben bereits erwähnte
Measure und die Motet. Während Measure die Aufgabe hat, den Quelltext zu
einem Takt sowie alle Meta-Informationen dazu zu speichern, gruppiert Motet die
Takte in einer ArrayList zu Motetten. Diese Gruppierung ist für das Programm
zwar nicht von kritischer Notwendigkeit, verschafft dem Benutzer aber sehr viel
mehr Überblick.
Measure
↔ origin : int
↔ measureNumber : int
↔ xmlCode : String
↔ firstNote : String
↔ followingNote : String
↔ position : double
+ appendToXmlCode(xmlCode : String)
Motet
‹ organizes
← name : String
← measureCount : int = 0
← measures : Measure[]
← position : int = 0
← ID : int
— position : int
+ getFilledMeasureCount( ) : int
+ getMeasures( ) : Collection<Measure>
+ getMeasure(number : int) : Measure
+ appendMeasure(measure : Measure)
+ correctMeasureNumbers( )
+ insertOrigin( )
Abb. 3.15: Klassendiagramm der Datenstruktur.
Die eigentliche Programmlogik besteht aus sechs Klassen, wobei Rekombinieren
und Main die entscheidenden sind und Log, ReadXML, SaveToXML und Serialize
als Hilfsklassen fungieren.
Die Klasse Main kann drei Operationen anstoßen:
1. XML-Daten einlesen und in *.motette-Dateien umwandeln,
2. Eine neue Motette rekombinieren,
3. Für jeden Originalanfang in der Datenbank eine neue Motette rekombinieren.
Die Rekombinieren-Klasse enthält die Implementation der oben erklärten Prinzipien.
Sämtliche Aktionen, die Dateien betreffen, sind in die Hilfsklassen ausgelagert.
Diese lassen sich dementsprechend einfach gegen eine MySQL-Datenbankanbindung
austauschen. Auch die Erstellung einer Log-Datei ist ausgelagert, um den zentralen
Code möglichst kompakt zu halten. Abbildung 3.16 gibt einen Überblick über die
Methoden der einzelnen Klassen.
Der Rekombinationsprozess
53
Rekombinieren
Main
– previousMeasureID : int
– usedOneTime : HashSet<Integer>
– usedMultipleTimes : HashSet<Integer>
– firstMeasure : String = “”
– newMotet : Motet
– measureDatabase : ArrayList<Measure>
– measureCounter : int = 0
– choicesCounter : int = 0
– measureCount : int = 0
– position : double = 0.0
– horizontalPrevious : int[ ]
– horizontalPermission : int[ ]
+ main(args : String)
– getMeasuresFromFile(pathname : String)
: ArrayList<Measure>
↓ uses
↓ uses
↓ uses
↓ uses
+ recombine(setMeasureDatabase : ArrayList<Measure>,
seed : String, setMeasureCount : int) : Motet
– evaluate(measureToEvaluate : Measure) : int
– appendResult(measureToAppend : Measure)
– lookAhead(followingNote : String) : int
– saveHorizontal(myNote : String)
– checkHorizontal(myNote : String)
Log
ReadXML
– logfile : String = “”
+ writeLog(text : String)
+ writeLog(a : Object[ ])
+ writeLog(taktCounter : int, rID: int,
origin: int, measureCount : int,
firstNote : String, followingNote :
String, position : double)
+ writeLog(bestChoice : int, choices : int,
horizontalPrevious : int[ ],
horizontalPermissions : int[ ] )
+ writeLog(overallWorst : int,
summedUpWorst : int,
alternatives : float,
choicesCounter : int)
+ writeLogTable( )
+ saveLog(filename : String)
+ flushLog( )
+ readXMLFile(pathname : String, filename : String) : Motet
SaveToXML
+ saveToXML(myMotet: Motet, filename : String)
Serialize
+ saveToFile(filepath: String, myMotet: Object)
+ loadFromFile(filename: String) : Motet
Abb. 3.16: Klassendiagramm der Ausführungsebene.
54
3 Rekombination
Ergebnisse
Das Programm erzeugt, je nach Einstellung, ein oder mehrere Motetten als XMLDatei (timewise) und jeweils eine dazugehörige Log-Datei. Diese gibt Auskunft über
die Zusammenstellung der Motette, ein gekürztes Beispiel ist in Listing 3.5 zu sehen.
Takt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ID
2146
406
3243
3244
2674
2675
2129
299
1495
1496
137
1274
1744
1215
100
101
| 126
| 127
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Herkunft
15−28
34−59
16−33
16−34
19−49
19−50
15−11
18−41
17−47
17−48
43−10
31−10
30−82
42−20
| 46−71
| 46−72
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ersteNote
|
D5 . 0 0 . 0 0 . 0 0 . |
C5 . A4 . 0 0 . A3 . |
E5 . 0 0 . G4 . C4 . |
D5 . A4 . 0 0 . D3 . |
A4 . F4 . C4 . A3 . |
0 0 . D4 . A3 . E3 . |
E5 . A4 . C4 . A3 . |
0 0 . 0 0 . B3 . G3 . |
C5 . F4 . A3 . C3 . |
B4 . G4 . B3 . G3 . |
G4 . D4 . C4 . G3 . |
C5 . E4 . C4 . A3 . |
G4 . D4 . E4 . E3 . |
G4 . E4 . C4 . C3 . |
Zielnote
|
C5 . A4 . 0 0 . A3 . |
E5 . 0 0 . G4 . C4 . |
D5 . A4 . 0 0 . D3 . |
A4 . F4 . C4 . A3 . |
0 0 . D4 . A3 . E3 . |
E5 . A4 . C4 . A3 . |
0 0 . 0 0 . B3 . G3 . |
C5 . F4 . A3 . C3 . |
B4 . G4 . B3 . G3 . |
G4 . D4 . C4 . G3 . |
C5 . E4 . C4 . A3 . |
G4 . D4 . E4 . E3 . |
G4 . E4 . C4 . C3 . |
A4 . E4 . C4 . A2 . |
...
Position
0.31
0.71
0.37
0.38
0.51
0.52
0.12
0.46
0.41
0.42
0.17
0.1
0.98
0.29
| D4 . B3−G3 . G2 . | D4 . F3+A3 . D3 . | 0 . 9 9
| D4 . F3+A3 . D3 . | 00−00−00−00−| 1 . 0
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Bewert
0
0
−2
−5
−4
−5
1
0
−2
−5
5
5
0
5
| 5
| 230
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Moegl |
6
|
7
|
2
|
1
|
2
|
1
|
5
|
5
|
2
|
1
|
5
|
11
|
2
|
27
|
| 6
| 1
horiz . Darst
1000
1101
1011
1101
1111
0111
1111
0011
1111
1111
1111
1111
1111
1111
| 1111
| 1111
.|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
horiz . Verlauf
4000
3404
2443
1442
0341
0230
4120
4110
4400
3300
2200
1100
0000
0000
| 1004
| 0003
Das S t u e c k i s t v o r b e i ! Die s c h l e c h t e s Wahl war −8, i n s g e s a m t i s t d i e Q u a l i t a e t 3 4 8 . D u r c h s c h n i t t l i c h h a t t e d a s
Programm d i e Wahl z w i s c h e n 5 . 9 0 0 9 9 A l t e r n a t i v e n und i n s g e s a m t 596 T a k t e e v a l u i e r t .
Z e i t b e n o e t i g t : 799 m i l l i s e c .
Listing 3.5: Eine Beispiel-Log-Datei.
Die Spalten der Log-Datei sind
Takt:
ID:
Herkunft:
Der Takt in der neuen Motette
Die eindeutige Identifikation des benutzten Taktes
Eine für Menschen besser lesbare Variante, bestehend aus der
ID des Originalstücks (siehe Tabelle 3.2) und der dortigen
Taktzahl
ersteNote:
wie auf Seite 40 beschrieben
Zielnote:
wie auf Seite 40 beschrieben
Position:
Die Originalposition des Taktes
Bewertung:
Das Ergebnis der Evaluation. Dieses kann natürlich weiter aufgeschlüsselt werden, wird dann aber sehr unübersichtlich.
Möglichkeiten:
Die Anzahl der zur Verfügung stehenden potenziellen Nachfolger, aus denen einer ausgewählt wird. Auch hier kann das
Programm detailliertere Informationen ausgeben, was die Übersicht aber sehr erschwert.
horiz. Darstellung: wie auf Seite 50 beschrieben
horiz. Verlauf:
wie auf Seite 50 beschrieben
Die XML-Datei muss, bevor sie in den gängigen Notensatzprogrammen geöffnet
werden kann, noch in das partwise-Format umgewandelt werden. Das Programm
gibt in der Konsole den Befehl dazu aus. Zusätzlich zu den Noten enthält sie die
Herkunft der einzelnen Takte jeweils über dem entsprechenden Takt. Abbildung
3.17 zeigt ein Beispiel.
Ergebnisse
55
Abb. 3.17: Eine neue Motette in Notenansicht.
Schwierigkeiten
In den rekombinierten Motetten gibt es noch zwei Bereiche, die dem Programm
Probleme bereiten.
Stimmumfänge
Die neu erstellten Motetten sind nicht komplett in den für Chor üblichen Stimmumfängen (siehe Abb. 3.4 auf Seite 37). Dies hat gleich mehrere Gründe:
1. In den Originalnoten schreibt Palestrina selbst teils sehr weite Umfänge. Die
übernommenen Takte haben verständlicherweise die selben Umfänge.
2. Nicht alle Motetten haben SATB-Besetzung (siehe Tabelle 3.2). Für neu erstellte Stücke wird diese aber — weil sie überwiegt — angenommen. So kann es
passieren, dass in der Sopranstimme Takte aus der Altstimme auftauchen —
was nicht zwingend bedeutet, dass dieser für den Sopran nicht singbar ist.
3. Da alle Motetten nach C-Dur transponiert wurden, sind einige Stellen besonders
tief. Überwiegen solche Takte, kann das neue Stück nach F-Dur transponiert
werden, wobei andere Stellen wiederum zu hoch werden können.
Eine Lösung für dieses Problem wäre ein Programm, das alle nicht singbaren Takte
aus der Datenbank löscht. Hierfür ist allerdings eine genaue Analyse aller Noten
notwendig.
56
3 Rekombination
Melodie
Die zweite Schwachstelle des Programmes ist, dass das Grundprinzip der Rekombination keine motivische Arbeit vorsieht6 . Es entstehen zwar neue Motive, es arbeitet
aber nichts darauf hinaus, dass diese wiederholt werden würden.
David Cope baut einen Mechanismus in seinen Ansatz ein, der Ähnliches versucht, um auf diesem Weg zu seinem Computermodell musikalischer Kreativität zu
kommen. Genauer beschreiben werde ich diese Möglichkeiten in Kapitel 4.
Analyse
Aus den vielen Motetten, die das Programm bereits geschrieben hat, habe ich drei
herausgegriffen, die nach den Bewertungskriterien des Algorithmus eine gute Bewertung haben. Alle drei klingen — meiner persönlichen Meinung nach — trotz
der fehlenden motivischen Arbeit schöner als die meisten, wenn nicht sogar alle Originalwerke. Aber die Bewertung der Schönheit ist letztendlich jedem selbst
überlassen.
Die beiden Werke Puma Concolor, mit einem sehr interessanten, sogar äußerst
kreativen Umgang mit der Bassstimme, und Panthera Onca befinden sich im Anhang, das dritte, Acinonyx Jubatus, werde ich im Folgenden genauer analysieren.
Eine Aufnahme von allen dreien als mp3-Datei ist der Arbeit beigefügt.
Rekombinatorische Analyse
Die neue Motette kann aus zwei Sichten analysiert werden: Der musikalischen und
der rekombinatorischen. Letztere bedeutet, nachzuvollziehen was der Algorithmus
warum gemacht hat und wie das Ergebnis zu den Originalen steht.
Die Abbildung 3.18 zeigt in der oben (Seite 45) eingeführten Darstellung die
Positionen der Takte. Dabei würde ein Originalstück die Winkelhalbierende ( f (x) =
x) ergeben. An der schwarzen Trendlinie lässt sich erkennen, dass das Stück den
intendierten Verlauf annimmt.
Abbildung 3.19 zeigt, wie viele Takte aus jeder Motette in der Datenbank stammen. Dabei steuern nur zwei Motetten sieben Takte bei, aus fünf Motetten stammen jeweils sechs Takte, der Rest ist gut verteilt. Durchschnittlich wurden 2.1 Takte
aus jeder Motette entnommen. Mehrere Takte aus der selben Motette können dazu
führen, dass diese abschnittsweise in der Originalreihenfolge übernommen wurden.
Dies ist besonders von Nöten, wenn zum Beispiel durch eine Modulation keine Alternativen verfügbar sind.
6
Obwohl die Vermutung naheliegt, dass eine Rekombination aus Haydns 100. Sinfonie, Beethovens 5. Sinfonie, Mahlers 5. Sinfonie und Mendelssohns Hochzeitsmarsch, die alle vier dasselbe
Motiv verwenden, durchaus großartige Ergebnisse liefern würde.
57
Position im Originalstück
Ergebnisse
Position im neuen Stück
Abb. 3.18: Verlauf der Positionen.
Anzahl der Vorkommen
7
6
5
4
3
2
1
0
2 3 4 5 6 7 8 9 10 11 13 14 15 16 17 18 19 20 21 22 23 25 26 27 28 30 31 33 34 35 36 37 38 39 40 41 42 43 44 46 47 48 49 50 52 53 54 55
ID der Motette
Abb. 3.19: Anzahl der übernommenen Takte pro Motette.
Im Notentext habe ich mit rot markiert, wann immer zwei oder mehr Takte in
ihrer Originalreihenfolge vorkommen. Insgesamt zwölf Mal sind zwei aufeinanderfolgende Takte übernommen, nur zwei Mal treten dreitaktige Passagen auf, viermal
viertaktige.
Blaue Verbindungen hingegen weisen auf Takte hin, die zwar aus der selben
Motette stammen, aber nicht direkt miteinander verbunden sind oder im Original
waren. So stammen die Takte 77 und 78 auf Notenblatt 5 beide aus der Motette
Nr. 40, haben dort aber 17 Takte Abstand. Trotzdem enthalten beide den Achtellauf
abwärts, erst im Sopran, dann im Alt. Als zweites Beispiel dienen die Takte 79 und
81: Im Original befindet sich ein Takt zwischen den beiden, dieser wurde hier jedoch
ersetzt. Die a-gis-a-Figur bleibt jedoch erhalten.
Als weitere Kriterien wurden Taktwiederholungen bestraft, die in diesem Stück
daher nicht aufgetaucht sind, eine Hinführung zu Ende gefordert, die hier erfüllt
ist, und die Vermeidung von ungewöhnliche Pausen und Einsätze gefordert, was
ebenfalls erfüllt ist. Der Algorithmus hat somit alle Anforderungen bedient.
In den beiden Motetten im Anhang hat die Kontrolle des Stimmenverlaufs zu
sehr interessanten Ergebnissen geführt: Puma Concolor beginnt zweistimmig mit
nur den Oberstimmen, erst in Takt 13 setzt der Tenor ein, der Bass hat seinen ersten
Einwurf in Takt 20, verstummt danach aber sofort wieder und tritt erst in Takt 29
wieder auf. Auch danach ist die Bassstimme von ihren Pausen geprägt, was dem
Stück einen sehr schwebenden Charakter gibt, der durch die Verteilung der Achtelläufe auf verschiedene Stimmen (bes. Takt 31f., Takt 38–44, Takt 95f.) noch verstärkt wird.
58
3 Rekombination
Panthera Onca zeichnet sich sich durch die vielfache Verwendung von Palestrinatypischen Motiven aus, genaueres dazu werde ich in Kapitel 4 erklären.
Musikalische Analyse
Zunächst ist hier anzumerken, dass die Noten im 4/4-Takt notiert sind, wie es in der
Gesamtausgabe ebenfalls ist, und nicht im für Palestrina typischen Alla Breve-Stil.
Diese “modernere” Schreibweise soll das Lesen der Noten vereinfachen.
Die musikalische Analyse gestaltet sich recht schwer, da nicht klar ist, nach welchen Kriterien analysiert und bewertet werden soll. Die meisten Formen der Analyse
basieren auf einer motivischen (imitatorischen) oder thematischen Arbeit, diese ist
hier bislang wenn überhaupt, dann unbeabsichtigt vorhanden.
Um die Analyse bestmöglich zu gestalten, habe ich mir die Unterstützung dreier
Musikwissenschaftler geholt: Roberto Reale (Komponist), Prof. Dr. Peter Schleuning (Professor für Musikgeschichte und -theorie) und Prof. Dr. Violeta Dinescu
(Komponistin, Professorin für angewandte Komposition).
Zunächst zu den musikalischen “Unfeinheiten”, die im Stück auftreten:
• Der Tenor setzt im Takt 2 auf dem hohen A ein — ein Ton, den man zwar erreichen kann, auf dem man jedoch nie beginnen sollte. Der Algorithmus unterstützt
wie gesagt derzeit keine Erkennung der Stimmumfänge, ist dies jedoch erst einmal implementiert, könnten solche Einsätze vermieden werden.
Palestrina nutzt außerdem, da nicht viele andere Mittel zum Ausdruck zur Verfügung standen, hohe Töne als Höhepunkt des Stückes. Auch aus diesem Grund
sollte ein so hoher Ton nicht am Anfang auftreten.
• Von Takt 3 auf Takt 4 befindet sich ein authentischer Ganzschluss, also in d-Moll
ein A-Dur Dreiklang, der zur Tonika auflöst. In Motetten wird dieser benutzt, um,
nachdem das Motiv als Dux und Comes vorgetragen und weitergeführt wurde,
einen Abschluss zu komponieren, nach welchem ein neuer Dux erklingt. In der
ursprünglichen Motette Nr. 16 (Surge Propera) ist dieser Schluss von Takt 33 auf
Takt 34. In diesem Werk tritt er jedoch deutlich zu früh auf. Das liegt daran, dass
ohne eine motivische Arbeit auch kein optimales Vorkommen für einen Schluss
bestimmt werden kann.
• In Takt 8 beginnt im Sopran eine Viertel (A), die auf eine ganze Note im nächsten
Takt übergebunden ist. Dies ist nicht nur für Palestrina sehr ungewöhnlich. Im
Original folgt auf die Viertel eine Achtel, in diesem Fall fehlt dem Programm
eine Überprüfung, auf welche Notenlängen übergebunden wird.
• In den Takten 51 bis 54 wird im Sopran ein A gehalten. Dies kommt zwar häufig
am Ende von Motetten vor, aber eigentlich nicht in der Mitte. Die Taktzahlen
der Originale verraten auch: Der Takt 34-80 (aus Beatus Vir) hat im Original
nur noch drei Takte bis zu Ende, der Takt 2-70 (aus Lapidabant Stephanum)
immerhin noch 16. Nur der erste, Takt 31-19 (aus Hic Est Vere Martyr), ist auch
im Original relativ weit vorne.
Ergebnisse
59
Diese Punkte geben alle einen Ansatz, um den Algorithmus noch weiter zu verbessern. Darüber sollte aber nicht vergessen werden, was das Programm bereits erreicht: Ein Großteil des Ergebnisses ist tatsächlich sehr gute Musik.
Ich denke aber, dass man das Stück nicht nach etwas bewerten sollte, was es nicht
zu sein versucht — bislang ist eben noch keine motivische Arbeit vorhanden. Das
nimmt aber nicht den Zauber, der diesen neuen Stücken anhaftet. Man könnte es wie
folgt formulieren:
Es werden Fragmente aus Stücken verwendet, die durch bestimmte Regeln
entstanden sind. In rekombinierter Form entsteht durch diese Regeln plötzlich
eine andere als die beabsichtigte Musik, eine neue Musik.
60
3 Rekombination
Acinonyx jubatus
Motette im Stil von G. P. da Palestrina
Seed: D5.00.00.00., 101
Soprano
16-33
° 15-28
œ œ œ 34-59
œ™ œ œ œ œ œ ˙
& œ
J
& Œ œ œ bœ ˙
Alto
Tenor
Bass
Jannik Arndt
¢
∑
&
‹
?
˙
& ˙
Ó
? ˙
18-41
˙
17-47
∑
Ó
˙
13
& œ
œ˙
&
‹
¢
˙
œ œ ˙
˙
° 30-82
& w
42-20
œ ˙
˙
? œ œ ˙
Œ œ œ
œ œ œ œ™ œ ˙
J
œ œ œ œ œ œ œœ œ ˙
& œ
‹
¢
16-34
œ
Œ œ
œ ™ œJ œ œ œ œ bœ œ œ œ œ
∑
° 15-11
˙
&
7
Œ
Ó
#œ œ ™ nœbœ ˙
œ w
#œ
œ ˙
˙
œ œ
œ œ ˙
Ϫ
œ
Ó
œ™ œj œ œ
œ™ œj bœ œ
43-10
˙
j
œœ œ ˙
19-50
Ó
Œ œ
˙
8-15
œœœ œ œ ˙
Œ œ
œ
œ œ œ™ nœJ
˙
œ œ ˙
31-10
j
œ™ œ ˙
œ œ
œ™ œ
J
œ#œ œ
Œ
j
œ œ œ œ œ ™ œ œ œ œ œ œ œ œ œ œ™ œJ ˙
˙
œ
œ œ ˙
j
œ œ™ œJ œ œ œ œ œ œ œ
œ œ œ™ œ œ œ œ œ ˙
w
27-8
53-5
œ œ œœœ
œ œ œ œ œœ œ œ œ œ œ œ ˙
œ™ œ ˙
J
˙
œœœœ œ œ œœœœ ˙
17-48
˙
19-49
w
∑
40-22
œ œœœ
œ ˙
w
∑
˙
˙
˙
Œ
˙ #œ
Ergebnisse
61
48-54
6-35
° 46-11
œ
œ
& œ
œ ˙ œ œ œ œ œœ œ
œ
2
19
& ™ j œ ˙
œ œœ
∑
&
‹
Œ
? ˙
˙
° 48-13
& Ó
˙
¢
25
¢
? ˙
˙
œ œ œ™
œ™ œj œ œ
˙
œ œ œ nœ
˙™
Œ œ
46-46
œ
˙
18-77
& œ œœœ œœ w
œ
&
‹
¢
? Ó
20-20
Ó
˙
∑
Œ
Œ ˙
œœ ˙
41-20
œœ
œ œ œ œ
œ œ œ œ™
J
œ #œ œ œ ˙
20-19
°
& œ œnœ œ œ œ œ
31
œ
˙
& Œ œ ˙
& #˙
‹
œ œ œ œ œœ
œ
˙™
9-19
˙
∑
Ó™
œ œ ˙
œ œ
œ œ ˙
œ œ™
26-15
Ϫ
j
œœ œ ˙
œ œ #œ œ œ ˙™
Œ œ œœœ œ œ œ ˙
œ ™ #œ #œ œ
œ œ b˙
œ œ œ™ œj ˙
˙
œ œ œ ™ œJ ˙
œœ
J
26-16
œ œ œ œ œ #œ ˙
œ
33-27
w
œœ
J
œ œ™
œ
16-13
j
j
œ œ œ™ œ œ™ œ œ œ
˙
j
œ™ œ ˙
#œ œ œ œ
œœ œ ˙
œ
Ó
˙
œ œ ˙
˙
48-27
˙
48-12
Ó
˙
26-17
˙
˙
Ó
Ó
Ó
˙
∑
50-9
œ œœ œ ˙
œ
˙
œ
œ
œœœœ
œ œ œ œ œ bœ
œ œ œ œœ
œœ ˙
˙™
˙
œ
62
3 Rekombination
°
& œœœœ œœœ
37
&
20-11
Ϫ
& ˙
‹
¢
20-12
20-13
œœ˙
œ œ œ œ™
j
œ œ œœ œœœœ˙
Ó
˙
œœœœ
? w
˙
° 50-36
˙
& œ œ œ œ œ
43
41-28
Ó
˙
˙
& œ œ œ œ œ œ œ œ œ
œ ˙
° 31-21
˙
& Œ
49
15-19
Œ
& w
&
‹
¢
˙
˙
œ œœœ œ œ œ
? ˙
˙
˙
Ó
œ œ œ œ œœ˙
∑
œ
j
œ œ™ œ œ œ œ
œ #œ œ œ ˙
30-26
∑
˙
œ™ œ œ œ œ
J
œ ˙
∑
Œ
Œ
31-19
w
41-8
˙
Ó
œ
œ ˙
nœ œ œ ˙
˙
34-80
w
41-9
˙
˙™
œ
∑
15-24
œ w
œ ˙
˙
œ
œ œ ˙
œ
œ ˙
7-54
2-70
w
œœ œ ˙
J
˙
œ œœœ
œ ˙
Œ
Œ
œ
œœ œ œ œ œ
œ œ œœœ ˙
˙
œ œ œ œ œ œ œ
œ œ™
œœ˙
Ó
œ œ™ œJ œ œ œ œ œ œ œ œ œ ˙
#œ
œ
œ ™ œœœ œ
43-24
j
œ™ œ œ #œ œ œ œ™
œ œ
?
Ó
43-23
w
œ ™ œ œ œ œ#œ ˙
& œ œ œ œ
J
‹
¢
j
œ œ œ ˙
9-31
œ
œ
œ
j
œ™ œ œ œ
œ œ œœ œœœ
œ ˙™
œ
3
Ergebnisse
63
° 7-55
& œ œ #˙
4
55
&
&
‹
¢
49-39
Œ
Œ
˙
˙
œ #œ ˙
? œ œ ˙
° 28-48
& ˙
61
28-46
j
œ œ œ œ#œ œ œ ™ œ nœ œ ˙
#œ ˙
Œ œ ˙
œ
Œ œ ˙
˙
42-37
œ œ œ œ ˙
28-45
˙
œ ˙
Ϫ
˙
œ œ œ œ
41-32
œ
28-47
Œ
œ
œ
∑
˙
œ œ œ œ™ œ œ
J
œ
œœœ
˙
˙
Œ
Ó
Œ œ
œ œ œ œ œ™ œ œ œ œ œ œ
J
j
œ œ œ œ œ œ œ œ œ œ #œ ˙
4-34
26-45
4-35
Ó
œ
œ
Œ œ œ œ œ œ
4-36
w
œ œ œ œ œ œ œ œ œ œ œ œ œ œ œ œ œ™ œj œ œ œ œ œ œ ˙
œ œ œ œ œ œ œ œ™ œ
œ
Ó
∑
˙
œ
J
& œ˙ œ ˙
‹
& Œ
¢
? œ œ ˙
° 4-37
& œ œ œ œ
67
& Œ ˙
&
‹
¢
œ
˙
Œ
˙
œ œ œ œ œ œ œ œ
20-54
˙
œ œ œ œ œ œ ˙™
? œ™ œ œ œ
J
∑
Ó
˙
˙
31-71
˙
˙
w
23-47
Ó
œ œ ˙
˙
Œ œ w
œ œ œ œ œ œ œ œ #œ ˙
œ œ œœœ ˙
œ ˙
3-43
˙
œ ˙
œ œ™ œ œ™ œ
J
J
3-44
w
œ œ œ œ ˙
œ #œ ˙
˙
˙
Œ œ
˙
64
3 Rekombination
°
& w
73
5
¢
?
Œ
˙
œ œœ˙
œ™ œ œ œ
J
˙
∑
79
Œ
b˙
œ
œ
˙
? ˙
&
Œ
&
‹
¢
?
œ œ œ
˙
Ó
Ó
Ó
Œ
Ó
40-30
Œ
˙
œ
Ó
Œ
48-10
œ œ ˙
œ œ œ ˙
Œ
œ œ œœœ
œ
œ
˙
œ
œ #œ œ œ
50-45
Œ
Œ
œ
œ #œ
j
œ™ œ œ œ œ œ œ œ œ œ œ œ ˙
˙
œ
œ
œ œ™ œ œ œ œ
J
50-44
Ó
œœ˙
œ œ œ œbœ
œ œ œbœ
˙
œ ˙
œ œ ˙
œ œ œ œ œ #œ œ
˙
50-46
œ
j
œ œ œ ˙
42-46
50-47
°
j
& œ™ nœ œ œ œ œ œ œ œ œ œ ˙
œ
84
40-13
œ œ œ œœ œ œ
œ™ œJ œ œ ˙
43-36
œœœœ w
˙
& œ #œ œ
‹
¢
j
œ œ œ™ œ œ œ œ™
œ
œ™ œ œ œ œ œ ˙
J
° 42-44
& ˙
&
50-37
19-63
4-55
& Ó
&
‹
œ œ œ œnœ œ œ #œ œ œ œ™ œ œnœ
œœ œ œ œ œ
J
Œ œ œ #œ
4-54
Ó
œ #œ œ nœ œ œ
18-52
œ œœœ œ
˙
˙
œ œ
˙
˙
˙
œ #œ œ œ œ œ ˙
œ œ
18-53
Ó
Œ œ
œœœ
˙
41-50
œ œ œœœ œ œ ˙
œ œ œ œ œ œ ˙ #œ
œœ œ ˙
œœ œ œ ˙
œ œ œ œ œ
˙
˙
Ergebnisse
° 40-49
& ˙
6
90
65
Ó
41-52
&
¢
œ œ œ œ
œ œ
& ˙
‹
? ˙
œ #œ
Ó
œ œ ˙
˙
œ
96
¢
œ
˙
& #œ
‹
? Ϫ
œœœœ
J
œ
˙
˙
˙
Ó
œ ˙
Ó
Œ ˙
Œ œ œœœ
˙
œ œ
˙
œ œ ˙
˙
Œ œ
œ œ b˙
46-68
œ œ œ œ
œ
œ
46-69
∑
46-71
œ ˙
œ œ œ œ b˙
nœ bœ œ œ œ
Ó
œ #œ ˙
31-69
˙
œ ˙
œ #œ ˙
˙
˙™
˙
œ™ nœ œ œ
J
28-39
28-38
œ œ bœ œ bœ œ ˙
œ œ ˙
48-16
° 36-69
& Œ œ œœœœ ˙
& œ œ ˙
40-51
˙
˙
Ó
œ œ
46-72
w
w
œ œ bœ œ ˙
#w
#œ
œ œ
œ œ b˙
˙
œ #œ ˙
œ
w
w
66
3 Rekombination
Rekombination und Kreativität
Ich habe am Anfang dieser Arbeit eine Definition von Kreativität aufgestellt und
behauptet, dass die Rekombination der beste Ansatz für eine Künstliche Kreativität
sei. Mit dem Wissen, das der Leser in Kapitel 3 gewonnen hat, werde ich nun zeigen,
warum dies der Fall ist.
Definition
Erklärung
Kreativität ist ein Prozess, in dem
Das Programm entwickelt das Ergebnis Stück für Stück,
es trifft dabei immer im entscheidenden Moment die Wahl,
wie es fortfährt.
Für die Auswahl des Folgetaktes werden rund 320 000 Vergleiche benötigt, für die LookAhead-Funktion kommen
fast 2 Millionen Vergleiche dazu.
Als Auseinandersetzung mit Bestehendem kann die Evaluationsfunktion gesehen werden, die jeden potenziellen
Nachfolger genau analysiert.
Dies bezeichnet den Kern der Rekombination: Ein Anfangstakt wird erweitert, dies geschieht durch Kombination mehrerer Takte. Das Ergebnis ist dabei eine Variation
von bereits Bestehendem. Lediglich die Spezialisierung ist
in dieser Implementierung noch nicht explizit vorhanden,
wird aber durch die Ansätze in Kapitel 4 eingeführt werden.
Dass Neues geschaffen wurde zeigt vor allem die Reaktion der Musikwissenschaftler, die die Noten vorab zu sehen
bekommen haben.
Diese beiden Punkte sind sehr schwer fassbar, es lässt sich
aber folgender Vergleich anstellen: Menschliche Komponisten besitzen Gespür und Zielgerichtetheit nicht “a priori”, sondern sie sind das Ergebnis von Sozialisation und
Bildung. Man kann nicht revolutionär Neues schaffen, ohne zu wissen, was bereits existiert. Diese “Grundbildung”,
die SchülerInnen von ihren LehrerInnen erhalten, enthält
mein Algorithmus von mir in Form der Evaluationsfunktion. Trotzdem besitzt der Algorithmus — wie jede(r) SchülerIn auch — die Eigenschaften an sich selbst.
Interpretiert man “Wert auf etwas legen” nicht als Wille,
sondern vielmehr als Handlung, so zeigt das Ergebnis der
Rekombination, dass auch dieser Punkt erfüllt ist.
Dieser Teil ist bislang nicht in der Implementierung vorhanden, wird aber in Kapitel 4 als Selbstadaption diskutiert.
mit hoher Arbeitsintensität,
auf Basis der Auseinandersetzung
mit und
Erweiterung, Kombination, Variation und Spezialisierung von Bestehendem,
Neues geschaffen wird, wobei
durch ein Gespür für Interessantes
und eine starke Zielgerichtetheit
auf soziale, äußere Akzeptanz
Wert gelegt wird
und gleichzeitig der KreativSchaffende sich selbst anhand
seiner Ergebnisse anpasst und
so eine Art ‘kreative’ Intelligenz
entwickelt.
Tabelle 3.5: Warum Rekombination die Definition von Kreativität erfüllt.
Kapitel 4
Weiterführende Ansätze
Aus der Analyse ist klar geworden, dass der Grundalgorithmus zwar bereits sehr
gute Arbeit leistet, an einigen Stellen aber erweitert und verbessert werden kann.
Cope selbst hat einige dieser Verbesserungen im Laufe der Jahre in sein Programm
einfließen lassen, insbesondere das Behalten von Pattern und die Anlehnungen entstammen seinem Buch (2005).
Weiter vorausschauen
In der Evalutationsfunktion existiert bereits eine LookAhead-Funktion. Diese betrachtet für alle potenziellen Nachfolger die Anzahl deren Nachfolger und ist damit
die rechenaufwändigste Operation im Programm. Allerdings sind die Ergebnisse —
obwohl sehr hilfreich — noch nicht weltbewegend.
Im Laufe des Programmierens und Testens hat sich herausgestellt, dass alleine die Anzahl der Nachfolger wenig über die Erfolgschancen eines Taktes aussagt.
Eher im Gegenteil: Mein erster Ansatz war es, die Anzahl als Evaluationspunkte
zu vergeben — mit dem Ergebnis, dass der Algorithmus früher oder später immer
beim selben Takt, nämlich dem am wenigsten individuellen, gelandet ist, und von
dort aus immer den gleichen Weg gegangen ist. Die erste Verbesserung sah also vor,
die Anzahl der Nachfolger zu gewichten, also immer für bestimmte Schritte Punkte
zu verteilen. Auch dies führte zum immer gleichen Ergebnis.
Letztenendes kam ich zum Schluss, dass man mit Hilfe der Anzahl lediglich den
worst-case verhindern kann — nämlich Takte ohne Nachfolger. Zusätzlich hat es
sich als ganz nützlich erwiesen, auch Takte mit nur einem Nachfolger zu bestrafen, um so in den folgenden Schritten immer eine Auswahl an Möglichkeiten zur
Verfügung zu haben.
Trotz allem will ich am Prinzip einer LookAhead-Funktion festhalten, aus zwei
Gründen: Zum einen benutzt und benötigt Cope ähnliche aber meiner Meinung nach
weniger elegante Lösungen, wie backtracking, oder mit dem Schluss des Stückes
67
68
4 Weiterführende Ansätze
anzufangen und von dort rückwärts zu rechnen. Zum anderen ist das Vorausschauen
ein wichtiger Teil menschlicher Komposition
Eine verbesserte Umsetzung ist also, für jeden potenziellen Nachfolger selbst eine Evaluation durchzuführen, und diese in die aktuelle Evaluation mit einfließen zu
lassen. Im Gegensatz zu der Anzahl würde dies nicht immer zum gleichen Fortlauf
des Stückes führen, weil die Anzahl absolut ist, die Evaluation aber immer kontextbezogen, also für jeden Takt zu jedem Zeitpunkt im Stück unterschiedlich, ist.
Die Schwierigkeit dieses Ansatzes liegt allerdings darin, dass für den potenziellen Nachfolger eines Taktes, der selbst noch gar nicht gewählt ist, trotzdem angenommen werden muss, dass dieser gewählt wurde. Diese Virtualisierung ist sehr
aufwändig und daher bislang noch nicht in der Implementierung vorhanden.
Selbstadaption
Die Definition von Kreativität fordert, dass “der Kreativ-Schaffende sich selbst anhand seiner Ergebnisse anpasst und so eine Art ‘kreative’ Intelligenz entwickelt.”
Tatsächlich bietet der Algorithmus eine Möglichkeit, diese Selbstadaption einzubauen: Tabelle 3.3 (Seite 44) zeigt die Werte, mit denen potenzielle Nachfolgetakte
bestraft oder belohnt werden, wenn sie bestimmte Kriterien erfüllen. Diese Parameter sind zur Zeit manuell eingestellt, und damit immer nur im Bereich einer Vermutung, Schätzung, im besten Fall Erfahrung. Aber gerade die Erfahrung zeigt auch,
dass für unterschiedliche Motetten verschiedene Einstellungen bessere Ergebnisse
liefern.
An diesem Punkt dienen Evolutionäre Algorithmen (siehe S. 18) als ein sehr geeigneter Ansatz: Es gibt keine Funktion, anhand der optimiert werden könnte, aber
eine Fitness lässt sich leicht aus der Evaluationsfunktion berechnen (und wird auch
schon berechnet)1 . Der Algorithmus würde dann die Parameter so steuern, dass zu
jedem gegebenen Anfang die bestmögliche Motette gefunden wird.
Dieses Vorgehen entspricht in der menschlichen Komposition einem “Aber das
ist gerade nicht so wichtig. . . ”, oder einer Lehrenden, die auf ein Kriterium gesondert Wert legt, oder aber einem Aha-Erlebnis, das die eigenen Auffassungen ändert.
Pattern behalten
David Cope ergänzt seinen Algorithmus, indem er musikalische Pattern erhalten
lässt (Cope, 2005, S. 95). Ihm geht es dabei ganz speziell um motivische Fragmente,
die ein bestimmter Komponist in mehreren verschiedenen Stücken benutzt, und die
1
Dem besonders aufmerksamen Leser wird aufgefallen sein, dass sich die Bewertung genau aus
den einzelnen Parametern ergibt. Belohne ich eine Eigenschaft nun stärker, so wird natürlich auch
das Ergebnis sehr viel besser. Daher wäre bei einer Implementierung zu beachten, dass geänderte
Werte stets relativ zu ihren Ursprungswerten berechnet werden!
Pattern behalten
69
so als ein Erkennungsmerkmal, fast als eine Art Unterschrift (siehe B-A-C-H-Motiv)
dienen.
Diese Muster werden zunächst beim Analysieren des Gesamtwerks eines Künstlers erkannt und gespeichert. Beim Erstellen neuer Stücke fügt das Programm diese
dann unverändert wieder ein.
Generell ist so ein Vorgehen in Kombination mit takteweiser Rekombination wie
ich sie benutzt habe fast unmöglich zu realisieren. Motive können nicht isoliert werden, sondern müssen immer in vollen Takten übernommen werden. Außerdem werden stets alle vier Stimmen übernommen. Falls es also überhaupt möglich wäre,
ein Pattern einzufügen, dann würde die Passage in jedem Stück exakt gleich klingen. Viel erstrebenswerter wäre es aber, das Pattern nur in einer Stimme auftreten
zu lassen, während die anderen sowohl zum bisherigen Stück als auch zum Pattern
passend verlaufen.
Die Lösung hierfür liegt in einer Umgestaltung der Rekombination: sie dürfte
nicht mehr takteweise erfolgen, sondern müsste kleineren Abschnitten stattfinden.
Beispielsweise kann ein Stück auch in Fragmente der Länge einer Achtelnote zerlegt
werden. Die größte Schwierigkeit dabei ist, wie mit längeren Notenwerten umgegangen wird.
Aktuell werden Noten, deren Länge über die der Fragmentgröße (also ein Takt)
hinausgehen (also länger als eine Ganze) durch Überbindungen gekennzeichnet. Dadurch ist zwar gewährleistet, dass die Note fortgeführt wird, allerdings nicht, wie
lange. Beispiel: Gerade zum Ende kann es vorkommen, dass eine Note über drei
Takte ausgehalten wird. In dem Takt, in dem sie anfängt, wird aber nur gespeichert
“dieser ganze Takt und darüber hinaus”. Wie weit hinaus wird nicht bestimmt. So
kann es kommen, dass die Note nur mit einer halben fortgesetzt wird. Dies ist zwar
eine kleine Abweichung vom Originalstil, ist aber aus zwei Gründen tolerierbar:
Zum einen ändert sich im Taktwechsel die Führung der anderen Stimmen, sodass
sie zu der Fortführung als halbe Note passen, zum anderen ist die Stimmführung auf
so hoher Ebene deutlich weniger problematisch als zum Beispiel auf dem Niveau
einer Achtel.
Warum erkläre ich das? Weil dieser Ansatz sehr einfach auf eine achtelweise
Rekombination übertragen werden kann — und dort zu großen Problemen führt.
Um den Originalstil zu wahren, sollten mindestens halbe Noten, eigentlich aber
ganze Noten übernommen werden. Angenommen, die Datenstruktur könnte für
Achtel-Fragmente jeweils speichern, wie lang die Noten insgesamt werden sollen
(was die von MusicXML nicht kann, d.h. es müsste zunächst eine eigene Struktur
zum Speichern der Noten geschaffen werden). Fängt der Algorithmus nun einen
neuen Takt an, so hat er beispielsweise im Tenor eine halbe Note, die ausgehalten
werden soll. Die Achtel auf dem ersten Schlag (bei Achtelunterteilung besitzt ein
Takt acht Schläge) sind ebenfalls schon gegeben. Nun muss er ein Fragment suchen,
das im Tenor seit einem Schlag eine halbe Note hält und alle anderen drei Stimmen
adäquat fortführen kann. Zusätzlich tritt das Problem auf, dass Wechselnoten und
Durchgangstöne nur auf unbetonten Zählzeiten (also Schläge 2, 4, 6 und 8) auftreten dürfen — es sei denn, sie dienen als Vorhalt!
70
4 Weiterführende Ansätze
Wenn der Leser nun verwirrt ist, dann zurecht. Die Probleme, die auftreten, wenn
man die Fragmentgröße der Rekombination verkleinert, sind unglaublich komplex.
Ich sage nicht, dass es unmöglich wäre, sie zu lösen — ganz im Gegenteil bin ich davon überzeugt, dass es die einzig sinnvolle Möglichkeit ist, Pattern zu erhalten oder
sogar die motivische und imitatorische Arbeit einer Motette zu bewerkstelligen. Ich
sage nur, dass es nicht leicht wird.
Auf eine ähnliche Art und Weise lässt sich Copes Idee der Anlehnungen einbauen: Er zitiert Pablo Picasso 2 und sagt “Good artists borrow; great artist steal.” (Cope
et al., 2001, S. 33). Tatsächlich finden sich in vielen Werken klassischer Musik sogenannte Anlehungen an andere Künstler und Werke. Diese sind in der Regel sehr
viel versteckter oder variationsreicher verbaut als die Pattern. Die Technik, diese zu
integrieren basiert aber auf den oben genannten Prinzipien.
Anwendung auf andere Stile
Ich habe eingangs erklärt, warum die Musik sich für eine Forschung in Künstlicher Kreativität besonders eignet: Sie hat bereits ein bestehendes formales System,
um sie maschinenlesbar auszudrücken. Ich habe auch gesagt, warum ich PalestrinaMotetten gewählt habe: Sie haben eine sehr klare Struktur, die sie wie für die Rekombination geschaffen macht.
Diese Punkte sind jedoch nur Einschränkungen, die die Arbeit einfacher machen, aber nicht erst möglich. Im Umkehrschluss ist es also nicht unmöglich, die
Prinzipien auf andere Stile — ob auf Komponisten, Epochen oder die ganze Musik bezogen — anzuwenden. David Cope schafft es nach 30 Jahren Forschung, sein
Programm einen zweiten Satz der 10. Sinfonie von Beethoven schreiben zu lassen3 . Auch wenn der Weg dahin weit ist, aber warum sollte nicht eines Tages ein
Computer ein zweites Violinkonzert von Tschaikowsky schreiben? Oder Schuberts
Unvollendete vollenden? Und wer nicht die Klassik massakrieren möchte, kann sich
ja immer noch die Pop-Musik vornehmen — und einen Nummer-Eins-Hit komponieren lassen!
Mein letztes Beispiel möchte ich kurz aufgreifen, um an einer einfachen Kategorie zu zeigen, wie leicht übertragbar das Prinzip der Rekombination ist. Der größte
Schritt ist es, eine Datengrundlage zu schaffen, die aus möglichst einheitlicher Musik besteht. Dazu muss man aus der Musik die “kompositorische Essenz” herausziehen. Hier fallen Dinge wie die Stimme der Sängerin weg, ebenso alle Soundtechnik,
2
fälschlicherweise: das Zitat stammt von Steve Jobs, welcher Picassos “Lesser artists borrow;
great artists steal” selbst falsch zitiert. Ähnliche Aussagen gibt es auch von Igor Stravinsky und
T. S. Eliot, siehe http://en.wikiquote.org/wiki/Steve_Jobs#Misattributed
3 Beethoven hatte dazu bereits Entwürfe gemacht
Anwendung auf andere Stile
71
der Text, unter Umständen sogar die Instrumentierung. Es bleibt also ein Klavierauszug mit Gesangsstimme über4 .
In dieser reduzierten Form angekommen ist das letzte, was man der Musik noch
nehmen kann, der Rhythmus. Das Problem ist ähnlich zur Rekombination von
Mozart-Stücken, die als Begleitstimme mal Sechzehntel, mal Achtel haben. Eine
elegantere Lösung, als auf den Rhythmus zu verzichten, ist, nur entsprechend ähnliche Fragmente zu wählen, oder die Fragmente zu strecken oder stauchen, damit sie
die Anforderungen erfüllen.
Hat man all diese Schritte erfüllt, kann man nun mit der Rekombination beginnen. Wohlgemerkt muss all das, was man vorher abstrahiert hat, im Nachhinein
wieder hinzugefügt werden, entweder vom Algorithmus selbst, oder als Zusammenarbeit von Computer und Mensch.
Ob das Ergebnis dann überzeugend ist, wird sich zeigen.
4
Ich habe selbst jahrelang Sängerinnen am Klavier begleitet und bin daher überzeugt, dass die
“kompositorische Essenz” das ist, was das Publikum einen Song wiedererkennen lässt und die
selben Emotionen wie das Original auslöst.
Glossar
Da sich diese Arbeit sowohl an Informatiker, Musiker, Nicht-Musiker, Nicht-Informatiker, Alles-Könner und fachfremde Interessierte richtet, habe ich versucht, den
Text so erklärend wie möglich zu schreiben, ohne dabei den Lesefluss einzugrenzen.
Was im Text nicht sofort klar wird, hoffe ich hier ausführlicher zu beschreiben.
Akkord Ein Akkord ist die Verbindung aus mehreren Tönen. Die geläufigsten sind
Dur- und Moll-Akkorde, es gibt aber auch andere.
Enharmonische Verwechslung Da Noten mit den Zeichen ] und [ erhöht respektive erniedrigt werden können, ergeben sich für die Töne, die auf den schwarzen
Tasten des Klaviers liegen, jeweils zwei Namen: So bezeichnen C] und D[ beide
dieselbe Taste. Darüber hinaus können auch weiße Tasten anders aufgefasst werden, beispielsweise das C als erhöhtes H, also H] oder “His”. Welche von beiden
Bezeichnungen die richtige ist, entscheidet jeweils der Kontext. Dies ist in musikwissenschaftlichen und kompositorischen Kontexten wichtig, aber auch auf Instrumenten, deren Stimmung nicht wie beim Klavier vorgegeben ist, zum Beispiel der
Geige oder der Querflöte. Auf diesen Instrumenten werden C] und D[ unterschiedlich intoniert.
Harmonie ist die vertikale Komponente der Musik, also der Zusammenklang mehrerer Töne. Die Harmonie eines Stückes kann auch der Verlauf mehrerer Akkorde
sein.
Intervalle sind Abstände von Tönen, wobei der unterste und der oberste Ton mitgezählt werden. Die Bezeichnungen finden sich in der Abbildung auf der nächsten
Seite.
Melodie Die Melodie ist die horizontale Komponente der Musik, also Töne, die
nacheinander klingen.
MIDI ist ein Protokoll und Dateiformat, in dem Toninformationen (keine Klanginformationen) gespeichert werden. So wird für einen angeschlagenen Ton zum Beispiel die Tonhöhe, die Stärke des Anschlags, die Dauer, die Lautstärke und eventu-
73
74
Glossar
C D E F G A H C
Prime
Sekunde
Terz
Quarte
Quinte
Sexte
Septe
Oktave
elle Veränderungen am Ton gespeichert. Dieser Ton wird auf einer Spur gespeichert,
die angibt, welchem Instrument die Noten zugeordnet sind. Für die Klangerzeugung
ist das abspielende System (Computer, Synthesizer, . . . ) selbst verantwortlich.
Modulation Als Modulation wird der Wechsel von einer Tonart in eine andere
bezeichnet. Das erkennt man i.d.R. am Auftreten anderer Vorzeichen.
Motette Motetten sind mehrstimmige Vokalwerke (Chorwerke), für die jeweils die
Vorstellung eines Themas in einer Stimme (Dux) und die Wiederholung (Imitation)
in einer anderen Stimme (Comes) charakteristisch sind.
Motiv Ein Motiv ist die kleinste sinntragende musikalische Einheit. Es ist kleiner als ein Thema und kann sogar aus nur zwei Tönen bestehen. Besonders in der
Klassik ist die Verarbeitung eines Motives sehr charakteristisch (vgl. Beethovens
“Schicksalsmotiv” aus der 5. Sinfonie).
MusicXML ist ein Dateiformat, das auf der eXtensible Markup Language basiert.
Im Vergleich zu MIDI kann es Informationen zur Notation enthalten, außerdem werden Töne nicht als Zahlen, sondern in genauer Bezeichnung gespeichert, um enharmonische Verwechslungen auszuschließen. Da es sehr viel mehr an der Notation
orientiert ist, kann es dafür nicht so einfach wiedergegeben werden wie MIDI.
Palestrina, Giovanni Pierluigi da Palestrina war ein italienischer Komponist, der
wahrsch. von 15255 bis 1594 lebte. Er hat hauptsächlich geistliche Werke geschrieben (104 Messen, 375 Motetten, 35 Magnificatvertonungen, 68 Offertorien, 45
Hymnen) und etwa 140 Madrigale. Sein melodisch, rhythmisch und harmonisch
ausgewogener Stil ist als Palestrina-Stil bekannt und gilt heute als exemplarisch für
Musik des 16. Jahrhunderts.
Oktave → Intervalle
5
Laut Finscher (2005, Band 13, S. 7), in anderen Quellen tauchen auch 1514, 1515, 1524 oder
1529 auf.
Glossar
75
Parser Ein Parser ist in der Informatik ein Programm, das eine Eingabe liest und
i.d.R. anders formatiert wieder ausgibt.
Pseudocode Als Pseudocode wird Quelltext bezeichnet, der keiner Programmiersprache entspricht, sondern in für Menschen einfacher lesbarer Form geschrieben
ist. Dies soll helfen, den groben Ablauf eines Programmes schnell zu verstehen.
Quinte → Intervalle
SATB steht für Sopran, Alt, Tenor und Bass, die Standard-Stimmbesetzung in Chören.
Sekunde → Intervalle
Serialisierung ist das Fachwort für die geläufigste Form des Speicherns eines Inhaltes in einer Datei.
Stimmbesetzung Chöre teilen ihre Stimmen in hohe Frauenstimme (Sopran und
etwas tiefer Mezzosopran), tiefe Frauenstimme (Alt), hohe Männerstimme (Tenor
und etwas tiefer Bariton) und tiefe Männerstimme (Bass). Die Standardbesetzung
ist dabei Sopran, Alt, Tenor und Bass, es gibt aber auch andere.
Terz → Intervalle
Thema Ein Thema ist ein musikalischer Gedanke, der aus mehreren Motiven besteht. Es hat häufig einen hohen Wiedererkennungscharakter.
Tonart Eine Tonart wird immer aus einem Grundton (C, C] oder D[, D, . . . ) und
einem Tongeschlecht (Dur, Moll, Kirchentonarten) zusammengesetzt. Eine Tonart
oder auch Tonleiter bestimmt das Repertoire, aus dem die meisten Töne benutzt
werden. Alle anderen Töne sind leiterfremd.
Transposition bezeichnet das Verändern der Tonhöhe um ein bestimmtes Intervall,
wobei die Beziehung der Töne zueinander exakt gleich bleibt.
Übergang Zustandsübergang → Zustand (Automatentheorie)
Variation (Musik) Die Variation bezeichnet die Veränderung eines Themas im
Laufe des Stückes in melodischen, harmonischen und rhythmischen Abwandlungen.
Zustand (Automatentheorie) In der theoretischen Informatik besteht ein Automat
aus Zuständen (Kreise) und Zustandsübergängen (Pfeile zwischen den Kreisen).
Der Automat befindet sich immer in einem Zustand, durch eine Eingabe geht er
über den zur Eingabe passenden Übergang in einen anderen oder wieder in den
selben Zustand.
Literaturverzeichnis
In Fällen, in denen ich nicht aus der Originalausgabe zitiere, ist die jeweilige Auflage zusätzlich zum Erscheinungsjahr angegeben.
Adams, Douglas. 1980. The Hitchhiker’s Guide to the Galaxy, 31 2005, Del Ray, New York.
Ames, Charles. 1989. The Markov Process as a Compositional Model: A Survey and Tutorial,
Leonardo 22/2, 175–187, verfügbar unter http://www.jstor.org/stable/1575226.
Boden, Margaret A. (Hrsg.) 1996a. Dimensions of Creativity, MIT Press, Cambridge, MA.
Boden, Margaret A. 1996b. What is Creativity?, Dimensions of Creativity, S. 75–77.
Brockhaus. 2006. Brockhaus Enzyklopädie in 30 Bänden, 21. völlig neu bearbeitete Aufl. (Annette Zwahr, Hrsg.), F. A. Brockhaus, Leipzig.
Bruhn, Herbert Reinhard Kopiez und Andreas C. Lehmann (Hrsg.) 2008. Musikpsychologie. Das
neue Handbuch, Rowohlt Taschenbuch Verlag, Reinbeck.
Cook, Nicholas. 1989. Beethoven’s Unfinished Piano Concerto: A Case of Double Vision?, Journal of the American Musicological Society 42/2, 338–374, verfügbar unter http://pao.
chadwyck.co.uk/PDF/1324119131177.pdf.
Cope, David Douglas R. Hofstadter Eleanor Selfridge-Field Bernard Greenberg Steve Larson
Jonathan Berger und Daniel Dennett. 2001. Virtual Music: Computer Synthesis of Musical Style,
2 2004, MIT Press, Cambridge, MA.
Cope, David. 2005. Computer Models of Musical Creativity, MIT Press, Cambridge, MA.
Cope, David. Experiments in Musical Intelligence, Faculty Member Website der UC Santa Cruz,
verfügbar unter http://artsites.ucsc.edu/faculty/cope/experiments.htm.
Stand: 19. November 2011.
Duden Online. Zufall, der. http://www.duden.de/zitieren/10051536/1.8, Stand: 29. November
2011.
Elsea, Peter. 1995. Fuzzy Logic and Musical Decisions, verfügbar unter http://artsites.
ucsc.edu/EMS/music/research/Fuzzy_Logic_And_Music.pdf.
Encyclopædia Britannica, Inc. 1998. The New Encyclopædia Britannica, 15. ed., Vol. 3, Encyclopædia Britannica, Chicago.
77
78
Literaturverzeichnis
Feynman, Richard. 1985. QED: The Strange Theory of Light and Matter, Princeton University
Press, Princeton, NJ.
Finscher, Ludwig (Hrsg.) 2005. Die Musik in Geschichte und Gegenwart: Allgemeine Enzyklopädie der Musik begründet von Friedrich Blume, zweite, neubearbeitete Ausgabe, Bärenreiter,
Kassel.
Gembris, Heiner. 2008. Musikalische Entwicklung im Erwachsenenalter, Musikpsychologie. Das
neue Handbuch, S. 162–189.
Hofstadter, Douglas R. 1979. Gödel, Escher, Bach: ein Endlos Geflochtenes Band,
Deutscher Taschenbuch Verlag, München.
12 2008,
Hörnel, Dominik und Wolfram Menzel. 1998. Learning Musical Structure and Style with Neural
Networks, Computer Music Journal 22/4, 44–52, verfügbar unter http://www.jstor.org/
stable/3680893.
Hofstadter, Douglas R. 1995. Fluid Concepts and Creative Analogies: Computer Models of the
Fundamental Mechanisms of Thought, Basic Books, New York.
Kasparov, Garri. 1996. “Kasparov Speaks”. Zitiert nach Cope et al. (2001).
Köchel, Ludwig von und Franz Giegling. 1965. Chronologisch-thematisches Verzeichnis
sämtlicher Tonwerke Wolfgang Amade Mozarts: nebst Angabe der verlorengegangenen, angefangenen, von fremder Hand bearbeiteten, zweifelhaften und unterschobenen Kompositionen, Breitkopf & Härtel.
Kramer, Jonathan. 1973. The Fibonacci Series in Twentieth-Century Music, Journal of Music Theory 17/1, 110–148, verfügbar unter http://www.jstor.org.p-serv2.bis.
uni-oldenburg.de/stable/pdfplus/843120.pdf.
Kramer, Oliver. 2009. Computational Intelligence: Eine Einführung, Informatik im Fokus,
Springer, Berlin.
Lehmann, Andreas C. 2008. Komposition und Improvisation, Musikpsychologie. Das neue Handbuch, S. 338–353.
Madden, Charles. 2005. Fib and Phi in music: The Golden Proportion in Musical Form, High Art
Press, Salt Lake City.
Marliani, Jack. 2012. Marlianis Liste der Weis- und Wahrheiten, verfügbar unter http://www.
jackmarliani.com/docs/LWW.pdf.
McLendon, Charles (Hrsg.) 1943. How a Violin is Made: Searching Out the Secrets
of Old “Strads,” American Craftsmen Now Produce the World’s Finest Fiddles, Popular Science 143/3, 106–109, verfügbar unter http://books.google.de/books?id=
kCcDAAAAMBAJ&pg=PA106.
Mozart, Wolfgang Amadeus. 1793. Musikalisches Würfelspiel: Eine Anleitung Walzer und
Schleifer mit zwei Würfeln zu komponieren, 1956, Karl Heinz Taubert (Hrsg.), Schott, Mainz.
Miranda, Eduardo Reck. 2001. Composing Music with Computers, Focal Press, Oxford.
Orwell, George. 1949. 1984: A Novel, Harcourt Brace Jovanovich, New York. Zitiert nach Cope
et al. (2001).
Palestrina, Giovanni Pierluigi da. 1939a. L’Edizione Italiana Delle Opere Complete Di Giovanni
Pierluigi Da Palestrina: Il libro primo dei mottetti a 4 voci, Band 3 (Raffaello de Rensis, Hrsg.),
Edizione Fratelli Scalera, Roma.
Literaturverzeichnis
79
Palestrina, Giovanni Pierluigi da. 1939b. L’Edizione Italiana Delle Opere Complete Di Giovanni Pierluigi Da Palestrina: Il libro secondo dei mottetti a 4 voci, Band 11 (Raffaello de Rensis, Hrsg.), Edizione Fratelli Scalera, Roma.
Purves, William K. 2006. Biologie, 7. Auflage (Jürgen Markl, Hrsg.), Elsevier, Spektrum Akad.
Verl., München.
Romeike, Ralf. 2008. Kreativität im Informatikunterricht, Dissertation, Universität
Potsdam,
http://ddi.cs.uni-potsdam.de/Forschung/Schriften/
RomeikeDiss2008.pdf.
Sternberg, Robert J. (Hrsg.) 1999. Handbook of creativity, Cambridge University Press, Cambridge.
Torrance, E. Paul John A. Glover Royce R. Ronning und Cecil R. Reynolds (Hrsg.) 1989. Handbook of Creativity, Perspectives on individual differences, Plenum Press, New York.
Weisberg, R.W. 1993. Creativity: Beyond the myth of genius, Freeman, New York.
Wikipedia. Goldener Schnitt. http://de.wikipedia.org/wiki/Goldener_Schnitt, Stand: 16. Dezember 2011.
Wikipedia. Zufall. http://de.wikipedia.org/w/index.php?title=Zufall&oldid=96218794, Stand: 29.
November 2011.
Wikipedia. Fuzzylogik. http://de.wikipedia.org/wiki/Fuzzylogik#Anwendungsbeispiele, Stand:
10. Dezember 2011.
Vernon, P. E. 1989. The Nature-Nurture Problem in Creativity, Handbook of Creativity, S. 94.
Sachverzeichnis
Akkord, 23
Algorithmische Komposition, 2, 15
Analyse, 54
musikalische, 56
Noten-, 37
rekombinatorische, 54
Anlehnung, 68
Arbeit
imitatorische, 56
motivische, 56
thematische, 56
Arbeitsaufwand, 10, 41, 46
Attribut, 38
Auseinandersetzung, 17
Auswahlverfahren, siehe Evaluation
Backpropagation, 20
Bartók, Béla, 26
Bedingung, 15
Beethoven, Ludwig v., 27
Datenbank, 30, 39, 54
Datengebtriebene Programmierung
Data-Driven Programming, 17
Debussy, Claude, 26
Ende, 45
Ergebnisse, 52
Evaluation, 42, 46, 65
Evolutionärer Algorithmus, 18, 66
Experiments in Musical Intelligence, 17
Feedforward-Netz, 20
Fibonacci
-Folge, 23
-Zahl, 23
firstNote, 38
Fitness, 18, 66
followingNote, 38
Fragment, 67
Frequenz, 22
Fuzzylogik
Fuzzy Logic, 21
Gehirn, 19
Genetischer Algorithmus
Genetic Algorithms, 18
Goldene Zahl Φ, 23
Goldener Schnitt, 23
Grundwerkzeuge, 17
Harmonie, 23
if-then-else-Anweisung, 15
Informatik, 10
-unterricht, 10
Intelligenz, 11
Irrelevanz (Zufall), 5
Künstliche Intelligenz, 11
Klasse (Software), 50
Klavierkonzert in D-Dur, 27
Komplexität (Zufall), 5
Konvertierung, 35
Kreativität, 12, 64
kompositorische Kreativität, 7
Menschliche, 27
Phasen der, 7, 9
Leistung, 10
Lexikalische Definition, 9
Logdatei, 52
LookAhead, 46, 65
Markow-Ketten, 15
81
82
Mathematische Modellierung
Mathematical Modeling, 22
Melodie, 23
-erstellung, 15
-führung, 54
Menschlichkeit, 13
Metadaten, 37, 50
Mozart, Wolfgang Amadeus, 29
MusicXML, 35, 52
partwise, 35
timewise, 35
Musikalisches Würfelspiel, 29
Musikpsychologie, 7
Musterlosigkeit (Zufall), 5
Mutation, 18
Muzak, 26
Neuron, 19
Innere Neuronen, 20
Neuronale Netze
Neural Networks, 19
Oberton, 22, 23
-reihe, 22
Optimierungsalgorithmus, 18
Originalausgabe, 34
Palestrina, Giovanni Pierluigi da, 32
Parser, 36
Pattern, 66
Perzeptron, 20
Phasen der Kreativität, 7
Population, 18
Position im Kontext, 43
Psychologie, 8
Sachverzeichnis
Regelbasierte Programmierung
Rules-Based Programming, 15
Regeln, 15
Rekombination, 29
Vier Schritte der, 30
Schluss, siehe Ende
Schwingung, 22
Selbstadaption, 66
Selektion, 18
Sonifikation, 26
soziale Akzeptanz, 9
Stimm
-besetzung, 34
-führung, 55
-führungsregel, 15
-umfang, 34
-verlauf, 48
Stimmumfang, 53
Stockhausen, Karlheinz, 26
Stravinsky, Igor, 26
Transposition, 34
Variation, 27
Vererbung, 18
Vollvernetzung, 20
Würfelspiel, siehe Musikalisches Würfelspiel
Zufälligkeit, 5
Zufall, 5
Zugehörigkeitsfunktion, 21
Zustandsübergang, 15
Zustandsübergangs-Matrix, 15
Abschließende Erklärung
Hiermit versichere ich, dass ich diese Arbeit selbständig verfasst und keine anderen
als die angegebenen Quellen und Hilfsmittel benutzt habe. Außerdem versichere
ich, dass ich die allgemeinen Prinzipien wissenschaftlicher Arbeit und Veröffentlichung, wie sie in den Leitlinien guter wissenschaftlicher Praxis der Carl von Ossietzky Universität Oldenburg festgelegt sind, befolgt habe.
83
Herunterladen