- Studienarbeit von: Andreas Lehmann
- Abgabe: Mai 2007
- Thema: Maschinelles Komponieren - Automatisiertes Berechnen von Mittelstimmen in einem Kantionalsatz mit Hilfe von MusicXML und SimpleXML
Den Computer für das Komponieren einzusetzen, ist eine der größten wissenschaftlichen Herausforderungen, da eine künstlerische Arbeit nie von einer reinen Mathematik ausgeht. Wäre das Komponieren vollkommen mit mathematischen Modellen beschreibbar, wäre es dem Computer auch ausnahmslos möglich, sich selbstständig künstlerische Gemälde auszudenken und diese mit dem Pinsel auf das Leinentuch zu bringen. Und trotz hoher Rechenleistung und Supercomputern wie dem „Deep Blue“, ist es heute möglich, den Computer nur teilweise als Hilfe für die Komposition einzusetzen. Von selbstständigem Lernen kann immer noch keine Rede sein, da jedes Kompositionsprogramm eine von Hand programmierte Wissensbasis besitzt, die der Computer wie eine Schablone über ein kompositorisches Problem legt. Es ist zu berücksichtigen, dass man Musik in mathematischer Feinarbeit vertikal und horizontal beschreiben muss und viel Wissen über die Musiktheorie erforderlich ist.
Diese Studienarbeit behandelt die Programmierung einer Software, die als Eingabe eine Sopranund eine Bassmelodie bekommt und selbstständig einen homophoner Satz über diese Melodien, auf Basis des Basstones, aussetzt. Dabei ist die so genannte enge Lage zum Sopran anzuwenden. Die Aufgabe des Programms ist es, nach einem mathematischen Modell die richtige Alt- und Tenorstimme zu finden und diese auszusetzen. Zudem ist ein weiterer Schwerpunkt, die richtige Entscheidung über eine geeignete Klausel am Ende einer Gesangsphrase zu finden. Vor der eigentlichen mathematischen Modellierung eines homophonen Satzes werden Grundlagen in der Beschreibungssprache XML und MusicXML geschaffen. Ich werde darauf eingehen, welche Vorteile MusicXML für die Verarbeitung von Daten, gegenüber MIDI, hat und leite dann zu der Thematik über, mit welchen Werkzeugen man MusicXML bearbeiten kann. Als eines der möglichen Bearbeitungswerkzeuge für XML werde ich den XML-Parser (auch XML-Processor genannt) SimpleXML vorstellen. Da XML-Parser in sehr verschiedenen Programmiersprachen implementiert sind, werde ich mich auf die Programmiersprache PHP festlegen und anhand dieser die mathematische Modellierung vorstellen und vertiefen.
In kleinen Schritten werde ich nacheinander auf die einzelnen Merkmale eines homophonen Satzes eingehen, werde die Grundlagen für eine mathematische Idee liefern, vermitteln wie, man diese Idee in die Programmiersprache PHP mit Hilfe von SimpleXML umsetzt und stelle zum Abschluss meiner Arbeit die Funktionsweise des selbst programmierten Webprogramms mit dem Namen „Oriscus“ vor.