Maschinelles Komponieren

Größe: px
Ab Seite anzeigen:

Download "Maschinelles Komponieren"

Transkript

1 Maschinelles Komponieren Automatisiertes Berechnen von Mittelstimmen in einem Kantionalsatz mit Hilfe von MusicXML und SimpleXML Studienjahresarbeit im Fachgebiet Informatik in Bildung und Gesellschaft an der Humboldt-Universität zu Berlin Eingereicht bei Dr. phil. Jochen Koubek und Dr. Ullrich Scheideler Vorgelegt von Andreas Lehmann Berlin, Mai 2007

2 Inhaltsverzeichnis 1. EINLEITUNG MASCHINELLES KOMPONIEREN KOMPOSITIONSSOFTWARE... 5 Tonica... 6 Octava VIERSTIMMIGER HOMOPHONER SATZ ( KANTIONALSATZ ) REPRÄSENTATIONSFORM VON MUSIK AM BEISPIEL VON MUSICXML... 9 Die Artikulation Staccato Die Dynamik forte PRINZIPIELLER AUFBAU EINES MUSICXML DOKUMENTS FUNKTIONSAUFBAU DER SOFTWARE ORISCUS Vorbereitungen durch den Benutzer Vorbereiten der MusicXML Datei Auslesen einer MusicXML Datei Array aus Sopran- und Bassnoten Klauseln Unterschiedliche Notenwerte auf gleicher Zählzeit Distanz zwischen Bass und Sopran als Aussetzungscharakteristikum Grundstellung Sextakkord Quartsextakkord Sextakkord mit Terzbass Relevante MusicXML-Elemente für ein erfolgreiches Notenaussetzen Note - <note> Alteration - <alter> Notenposition - <octave> Notenlänge - <type> Punktierung - <dot/> Pause - <rest/> Oktavberechnung für Alt und Tenor in MusicXML Nicht verwendete programmierte Funktionen AUSBLICK BEISPIELE ANHANG MIDI GM-Soundliste mit der dazugehörigen Klang Nr Wichtige musikalische Begriffe INDEX

3 Vorwort 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. Für die Studienarbeit und deren angebotenen Thematik möchte ich mich in diesem Sinne herzlich bei meinem Betreuer Dr. Jochen Koubek bedanken, der mir die Freiheit gegeben hat, selbst zu entscheiden, über was ich eine Studienarbeit schreiben möchte und er auf das Eindringlichste bestand, dass ich eine Thematik auswähle, die mich persönlich sehr interessiert, die aber auch der Forschung dienlich ist. Ohne diese Entscheidungsfreiheit, wäre mir nicht die Idee gekommen, eine interdisziplinäre Studienarbeit zu schreiben, die der Musikwissenschaft sehr nützlich ist - Musikwissenschaft als eine Fachrichtung, die auf den ersten Blick nichts mit der Informatik zu tun hat. 3

4 Zu Dank bin ich auch Dr. Ullrich Scheideler verpflichtet, der mir die Idee für das Programm Oriscus gab, der mir alle fachlichen Fragen zum Thema Choralsatz beantwortet hat und sich die Zeit genommen hat, zu verstehen, wie eine Umwandlung von Musik nach Zahlen geschieht. Das die Informatik durchaus in der Musik Platz findet, konnte ich durch ihn unter Beweis stellen, als es darum ging, für die Zwölftontechnik ein Reihenquadrat 1 zu programmieren. Einleitung Dem Computer die Aufgabe zu geben, Musik zu komponieren, ist subjektiv. Komposition beruht auf einer künstlerischen Fähigkeit und dem Talent, musiktheoretische Aspekte einfließen zu lassen, um ein Musikstück interessant zu gestalten. Je nach Talent benötigt man für die Komposition mehr oder weniger musiktheoretisches Wissen. Es ist jedoch zu beachten, dass selbst ein in ein Computerprogramm verfasstes Musiktheoriewissen noch nicht ausreicht, um eine interessante Komposition zu schaffen. Eine Komposition basiert auf einer Idee. Dieser Idee kann eine Melodie, eine Harmonie oder auch ein Rhythmus sein. So wie eine DNA sich zum Protein formt, so fügen sich Melodie, Harmonie und Rhythmus zusammen und ergeben ein Musikstück, das in sich geschlossen ist. Für das Resultat eines Musikstückes ist nicht entscheidend, wie viel eigenkompositorische Arbeit oder theoretische Grundlagen verarbeitet wurden, sondern die Akzeptanz beim Hörer für dieses Stück. Dabei spielt es keine Rolle, ob das Stück eine Sonate, ein A-Capella Stück oder ein Lied aus dem Popbereich ist. Möchte man nach einer bestimmten Stilistik komponieren, gibt es klare Richtlinien wie ein Stück tonsatztechnisch zu sein hat. Jede Stilistik besitzt ihre eigenen Tonsatzregeln nach denen komponiert werden sollte. Komponiert man nach diesen Regeln, kann man sie strukturieren, systematisieren und modellieren. Es wird hierfür eine Beschreibung für die entsprechende Stilistik erstellt. Als Komponist arbeitet man diese durch und wendet für ein gestelltes musikalisches Problem die jeweilige Regel an. Dieses schematische Abarbeiten ermöglicht ebenfalls eine Modellierung in Zahlen und Vorschriften. 1 antidy.com: Das Reihenquadrat. URL: [Stand: 01. Mai 2007] 4

5 Maschinelles Komponieren Der folgende Abschnitt beschäftigt sich mit einigen Softwareprodukten, die das maschinelle Komponieren anbieten. Ich gehe auf das grundlegende Verständnis maschineller Komposition ein und stelle einige Softwareprodukte vor, die es derzeitig auf dem Markt gibt und stelle Vermutungen an, nach welchem Regelwerk diese Produkte arbeiten. Es sind hierbei keine klaren Aussagen möglich, da die Algorithmen in den vorgestellten Softwareprodukten nicht frei zugänglich sind und demnach nur anhand der Produktbeschreibung Mutmaßungen angestellt werden können. Die Idee des maschinellen Komponierens griffen bereits einige Menschen und Firmen auf. Die grundlegende Idee dabei ist verhältnismäßig gleich. Man verfügt über eine Menge an Kompositionsregeln und lässt dabei den experimentierenden Anwender des Programms einige Eingaben machen und nach wenigen Sekunden präsentiert das Programm aus den Eingaben eine fertige Komposition. Als Laie zunächst beeindruckt, stellt sich jedoch bei näherer Betrachtung heraus, dass jedes dieser Programme eine definierte Menge an Kompositionsalgorithmen besitzt. Der Ablauf dieses Prozesses ist demnach die Eingabe, die Verarbeitung und die Ausgabe einer Komposition, wie in Abbildung 1 beschrieben. Benutzereingabe Regeln in Form von Algorithmen Ausgabe einer Komposition auf Basis der Benutzereingabe und auf Anwenden der Algorithmen Abbildung 1. Kompositionssoftware Aktuelle Notationsprogramme wie beispielsweise Finale 2 und Sibelius 3 können einem das Komponieren wesentlich erleichtern, indem sie beispielsweise Quint- und Oktavparallelen aufzeigen. Diese Parallelen sollten im klassischen Tonsatz vermieden werden, da sie die Eigenständigkeit von Stimmen abschwächen. Andere Kompositionshilfen sind beispielsweise das Erstellen von Klavierpartituren aus Orchesterpartituren, Analysieren von Akkordstrukturen innerhalb einer Partitur oder das Aufteilen von Akkorden zum möglichen Spielen auf dem Klavier mittels zwei Händen (ein Amateur kann lediglich eine Oktave auf einem Klavier mit einer Hand spielen). 2 Klemm Music. Finale: "Als ultimatives Programm für das Schreiben von Noten ändert es grundlegend Ihre musikalische Arbeit.". URL: [Stand: 1. Mai. 2007] 3 Sibelius: "Sibelius Home Page". URL: [Stand: 1. Mai. 2007] 5

6 Ich stelle nun weitere Programme vor, die über den normalen Notensatz hinausgehen. Es sind Programme, die einem Musiker den Kompositionsprozess weitestgehend abnehmen und mit Hilfe eigener Algorithmen das Komponieren übernehmen. Tonica Produktname: Tonica Hersteller: WHC Aktuelle Version: 7.0 Stand: April Homepage: Besondere Eigenschaften des Programms: Automatisches vierstimmiges Komponieren (Stile: J.S. Bach, Max Reger, "Leicht beswingt") Antrainieren von neuen Kompositionsstilen mit dem Stiltrainer automatisches Umspielen harmonische Analyse Kadenzautomatik (mit über 100 fertigen Kadenzen 4 von J.S. Bach und Max Reger) Einfügen von (Teil-)Kadenzen, Modulationen; vielfältige Optionen für den Einfügemodus Alle Umkehrungen; Sept- und Nonakkorde Haupt- und Nebenstufen/ -funktionen Zwischendominanten Echte Modulationen 5 (zwei Tonartebenen) Tonsatz: Jede der vier Stimmen kann die Melodiestimme sein. Dadurch sind Tonsätze zu Bass- Stimmen usw. möglich Dieses Programm bedient sich den Kompositionsstilen Johann Sebastian Bachs, Max Regers und dem leichten Swing und setzt anhand dieser einen vierstimmigen Satz aus. Ein vierstimmiger Satz besteht aus den Stimmlagen Bass, Tenor, Alt und Sopran. Der Stimmumfang vom Bass geht etwa von E bis e, der des Tenors von c bis a, der Stimmumfang vom Alt geht wiederum von g bis e und vom Sopran von c bis a. Dabei hat jede Stimme für den Kantionalsatz bestimmte Stimmführungsregeln. Da der vierstimmige Satz einen großen Raum in dieser Arbeit ausfüllen wird, werden in weiteren Kapiteln weitere Betrachtungen zum vierstimmigen Satz vorgenommen. Abschließend ist zur Software Tonica anzubringen, dass sie neuronal arbeitet, demnach in jeder Komposition auf verschiedene Ergebnisse kommt und ihr weit über 100 Kadenzarten geläufig 4 Siehe Index 5 Siehe Anhang 6

7 sind welche sie in jeder Komposition neu anwendet. Die Kadenz ist wichtigstes Mittel um eine Phrase in einem Musikstück abzuschließen. Sie wird beschrieben als: Die Kadenz ist im harmonischen Sinn das Nachfolgemodell der primär melodisch ausgeprägten Klauseln. Das waren die formelhaften dungen der Kirchentonarten. [ ] In diesem Sinne meint der begriff denz harmonische Schlussformel, harmonischer Schluss(quint)fall, Schluss überhaupt. 6 Abbildung 2. Die soeben vorgestellten Merkmale, vierstimmiger Satz und Klausel, sind wichtige Merkmale für die Modellierung des homophonen Satzes. Betrachtet wird nun eine weitere wichtige Software die automatisiert Komponieren kann. Octava Produktname: Octava Hersteller: Obvit e.k. Aktuelle Version: TS5 Stand: Feb Homepage: Besondere Eigenschaften des Beispiel 1 "vierstimmiger Hornsatz". Programms: Beispiel 2 "dreistimmiger Posaunensatz als Begleitung der Melodiestimmen". Beispiel 3 "fünfstimmiger Bläsersatz nach einem vorgegebenen Jazz Stil". Beispiel 4 "vierstimmiger Choralsatz": Sie schreiben für einen Amateur-Chor. Die Melodie ist geben. Da sie in der Sopranstimme zu hoch ist, ren Sie sie eine große Sekunde nach unten. Die Bassstimme 6 Amon, R. (2005) Kadenz, Lexikon der Harmonielehre, Nachschlagewerk zur durmolltonalen Harmonik mit Analysechiffren für Funktionen, Stufen und Jazzakkorde. Wien-München: Doblinger Musikverlag, Mezler Verlag, 132 7

8 begrenzen Sie nach unten. Sie wählen einen Satz mit sehr strengen Stimmführungsregeln aus und bekommen vom Programm gesagt, dass an zwei Stellen im Satz keine gen gefunden werden können. Sie ändern dort die nik oder entscheiden welche Stimmführungsregeln nahmsweise verletzt werden dürfen und lassen den Satz neu setzen. Nach ein paar rhythmischen Änderungen und der Texteingabe ist der Satz fertig. Sie drucken mit Ihrer Musiksoftware die Einzelstimmen aus. 7 Wie die Software Tonica, so ist auch Octava mit der Besonderheit ausgestattet, dass es einen vierstimmigen Satz aussetzen kann. Nach Eingabe einer Ober- und Unterstimme und Angabe von Besonderheiten in der Stimmführung soll das Programm einen vierstimmigen Choralsatz als Lösung präsentieren. In diesem Programm scheint es so zu sein, dass man der Software Einschränkungen, anhand von Vorgaben (Melodienverlauf, gewünschte Modulationen, Kadenzen, ), gibt um ein möglichst gutes Resultat zu bekommen. Als Fazit dieses Kapitels ist festzustellen, dass es durchaus Programme gibt, die kompositorische Arbeit leisten. Wie gut diese sind und ob sie wirklich dies leisten, was sie versprechen, konnte leider nicht getestet werden, da die Software nicht als Shareware angeboten wird. Viel wichtiger wäre statt des Testens jedoch der Aspekt, welche Algorithmen verwendet wurden und wie diese funktionieren. Dies wird allerdings nicht möglich sein, da diese Software unter keiner Open- Source Lizenz stehen. Aus diesem Grund bleibt es bei einer Betrachtung dieser Software und es konnten nur Anregungen für das eigene Projekt gewonnen werden. 7 Obtiv e.k. Musikprogramme: "Komposition mit Obtiv Octava Tonsatz". URL: [Stand: 18. April. 2007] 8

9 Vierstimmiger homophoner Satz ( Kantionalsatz ) Der Kantionalsatz ist ein vierstimmiger homophoner Satz. Er wird als Begriff in Verbindung zu geistlichen Choralmelodien gebracht und wurde im 15. Jahrhundert in Kantionalien bzw. Gesangsbüchern abgedruckt. Die Choralmelodie steht nicht mehr wie im Gregorianischen Choral in der Tenorstimme, sondern in der Sopranstimme. 8 Das Wort homophon bedeutet, dass alle Gesangsstimmen im gleichen Rhythmus singen. Man nennt den homophonen Satz daher auch Akkordsatz 9. Frühe Komponisten des Kantionalsatzes waren Lukas Osiander, Heinrich Schütz und Michael Prätorius. Repräsentationsform von Musik am Beispiel von MusicXML Das MusicXML-Format entstammt der Extensible Markup Language (XML). XML ist eine Unterklasse der SGML, Standard Generalized Markup Language. Der Zweck von SGML und XML ist die systemunabhängige und strukturierte Repräsentation von Texten. Es ist eine Metasprache, mit der eine Auszeichnungssprache (markup language) definiert werden kann. So kann man Texte mit vorgegebenen Regeln zusammensetzen oder in jedes andere beliebige Format konvertieren. Es können drei Eigenschaften zusammengefasst werden: Dokumente werden gegliedert, indem sie in Elemente mit einem vordefinierten Namen und einem vordefinierten Typen zugeordnet werden. Es existiert eine Document Type Definition (DTD), in der man Dokumenttypen und die zulässigen Namen für die Elemente sowie die Verschachtelung eines Dokuments festlegt. Mit einem entsprechenden Parser oder einer geeigneten Programmiersprache kann man mit einer DTD ein Dokument, das auf SGML oder XML basiert, interpretieren. Da SGML- sowie XML-Dokumente wohl definiert sind, kann man die Dokumente an lokale Zeichensätze anpassen, ohne das Dokument selbst zu ändern. Mit dem Datenformat kann man maschinenunabhängige Dokumente erstellen 10. Ein einfaches Beispiel für ein XML Dokument mit seiner dazugehörigen DTD könnte wie folgt aussehen: 8 Kaiser, U. (2002) Einleitung, Der vierstimmige Satz Kantionalsatz und Choralsatz. Kassel: Bärenreiter-Verlag Vötterle GmbH & Co. KG, 11 9 Ziegenrücker, W. (1997) Homophoner und polyphoner Satz, ABC Musik Allgemeine Musiklehre. Leipzig: Deutscher Verlag für Musik, Wiesbaden: Breitkopf & Härtel, Ferber, R. (2003) Standard Generalized Markup Language (SGML), Information Retrieval, Suchmodelle und Data- Mining-Verfahren für Textsammlungen und das Web. Heidelberg: dpunkt Verlag, 248 9

10 Ein XML Dokument <Studienarbeit> <Kopf> <Titel> Maschinelles Komponieren </Titel> <Autor> <Name> Lehmann </Name> <Vorname> Andreas </Vorname> </Autor> <Datum> 01. Mai </Datum> </Kopf> <Inhalt> <Kapitel> <Überschrift> Vorwort </Überschrift> <Abschnitt> <Text> Den Computer für das <Hervorhebung> Komponieren </Hervorhebung> einzusetzen ist eine </Text> </Abschnitt > </Kapitel> </Inhalt> </Studienarbeit> Eine zum XML dazugehörige DTD <!ELEMENT Studienarbeit (Kopf, Inhalt)> <!ELEMENT Kopf (Titel, Autor, Matrikelnummer?, Datum)> <!ELEMENT Titel (#PCDATA)> <!ELEMENT Autor (Name, Vorname)> <!ELEMENT Name (#PCDATA)> <!ELEMENT Vorname (#PCDATA)> <!ELEMENT Matrikelnummer(#PCDATA)> <!ELEMENT Datum (#PCDATA)> <!ELEMENT Inhalt (Kapitel+)> <!ELEMENT Kapitel (Überschrift, Abschnitt*)> <!ELEMENT Überschrift (#PCDATA)> <!ELEMENT Abschnitt (#PCDATA)> <!ELEMENT Text (#PCDATA Hervorhebung Liste Tabelle Bild)*> MusicXML hat ihre Wurzeln in XML und übernimmt daher alle Eigenschaften vom XML mit. Ein für die Musik wichtiger Vorteil von MusicXML gegenüber von MIDI 11 wurde in der Publikation von Michael Good MusicXML: An Internet-Friendly Format for Sheet Music 12 beschrieben. Michael Good macht deutlich, dass vor allem für das Austauschen von Musik und Partituren MusicXML hervorragend geeignet ist. Im Folgenden beschreibe ich einige Vorteile von MusicXML gegenüber MIDI anhand einiger Beispiele auf der Basis des eben genannten Abstracts: 11 MIDI ist ein Datenformat für Musikinstrumente und musiknotenverarbeitende Geräte die das Senden und Empfangen untereinander ermöglichen. 12 Good, M. (2001) MusicXML: An Internet-Friendly Format for Sheet Music. 10

11 Die Artikulation Staccato Die Artikulation Staccato bezeichnet das stärkere Anschlagen einer Note. Das Staccato-Element wird in MusicXML wie folgt dargestellt: <articulations> <staccato/> </articulations> Dieses Element ist in MusicXML eindeutig und kann nicht mit anderen Elementen der Musik, wie beispielsweise dem Dynamikzeichen forte, eindeutig dargestellt werden. In MIDI dagegen verläuft die Darstellung anhand von Informationen in einem Datenstrom. In einem Datenstrom werden die Tonhöhe, die Tondauer und die Anschlagstärke für eine Staccatoartikulation übergeben. Die Verklanglichung dieser Information ist als Staccato zu hören indem die Anschlagstärke in MIDI erhöht wird. Eine Reproduktion in die Bestandteile ist jedoch nicht mehr möglich, das Artikulationszeichen ist in MIDI verloren gegangen. Die Dynamik forte Es gibt verschiedene Lautstärkegrade innerhalb eines Musikstückes, die man von forte stark bis piano leise ausdrücken kann. Auch die Dynamik wird in MusicXML eindeutig dargestellt: <dynamics> <f/> </dynamics> Auch diese Information wird in MIDI vor allem durch die Lautstärkeinformation als Klang dargestellt. Auch hier ist die Reproduktion in die Darstellung von Noten nicht vollständig durchführbar. Lieder leben vom Gesangstext. Da MIDI ein relativ altes Format ist, sieht es keinerlei Weitergabe von Liedtexten vor. Auch sämtliche Vortragsbezeichnungen, Phrasierungen, Verzierungen und viele weitere Symbole zum Musikvortrag werden nicht in MIDI abgespeichert. Eine Neuentwicklung von MIDI mit vielen musikalischen Erweiterungen ist demnach durch MusicXML gelungen. Es bleibt abzuwarten, ob es in der Zukunft eine Entwicklung eines XSLT geben wird, was die DTD ablösen wird. Ein XSLT (XSL Transformations) ist nötig um die manuellen Eingaben innerhalb eines MusicXML Dokuments genauer überprüfen zu können. Als Beispiel nenne ich die strikte Verteilung von Noten innerhalb eines Taktes. Derzeitig ist es möglich, auch in einem 4/4- Takt beliebig viele Viertelnoten zu platzieren was musiktheoretisch keinen Sinn macht. Mit der DTD kann man nur überprüfen, ob ein Element die nötigen Kindelemente besitzt oder ein Wert als String innerhalb eines Elements gesetzt ist. Eine semantische Überprüfung ist nicht möglich. 11

12 Prinzipieller Aufbau eines MusicXML Dokuments 13 Abbildung <?xml version="1.0" encoding="utf-8"?> 2. <!DOCTYPE score-partwise PUBLIC "-//Recordare//DTD MusicXML 1.0 Partwise//EN" 3. " 4. <score-partwise> 5. <identification> 6. <encoding> 7. <software>finale for Windows</software> 8. <software>dolet Light for Finale 2006</software> 9. <encoding-date> </encoding-date> 10. </encoding> 11. </identification> 12. <part-list> 13. <score-part id="p1"> 14. <part-name>klavier</part-name> 15. <score-instrument id="p1-i1"> 16. <instrument-name>klavier</instrument-name> 17. </score-instrument> 18. <midi-instrument id="p1-i1"> 19. <midi-channel>1</midi-channel> 20. <midi-program>1</midi-program> 21. </midi-instrument> 22. </score-part> 23. </part-list> 24. <!--=========================================================--> 25. <part id="p1"> 26. <measure number="1"> 27. <attributes> 28. <divisions>1</divisions> 29. <key> 30. <fifths>0</fifths> 31. <mode>major</mode> 32. </key> 33. <time symbol="common"> 34. <beats>4</beats> 35. <beat-type>4</beat-type> 36. </time> 37. <staves>2</staves> 38. <clef number="1"> 39. <sign>g</sign> 40. <line>2</line> 41. </clef> 42. <clef number="2"> 13 Recordare: "Hello World in MusicXML". URL: [Stand: 01. Mai. 2007] 12

13 43. <sign>f</sign> 44. <line>4</line> 45. </clef> 46. </attributes> 47. <sound tempo="120"/> 48. <note> 49. <pitch> 50. <step>c</step> 51. <octave>4</octave> 52. </pitch> 53. <duration>4</duration> 54. <voice>1</voice> 55. <type>whole</type> 56. <staff>1</staff> 57. </note> 58. <backup> 59. <duration>4</duration> 60. </backup> 61. <note> 62. <rest/> 63. <duration>4</duration> 64. <voice>2</voice> 65. <staff>2</staff> 66. </note> 67. <barline location="right"> 68. <bar-style>light-heavy</bar-style> 69. </barline> 70. </measure> 71. </part> 72. <!--=========================================================--> 73.</score-partwise> Ein MusicXML-Dokument besitzt einen Einleitungsteil (Prolog) und einen Hauptteil. Der Einleitungsteil trägt die Elternelemente <identification> und <part-list> und beschreibt den grundlegenden Aufbau eines MusicXML-Dokuments. Der Prologteil beschreibt demnach keine Noten, vielmehr beschreibt es Informationen, wie die zugehörigen Instrumente, die MIDI- Informationen und Softwareinformationen, mit denen das Dokument erstellt wurde. MIDI- Informationen werden in einem MusicXML-Dokument benötigt, da die wichtigsten Notationsprogramme wie Finale und Sibelius in MusicXML verfasste Noten über ein MIDI-Plugin abspielen. Das Element <part-list> von Zeile 12 bis Zeile 23 beinhaltet alle Elemente, die für einen bestimmten Bereich eines Notensystems im Dokument zutreffend sind. Das Attribut id im Element <score-part> gibt den Namen des jeweiligen Notensystems an. Im dargestellten Hello World MusicXML-Beispiel trägt das Attribut den Wert P1. Im vierstimmigen Satz haben wir vier Notensysteme. P1 steht darin für Sopran, P2 für Alt, P3 für Tenor und P4 für Bass. Im Element <score-part> ist das Element <part-name> nötig. Es gibt dabei einen Namen an, mit der das Notensystem für den Menschen erkennbar ist. Wird beispielsweise das Instrument Klavier für das erste System benutzt, können wir der besseren Übersicht halber das Element <partname> Klavier nennen. Es ist aber ebenso ein anderer Name möglich, denn die DTD gibt nur einen String als Benennung vor. Vorrangig benutzt man MusicXML als Ausgangsformat für andere Formate, wie für PDF, für MIDI oder auch softwarespezifische Dateien (Sibelius, Capella, Finale, ). Da vielfach MIDI Informationen aus einem MusicXML-Dokument gewonnen werden, ist die Angabe über das 13

14 MIDI-Instrument, der MIDI-Klang-Nummer und dem anzusteuernden MIDI-Kanal wichtig. Für das MIDI-Instrument, <midi-program> kann eine beliebige Zahl zwischen 1 und gewählt werden. Jeder dieser Zahl ist ein eindeutiges Instrument zugeordnet, das dem entsprechenden System im MusicXML Dokument zugeordnet wird. Das MIDI Format kann maximal 16 Kanäle gleichzeitig abspielen. Jedem Kanal wird ein Instrument zugeordnet. Dieser Kanal wird im Element <midi-channel> angegeben. Die Zeilen 25 bis 71 stellen den Hauptteil eines MusicXML Dokuments dar. Hierin findet man die Beschreibung, wo sich eine Note befindet, welchen Notenwert sie besitzt und in welchem System sie gespielt wird. Weiterhin wird im Hauptteil definiert, wo sich Pausen befinden, ob Punktierungen von Noten vorhanden sind und ob es einen Gesangstext gibt. Jedes System besitzt Angaben über die Tonart, den Notenschlüssel und deren zugehörige Position auf den Notenlinien. Ebenfalls besitzt jedes Stück eine Tempoangabe. Auch diese Angaben stehen im Hauptteil, speziell innerhalb des Elements <attributes>. Die Tonart eines Stückes wird im Element <key> definiert. Darin enthalten ist das Element <fifth>. -2 steht hierbei für die Tonart B, -1 für F, 0 für C, 1 für G usw. (siehe Quintenzirkel). Mit dem Element <mode> gibt man an, ob es sich um eine Dur- oder um eine Molltonart handelt. Das Element <divisions> beschreibt die Basiseinheit für die Tondauer, auf die sich alle Noten im Stück beziehen. Die Angabe des Taktes erfolgt mit <time>. Als Kindelemente sind <beats> sowie <beat-type> enthalten. Beats ist der Zähler und gibt die Anzahl der Zählzeiten pro Takt an. Beat-type gibt an, welcher Notenwert einer Zählzeit entspricht. Im oben gewählten Beispiel ist ein Takt von 4/4 angegeben. Den 4/4 Takt gibt man auch als C an. Daher besitzt das Attributsymbol im Element time den Wert common. <staves> beschreibt, wie viel Systeme einem Instrument zugewiesen sind. Beispielsweise verfügt ein Klavier über zwei Systeme, eines für die linke Hand, für die tiefen Noten, und eines für die rechte Hand, den hohen Noten. Für jedes System muss ein Notenschlüssel beschrieben werden. Die Beschreibung erfolgt mit <clef>. In <sign> wird angegeben, um welchen Notenschlüssel es sich handelt. Die heute Geläufigsten sind der Bassschlüssel und der Violinschlüssel, es gibt aber auch weitere Schlüssel, wie die oktavierenden Schlüssel, Schlagzeugschlüssel,. Das Element in Zeile 47 gibt das Tempo an und hat die Benennung <sound>. Das Tempo 120 bedeutet, dass 120 Schläge gleichmäßig auf 60 Sekunden verteilt werden. Das nachfolgende Element <note> beschreibt Noten oder auch Pausen. Im Hello world Beispiel beschreibt das Element <note> von Zeile 48 bis Zeile 57 die Note C <step>c</step>, auf der eingestrichenen Oktave <octave>4</octave>. <duration>4</duration> gibt an, dass die repräsentierte Note eine ganze Note ist. Möchte man errechnen, welche Ziffer beispielsweise eine halbe Note hat, dann muss man zuerst duration / division errechen: X=duration/division = 4 / 1 X=4. Das bedeutet, dass eine ganze Note 4 Plätze in einem 4/4 Takt einnimmt. Zwei halbe Noten ergeben eine ganze Note, sodass eine halbe Note eine duration von 2 besitzt. 14 Siehe Anhang 14

15 Zur Beschreibung des Notenwertes benutzt man neben der duration auch das Element <type>. Für Type sind gültige Angaben beispielsweise whole, half, quarter, eighth, 16th, 32th, 64th. In dem oben gezeigten Beispiel wird als Beispielinstrument das Piano, MIDI-Instrument Nummer 1, beschrieben. Ein Piano besitzt in der Arrangementbeschreibung ein System mit einem Violinschlüssel und eines mit einem Bassschlüssel. Diese beiden Systeme werden zusammengefasst zum Elementnamen <staff>. Die Ziffer 1 steht hierbei für das erste System, dem System mit dem Violinschlüssel und die Ziffer 2 steht für das zweite System, erkennbar an dem Bassschlüssel. Innerhalb eines Systems sind nach MusicXML bis zu vier Stimmen möglich. Das Element <voice> ermöglicht die Werte 1, 2, 3 und 4. Im System 2 gibt es das leere Element <rest/>. Steht dieses Element als Kindelement im Element <note>, dann beschreibt es in der jeweiligen Zählzeit eine Pause. Ein weiteres und wichtiges Element, das an der gleichen Position wie <rest/> stehen kann, ist das Element <dot/>. Ein Punktzeichen gibt an, dass sich die Note um die Hälfte des eigenen Notenwertes verlängert. Um ein Stück abzuschließen, benutzt man einen dicken Doppelstrich am Ende des letzten Taktes. Dies wird mit den Elementen Zeile 67 bis 69 erkenntlich gemacht und muss innerhalb des Elements <measure> nach dem letzten Element <note> stehen. Funktionsaufbau der Software Oriscus Dieses Kapitel beschäftigt sich mit der selbst programmierten Software Oriscus. Der Name Oriscus stammt aus der Zeit des gregorianischen Chorals und soll an die Ursprünge des Choralgesanges erinnern. Die Software Oriscus ist in der Interpretersprache PHP 15 geschrieben unter der URL 16 erreichbar. Die Entscheidung fiel auf PHP, da die programmierte Software als Webapplikation dienen soll. Ein Benutzer soll die Möglichkeit besitzen, den auszusetzenden Choral als MusicXML Datei auf einen Server zu laden, um eine fertig bearbeitete Aussetzung wieder herunterladen zu können. Des Weiteren vertritt diese Studienarbeit die Idee eines E-Learning-Konzepts. Hausaufgaben im Choralsatz können mit der Lösung der Software verglichen werden, um mögliche Fehler in der Hausaufgabe noch vor der Abgabe an den Dozenten korrigieren zu können. PHP ist eine leicht zu verstehende Programmiersprache, die speziell für Webapplikationen geeignet ist, seit vielen Jahren auf diesem Gebiet verbreitet ist und stets weiterentwickelt wird, um eine noch größere Popularität zu erlangen. Die aktuelle Version 5 beinhaltet Funktionen, die speziell für XML-Bearbeitungen und -Manipulationen geeignet ist. Das Funktionspaket SimpleXML 17 erwies sich für die Manipulation von MusicXML Dateien als das Beste. 15 PHP: Hypertext Preprocessor. URL: [Stand: 01. Apr. 2007] 16 Mögliche Änderungen werden über als Link bekannt gegeben 17 PHP: SimpleXML Funktionen - Manual. URL: [Stand: 01. Apr. 2007] 15

16 Vorbereitungen durch den Benutzer Möchte man die Möglichkeit nutzen, einen Kantionalsatz mit gegebener Sopran- und Bassstimme als ausgesetzten Kantionalsatz zu erhalten, so muss man für ein gutes Resultat einige Vorbereitungen treffen. Es dürfte ohne Belang sein, welche Software man benutzt, um einen homophonen Satz zu erstellen, da jede Software, die eine MusicXML Datei exportieren kann, die MusicXML DTD erfüllen muss. Wichtige Notationssoftware, die Dateien als MusicXML Datei exportieren können, sind beispielsweise Finale, Sibelius, Capella und Rosegarden. Eine nahezu komplette Auflistung bietet der Initiator von MusicXML, die Firma Recordare unter 18 an. Abbildung 4. Vorbereiten der MusicXML Datei Legt man eine Datei an, die mit Oriscus getestet werden soll, muss man diese mit vier Systemen anlegen, wobei die ersten beiden Systeme, Sopran und Alt, einen Violinschlüssel besitzen, der Tenor einen nach unten oktavierten Violinschlüssel hat und das vierte System, der Bass, einen Bassschlüssel aufweist. Für das Aussetzen eines homophonen Satzes sollte man folgende Punkte beachten: Musikstück sollte er zu jeder Zeit homophon bleiben (außer Klauseln) Nur Ganze, Halbe und Viertelnoten (siehe Abbildungen oder Beispiele im Anhang) benutzen Klauseln anwenden, die im Kapitel Klauseln beschrieben sind 18 MusicXML Software. URL: [Stand: 01. Apr. 2007] 16

17 Auslesen einer MusicXML Datei Um eine MusicXML Datei analysieren zu können, muss diese temporär eingelesen werden. Während des Auslesens müssen zwei Elemente für die weitere Verarbeitung manipuliert werden. Das erste Element gibt an, dass eine Note eine Punktierung aufweist. Das andere Element gibt das Auftreten einer Pause an. Die Manipulation erfolgt von <dot /> auf <dot>yes</dot> und von <rest /> auf <rest>yes</rest>. Array aus Sopran- und Bassnoten Aus der nun vollständig eingelesenen MusicXML-Datei, können nun alle relevanten Daten extrahiert werden. Dieser Vorgang geschieht für die gegebenen Stimmen Sopran und Bass, und extrahiert folgende Informationen: Bezeichnung XML Tag Mögliche Werte Note <step></step> A, B, C, D, E, F, G Alteration <alter></alter> 1, -1 Notenposition <octave></octave> 1, 2, 3, 4, 5, 6, 7 Notenlänge <duration></duration> Wurde im Kapitel Prinzipieller Aufbau eines MusicXML Dokuments erklärt Notentyp <type></type> whole, half, quarter, eighth, 16th, 32th, 64th Punktierung <dot></dot> YES, NO Pausenzeichen <rest></rest> YES, NO Klauseln Als Klausel versteht man Schlusswendungen einzelner Vokalstimmen. In der späteren Musikentwicklung überlagern sich immer mehr Stimmen, deren weitere Fortbildung sich zur Kadenz entwickeln. Für den Zielton, auch Finalis genannt, ist wichtig, in welchem Modus sich das Stück befindet und auf welchem Wege man am besten diesen Zielton erreicht. Der Zielton war anfangs die Prime. Die anderen Stimmen sangen den Zielton dort, der für ihre Lage am angenehmsten zu singen war. Einige Zeit später kamen der Quintton und der Terzton hinzu. Auf einen Gesangstext bezogen, wird eine Klausel am Ende einer Phrase gesungen. Eine Klausel sollte dem Chor eine Signalwirkung geben, dass eine Phrase zu Ende gesungen ist und man den Zielton solange aushalten muss, bis die letzte Chorstimme seinen entsprechenden Zielton erreicht hat Amon, R. (2005) Klausel, Lexikon der Harmonielehre, Nachschlagewerk zur durmolltonalen Harmonik mit Analysechiffren für Funktionen, Stufen und Jazzakkorde. Wien-München: Doblinger Musikverlag, Mezler Verlag,

18 Für den Kantionalsatz gibt es neun wichtige Klauseln. Jede dieser Klauseln besitzt Prinzipien in der Melodiebewegung und der Notenlänge. Diese werden nun im Einzelnen beschrieben. Es ist zu beachten, dass nur die Stimmen Sopran und Bass gegeben sind. Die Bestimmung, welche Klausel am jeweiligen Phrasenende benutzt wird, erkennt man daran, welchen Melodieverlauf die beiden Stimmen aufweisen und welche Distanz die Noten vom Bass zum Sopran aufweisen. Klausel 1. n-2( ) S n-1( ) S n( ) S Halbtonschritte (gegeben) n-2( ) A n-1( ) A n( ) A 0 +2 Halbtonschritte (gesucht) n-2( ) T n-1( ) T n( ) T +2-1 Halbtonschritte (gesucht) n-2( ) B n-1( ) B n( ) B -4-1 Halbtonschritte (gegeben) Distanz(B S) Abbildung 5. Klausel 2. n-2( ) S n-1( ) S n( ) S Halbtonschritte (gegeben) n-3( ) A n-2( ) A n-1( ) A n( ) A Halbtonschritte (gesucht) n-2( ) T n-1( ) T n( ) T 0 0 Halbtonschritte (gesucht) n-2( ) B n-1( ) B n( ) B Halbtonschritte (gegeben) Distanz(B S) Abbildung 6. 18

19 Klausel 3. n-2( ) S n-1( ) S n( ) S 0-3 Halbtonschritte (gegeben) n-2( ) A n-1( ) A n( ) A -2-2 Halbtonschritte (gesucht) n-3( ) T n-2( ) T n-1( ) T n( ) T Halbtonschritte (gesucht) n-2( ) B n-1( ) B n( ) B Halbtonschritte (gegeben) Distanz(B S) Abbildung 7. Klausel 4. n-2( ) S n-1( ) S n( ) S -2-2 Halbtonschritte (gegeben) n-3( ) A n-2( ) A n-1( ) A n( ) A Halbtonschritte (gesucht) n-2( ) T n-1( ) T n( ) T 0 0 Halbtonschritte (gesucht) n-2( ) B n-1( ) B n( ) B Halbtonschritte (gegeben) Distanz(B S) Abbildung 8. Klausel 5. n-2( ) S n-1( ) S n( ) S -1-2 Halbtonschritte (gegeben) n-2( ) A n-1( ) A n( ) A 0 0 Halbtonschritte (gesucht) n-3( ) T n-2( ) T n-1( ) T n( ) T Halbtonschritte (gesucht) n-2( ) B n-1( ) B n( ) B +7-7 Halbtonschritte (gegeben) Distanz(B S) Abbildung 9. 19

20 Klausel 6. n-2( + ) S n-1( ) S n( ) S Halbtonschritte (gegeben) n-2( ) A n-1( ) A n( ) A 0 0 Halbtonschritte (gesucht) n-2( ) T n-1( ) T n( ) T -2-2 Halbtonschritte (gesucht) n-2( ) B n-1( ) B n( ) B +7-7 Halbtonschritte (gegeben) Distanz(B S) Abbildung 10. Klausel 7. n-2( ) S n-1( ) S n( ) S Halbtonschritte (gegeben) n-2( ) A n-1( ) A n( ) A 0-1 Halbtonschritte (gesucht) n-2( ) T n-1( ) T n( ) T +2-7 Halbtonschritte (gesucht) n-2( ) B n-1( ) B n( ) B -3-2 Halbtonschritte (gegeben) Distanz(B S) Abbildung 11. Klausel 8. n-2( ) S n-1( ) S n( ) S -2-1 Halbtonschritte (gegeben) n-3( ) A n-2( ) A n-1( ) A n( ) A Halbtonschritte (gesucht) n-2( ) T n-1( ) T n( ) T -3 0 Halbtonschritte (gesucht) n-2( ) B n-1( ) B n( ) B +2-5 Halbtonschritte (gegeben) Distanz(B S) Abbildung

21 Klausel 9. n-2( ) S n-1( ) S n( ) S -2-1 Halbtonschritte (gegeben) n-3( ) A n-2( ) A n-1( ) A n( ) A Halbtonschritte (gesucht) n-2( ) T n-1( ) T n( ) T -3-1 Halbtonschritte (gesucht) n-2( ) B n-1( ) B n( ) B Halbtonschritte (gegeben) Distanz(B S) Abbildung 13. Es wird die Klausel 1 näher betrachtet. Um die Klauseln für Alt und Tenor bestimmen zu können, müssen in der Horizontalen, den Melodiestimmen, und den Vertikalen, den Abständen der jeweiligen Zählzeiten der Stimmen, Anforderungen erfüllt sein, um die richtige Klausel wie eine Schablone über die gegebenen Noten legen zu können. Für die Klausel 1 muss demnach die Sopranstimme von Note n-2 zu n-1 zwei Halbtonschritte aufwärts gehen und von Note n-1 zu n ebenfalls zwei Halbtonschritte aufwärts gehen. Die Bassstimme muss von n-2 zu n-1 vier Halbtonschritte abwärts gehen und von n-1 zu n nochmals einen Halbtonschritt abwärts gehen. Soweit zur Beschreibung der Horizontalen. In der Vertikalen muss im Schritt n-2 eine Distanz von zwei leitereigenen Tönen gegeben sein, im Schritt n-1 eine Distanz von fünf Tönen und im letzten Schritt n eine Distanz von null. Der Unterschied in der Betrachtungsweise der Vertikalen und der Horizontalen führt man darauf zurück, dass die zu einer Zeit x zwei anzuspielenden Töne in einem musikalischen Zusammenhang erklingen. Dieser musikalische Zusammenhang wird bei einem Zusammenklingen von drei oder mehr Tönen Akkord, auch Harmonie, genannt. Demnach ist die Software in der Lage, aus zwei Tönen, dem Intervall, eine Harmonie zu bilden. Diese Harmonie klingt entweder in Dur oder in Moll. Der Zusammenhang ergibt sich aus der jeweiligen Tonart, in der das Stück erklingt. Für Dur: Subdominante Dominante Tonikaparallele Dominante ohne Grundton Stufe I II III IV V VI VII Klang Dur Moll Moll Dur Dur Moll Vermindert Für Moll: Funktion Tonika - - Subdominante Dominante Funktion Tonika Subdominantparallele Dominantparallele Subdominantparallele Dominante ohne Grundton Stufe I II III IV V VI VII Klang Moll - - Moll Dur Moll Vermindert 21

22 Unterschiedliche Notenwerte auf gleicher Zählzeit Ein homophoner Satz kann unter Umständen Abweichungen in der zeitlichen Abfolge des Anwendens von Notenwerten beinhalten. So kann es eine Durchgangsnote geben, damit eine Melodie einen Zielton erreichen kann und harmoniebedingt auch erreichen muss. Dieser Notenwert ist meist halb so lang wie der Notenwert der übrigen Stimmen die gerade zeitgleich erklingen. Einige Kombinationen sind schematisch dargestellt: Abbildung 14. Im Programm wurde die Lösung dieser Problematik mit Hilfe von zwei ineinander geschachtelten Schleifen realisiert. Die erste Schleife entscheidet, ob es im Stück mehr Bass- oder Soprannoten gibt und die zweite Schleife geht so lange Berechnungen durch, bis auf einer Zählzeit wieder beide Stimmen eine Note anklingen. Wird die Idee aufgegriffen dieses Programm weiter auszubauen, um beispielsweise auch Bachchoräle damit aussetzen zu können, wird diese Modellierung einen wichtigen Punkt einnehmen, da Bachchoräle nicht mehr nur homophone Sätze, sondern auch Sätze mit unterschiedlichen Notenlängen auf gleichen Zählzeiten sind. In Pseudocode kann man den Sachverhalt dieses Kapitels wie folgt zusammenfassen: Transformiere die Notenwerte in Zahlen um: Whole 1 Half 0,5 Quarter 0,25 16th 0,125 if(bassnote < Soprannote){ Zählindex = Soprannote; Boolean_bass = 1; Boolean_sopr = 0; }else{ Zählindex = Bassnote; Boolean_bass = 0; Boolean_sopr = 1; } while(zählindex > 0){ if(boolean_sopr=1){ dekrementiere Soprannotenwert; Zählindex = Zählindex Soprannotenwert; }else{ 22

23 } } dekrementiere Bassnotenwert; Zählindex = Zählindex Bassnotenwert; Distanz zwischen Bass und Sopran als Aussetzungscharakteristikum Im Kantionalsatz gibt es drei verschiedene Möglichkeiten, wie ein Akkord aufgebaut ist. Wir gehen zunächst davon aus, dass der Basston immer den Grundton eines Akkordes angibt. Der Sopranton, der oberste Ton, kann den gleichen Ton besitzen wie der Basston, dann wird dieser Akkord Sextakkord bezeichnet. Sextakkord bedeutet, dass der Sopranton vom Tenorton eine Sexte auseinander liegt. Demnach kann man den Sextakkord vom Basston aus wie folgt beschreiben: Der Basston ist vom Tenorton eine Terz (3) entfernt, der Basston vom Altton eine Quinte (5) und der Basston vom Sopranton eine Prim / Oktave (1/8). Es ist zu erwähnen, dass die Akkorde, die im Kantionalsatz gebildet werden, immer eine enge Lage zum Sopranton haben. Unter enger Lage versteht man, dass der Akkordton, der als nächstes zum Sopranton vorliegt auch zum Akkordton hinzugefügt wird. Ab diesem Zeitpunkt entfernen wir uns von der musikalischen Beschreibung und die mathematische Modellierung wird vorgestellt. Distanzmodell am Beispiel der Note C Note Distanz Grundstellung Sextakkord Quintsextakkord C +7 Prime / Oktave X H +6 Septime A +5 Sexte G +4 Quinte X X F +3 Quarte E +2 Terz X X X D +1 Sekunde C 0 Prime X X H -1 Septime A -2 Sexte G -3 Quinte X F -4 Quarte E -5 Terz D -6 Sekunde C -7 Prime / Oktave Befindet sich der Grundton im Bass sowie im Sopran, dann besitzen diese Stimmen den gleichen Ton. Die Distanz zwischen diesen beiden Tönen ist demnach 0, -7 bzw. +7. Dieser Akkord nennt sich Sextakkord. Befindet sich die Quinte im Sopran, dann sind Grundton und der Sopranton voneinander vier Einheiten entfernt. 0 ist der Grundton, 1 der Sekundton, 2 der Terzton, 3 der Quartton und 4 der Quintton. Vier Einheiten bedeutet, dass sich vom Grundton 4 Einheiten aufwärts der Quintton 23

24 befindet. Gleichermaßen kann man vom Grundton auch drei Töne abwärts gehen und erhält ebenfalls den Quintton. 0 ist hier wieder der Grundton, -1 der Septimton, -2 der Sextton und -3 der Quintton. Der Akkord, der eben beschrieben wurde, wird auch als Akkord in der Grundstellung genannt. Der Quartsextakkord hat im Sopranton die Terz. Der Abstand vom Grundton zum Terzton ist nach oben hin 2 und nach unten hin -5. Für die Aussetzung der Alt- und Tenorstimmen kann man durch diese mathematische Modellierung wie folgt vorgehen. Grundstellung Die Distanz zwischen Bass und Sopran ist 4 (bzw. -3). Initialisiere als Ausgangston den Sopranton und gehe -2 und erhalte Altton. Gehe von Sopran aus -4, dann erhalte Tenorton. Sextakkord Die Distanz zwischen Bass und Sopran ist 0 (bzw. -7). Initialisiere als Ausgangston den Sopranton, gehe -3 und erhalte Altton. Gehe von Sopran aus -5, dann erhalte den Tenorton. Quartsextakkord Die Distanz zwischen Bass und Sopran ist im Quartsextakkord 2 (bzw. -5). Der Sopranton ist eine Terz vom Ausgangsakkord und hat demnach als Altton der Grundton der -2 Positionen unterhalb des Soprantons steht. Geht man fünf Positionen vom Sopranton abwärts, dann erhält man den Tenorton. Sextakkord mit Terzbass Eine besondere Form des Akkords ist der Sextakkord mit einer Terz im Bass. Eine Terz im Bass ist im homophonen Satz nur dann möglich, wenn ein Sexakkord vorhanden ist. Ein Sextakkord mit einer Terz im Bass hat vom Bass zum Sopran eine Distanz von 5 (bzw. -2). Der Altton befindet sich aber, wie auch im oben beschriebenen Sextakkord -3 Einheiten unter dem Sopranton und der Tenorton -5 Einheiten unter dem Sopranton. 24

25 Relevante MusicXML-Elemente für ein erfolgreiches Notenaussetzen Entsteht ein Klang aus einer oder mehrerer Noten zu einer bestimmten Zeit, dann treffen viele musikalische Parameter aufeinander. Diese Parameter sind auch im Programm Oriscus anzutreffen und sind für ein erfolgreiches Abarbeiten der Aussetzung nötig. Note - <note> Die Note ist die Benennung eines Tones in einer bestimmten Frequenz. Der Ton A4 beispielsweise wird als Kammerton bezeichnet und hat eine Frequenz von 440 Hz 20. Der Ton A5 besitzt den doppelten Frequenzwert von 800Hz. C4 hat eine Frequenz von 262 Hz. Weitere Werte können in jeder guten Literatur über Psychoakustik oder in der Fachliteratur zur Musikproduktion nachgelesen werden. Alteration - <alter> Die Alteration versetzt eine Note um einen Halbtonschritt nach oben oder nach unten. Eine Alteration kommt in einem homophonen Satz besonders dann vor, wenn eine Gesangsstimme eine Sopranklausel singt. Die Sopranklausel geht dabei einen Halbtonschritt abwärts und dann wieder aufwärts. Eine Alteration wird mit einem Doppelkreuz angegeben wenn der Ton um einen Halbtonschritt erhöht wird. Wird der Ton um einen Halbtonschritt erniedrigt, stellt man der entsprechenden Note ein b voran. Notenposition - <octave> Die Notenposition beschreibt die Lage einer Note auf dem Notensystem. Beispielsweise befindet sich der Bass zwischen den Noten E der großen Oktave und e der eingestrichenen Oktave. Der Sopran hingegen liegt zwischen dem c der eingestrichenen Oktave und dem a der zweigestrichenen Oktave. Die Angabe der Oktave gibt auch die Angabe der Position in der Frequenz an, die für ein Zusammenklingen von mehreren Noten von großer Bedeutung sind. Notenlänge - <type> Die Notenlänge gibt an, wie lange eine Note gesungen bzw. gespielt wird. Die Notenlänge wird in der Musik im Notenwert erkennbar. Spielt man eine ganze Note vier Sekunden bei einer Geschwindigkeit von 40 Schlägen pro Minute, dann wird eine halbe Note zwei Sekunden, eine ganze 20 Gibson, P. (1997) Frequency (Pitch), The art of Mixing. Michigan: ArtistPro.com LLC, 38 25

26 Note eine Sekunde gespielt. Andere Varianten wie 16tel Noten, punktierte Noten und Triolen können ebenfalls mittels dieser mathematischen Verhältnisgleichung errechnet werden. 21 Punktierung - <dot/> Eine Punktierung verlängert den Notenwert der vorhergehenden Note um die Hälfte seines Wertes. Mit einer Punktierung wird eine Note so lang gespielt wie sie selbst + um die Hälfte ihres eigenen Wertes. Pause - <rest/> Pausenzeichen sind ebenso wichtig wie Noten um eine Spannung innerhalb eines Musikstückes aufzubauen. Noten haben die gleichen Notenlängen wie Noten und werden ebenso wie diese gehandhabt. Auch punktierte Pausen haben die gleichen Eigenschaften wie punktierte Noten. Oktavberechnung für Alt und Tenor in MusicXML Für die korrekte Aussetzung der Alt- und der Tenorstimme ist nicht nur der richtige Ton entscheidend sondern auch die Position im Oktavraum. Da die Stimmen Alt und Tenor zu keiner Zeit die Stimmen Bass und Sopran überschneiden dürfen und sich ebenfalls nicht überkreuzen dürfen, kann man bei der Bestimmung der Oktavposition vom Sopranton aus zum Basston abzählen und kontrollieren, ob Oktavgrenzen überschritten wurden. In Pseudocode kann man dies wie folgt darstellen: -Merke Dir die Oktavposition des Soprantones für Alt -Merke Dir die Oktavposition des Soprantones für Tenor while(altton nicht erreicht){ -gehe Ton abwärts und schaue Oktavposition if(aktueller Ton == C ){ Oktavposition--; } } -markiere neue Oktavposition für den entsprechend herausgefundenen Altton while(tenorton nicht erreicht){ -gehe Ton abwärts und schaue Oktavposition if(aktueller Ton == C ){ Oktavposition--; } } -markiere neue Oktavposition für den entsprechend herausgefundenen Tenorton 21 Bessler, J. & Opgenoorth, N. (1998) Die Stimmlagen, Elementare Musiklehre. Bonn: Voggenreiter Verlag, 12 &

27 Nicht verwendete programmierte Funktionen SimpleXML besitzt einfach zu bedienende Funktionen, mit denen man die Werte von Tags innerhalb eines XML-Dokuments abfragen kann. Für eine mögliche Choral-MusicXML-Bibliothek als Unterklasse von SimpleXML wurden einige wichtige Funktionen innerhalb der Software Oriscus erstellt, die jedoch im derzeitigen Status keine Anwendung finden. Einige dieser Funktionen geben als Rückgabewerte aus: Notenschlüssel vom Sopran / Bass Takt des Sopran- / Basssystems Notenschlüsselposition vom Sopran / Bass Tongeschlecht vom Sopran / Bass Tonart vom Sopran / Bass Eine weitere wichtige Funktion ist das automatisierte Herausfinden des Tongeschlechts innerhalb eines Stückes. Die Entscheidung über das Tongeschlecht erfolgt dabei nach statistischen Betrachtungen. Ein Musikstück steht entweder in der Durtonart beziehungsweise eine kleine Terz darunter, der Molltonart, mit demselben Tonvorrat. Im Kantionalsatz ist es üblich, den Grundton im Bass zu haben. Mitunter tritt auch eine Terz im Bass auf. Demnach kann man zu allererst anhand der Vorzeichen eines Stückes das Tongeschlecht bestimmen. Im weiteren Verlauf kann man den Basston und deren Häufigkeit zählen. Taucht häufiger der Grundton des Tongeschlechts Dur auf, dann befindet sich dieses Stück in der Durtonart, tritt öfter der Grundton von Moll auf, steht dieses Stück in Moll. Eine weitere Kontrolle wäre die Einbeziehung der Subdominante, der Dominante oder des Terztones der Dominante in einer Molltonart. Ausblick Die Möglichkeiten für diese Software sind bei Weitem nicht erreicht. Vielmehr ist diese Studienarbeit eine erste Möglichkeit gewesen, um die Möglichkeiten von PHP mit SimpleXML zu betrachten und die Möglichkeiten von MusicXML auszutesten. Zudem ist das Abstraktionsverfahren von Musik zur Mathematik noch verbesserungswürdig und noch weiterhin vertiefbar, da das Ziel sein sollte, perfekte Lösungen für ein gegebenes Problem zu finden. In dem Fall des Kantionalsatzes als homophonen Satz ist die Arbeit mit den Kirchtonarten und der Harmonik noch ausbaubar. Auch die Behandlung von Quintparallelen und Oktavparallelen sollte in einer kommenden Überarbeitung des Programmcodes geschehen. Eine wünschenswerte Eigenschaft wäre das Weglassen der Bassmelodie und die alleinständige Ausarbeitung eines Kantionalsatzes mittels einer gegebenen Melodie. Die Schritte, die dann vom Programm abverlangt werden müssten, sind: Auffinden des richtigen Modus beziehungsweise der entsprechenden Harmonik und eine Empfindensentwicklung des Programms, wann eine Melodie schön klingt. 27