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