Das "Musikalische Würfelspiel"

von W. A. Mozart
eingespielt von Prof. Niels Knolle
implementiert von Axel Berndt

 

horizontal rule

horizontal rule


Bedienungsanleitung:
 Das vorliegende Programm simuliert das "Musikalische Würfelspiel" von Wolfgang Amadeus Mozart. Ein Zufallsgenerator übernimmt das Würfeln; die daraus ergebenden Taktzahlen werden automatisch ermittelt. Wurden insgesamt 16 Takte gewürfelt, wird die Wiedergabe freigeschaltet. Nun kann das Zufallsstück angehört werden. Es folgt eine Anleitung zur Handhabung des Programms.

Die Taste RND aktiviert den Zufallsgenerator (Randomizer). Dieser würfelt entsprechend den Spielregeln eine Zahl zwischen 2 und 12. Über der RND-Taste wird diese Zahl dann dargestellt. Desweiteren wird die dazugehörige Nummer des wiederzugebenden Taktes angegeben (Zufallszahl -> Taktnummer), während dieser auch gleich geladen wird. Das Ergebnis und alle vorher gehenden werden im Hauptfenster der Anschaulichkeit halber noch einmal aufgelistet. Der Taktzähler über dem PLAY-Button gibt an, an welcher Stelle im Stück der gerade gewürfelte Takt gespielt wird. Sind schließlich 16 Takte gewürfelt, ist das Stück vollständig.
Nun ist die PLAY-Taste freigeschaltet. Sie emöglicht es uns, die gewürfelte Musik auch anzuhören. Während der Wiedergabe wird im Hauptfenster eine Wiedergabeliste erstellt, welche den gerade zu hörenden Takten die ursprüngliche gewürfelte Nummer zuordnet. Der Taktzähler gibt auch hier an, an welcher Stelle im Stück wir uns befinden.
Die Checkbox Wiederholung der ersten 8 Takte fungiert als zusätzliche Option. Wird hierin ein Haken gesetzt, wird die erste Hälfte des Walzers wiederholt. Dabei kommen zwei Varianten von Übergängen an der Stelle des achten Taktes zum Einsatz. Variante eins führt aus der Dominante (G-Dur) zur Tonika (C-Dur) und damit zum ersten Takt. Variante zwei führt zur Doppeldominante (D-Dur) somit in den neunten Takt. Die Abfolge wird in der Wiedergabeliste im Hauptfenster noch einmal deutlich.
Hat man sich an seinem Würfelergebnis satt gehört, lohnt ein Klick auf NEW. Nun kann wieder von vorn begonnen und ein neuer Walzer gewürfelt werden.
 Spielbeschreibung:
 Mit dem Mozartwürfelspiel kann ohne musikalische oder kompositorische Vorkenntnisse ein eigener kleiner Walzer erstellt werden.

Und so geht's:
Das zu würfelnde Stück ist 2x8 Takte lang. Das heißt, 16 Zufallszahlen müssen gewürfelt werden. Diese sind Zahlen von 2 bis 12 und entsprechen je einer Zeile der beiden unten stehenden Tabellen.
 

Würfel\Takt I II III IV V VI VII VIII
2 1 2 3 4 5 6 7 8
3 9 10 11 12 13 14 15 16
4 17 18 19 20 21 22 23 24
5 25 26 27 28 29 30 31 32
6 33 34 35 36 37 38 39 40
7 41 42 43 44 45 46 47 48
8 49 50 51 52 53 54 55 56
9 57 58 59 60 61 62 63 64
10 65 66 67 68 69 70 71 72
11 73 74 75 76 77 78 79 80
12 81 82 83 84 85 86 87 88
Würfel\Takt XI X XI XII XIII XIV XV XVI
2 89 90 91 92 93 94 95 96
3 97 98 99 100 101 102 103 104
4 105 106 107 108 109 110 111 112
5 113 114 115 116 117 118 119 120
6 121 122 123 124 125 126 127 128
7 129 130 131 132 133 134 135 136
8 137 138 139 140 141 142 143 144
9 145 146 147 148 149 150 151 152
10 153 154 155 156 157 158 159 160
11 161 162 163 164 165 166 167 168
12 169 170 171 172 173 174 175 176

Würfelt der Spieler also gerade als 3. Zufallszahl die 8, so wird diese in der Zeile 8 von Spalte III (linke Tabelle) abgelesen. Das Ergebnis ist die Nummer 51. Sie gibt die Nummer des Taktes an, welcher als 3. Takt im gewürfelten Walzer gespielt wird.

Das mozartsche Original wird übrigens mit zwei "echten" Würfeln gespielt, weshalb die Zufallszahlen (auch in den Programmausgaben) zwischen 2 und 12 liegen.
Die Nummerierung der Takte weicht hingegen aus algorithmischen Gründen von der ursprünglichen Nummernvergabe ab. Das heißt, die Inhalte der Tabellen sind verschieden.
All denjenigen, die in den Originalnoten mitlesen wollen, stelle ich untenstehend die Originaltabellen in Analogie zu den obigen zur Verfügung. Die exemplarisch gewürfelte Taktnummer 51 entspricht im Original also der Nummer 171 (Spalte III, Zeile 8, wie gehabt).
 

Würfel\Takt I II III IV V VI VII VIII
2 96 22 141 41 105 122 11 30
3 32 6 128 63 146 46 134 81
4 69 95 158 13 153 55 110 24
5 40 17 113 85 161 2 159 100
6 148 74 163 45 80 97 36 107
7 104 157 27 167 154 68 118 91
8 152 60 171 53 99 133 21 127
9 119 84 114 50 140 86 169 94
10 98 142 42 156 75 129 62 123
11 3 87 165 61 135 47 147 33
12 54 130 10 103 28 37 106 5
Würfel\Takt IX X XI XII XIII XIV XV XVI
2 70 121 26 9 112 49 109 14
3 117 39 126 56 174 18 116 83
4 66 139 15 132 73 58 145 79
5 90 176 7 34 67 160 52 170
6 25 143 64 125 76 136 1 93
7 138 71 150 29 101 162 23 151
8 16 155 57 175 43 168 89 172
9 120 88 48 166 51 115 72 111
10 65 77 19 82 137 38 148 8
11 102 4 31 164 144 59 173 78
12 35 20 108 92 12 124 44 131

Anmerkungen zum Programm:

Das Mozartwürfel-Applet läuft in einigen Versionen des Netscape Navigator nicht fehlerfrei, was seine Ursachen in dem vom Browser verwendeten Java-Compiler hat. Als Browser seien deshalb der Microsoft Internet Explorer oder Opera empfohlen. Beim Würfeln der Zufallszahlen werden die entsprechenden Sounddateien vom Format Sun-Audio (.au) gleich mit geladen. Diese haben pro Datei eine Größe von 10 KB. Benutzer einer langsamen Internetanbindung (z.B. Modem) werden hier ein kurzes "Stocken" von ca. 1 bis 3 Sekunden wahrnehmen.
Wer sich ein optimales Laufzeitverhalten sichern möchte, kann das Applet auch auf dem eigenen Rechner starten.

Entwicklerdokumentation:

Das Prinzip des Mozartwürfelspiels ist der Urvater von Sequenzerprogrammen wie Music Maker, Techno Maker oder Cubase. Da ist die Implementierung des Originals natürlich naheliegend.

Zu diesem Zweck wurden alle 187 Takte einzeln eingespielt und zur Wiedergabe in einem Java-fähigen Browser als .au-Dateien gespeichert. Dies macht es möglich, auf jeden Takt einzeln zugreifen zu können, sie also in beliebiger Abfolge wiederzugeben.
Die Zahlentafeln wurden in Form von 2-dimensionalen Arrays realisiert. Hierbei wurde eine eigene Nummerierung verwendet. Das Original folgt keinem algorithmisch faßbaren Schema. Statt also auf uneffiziente Weise jede der 176 Zahlen in den Arrays einzeln einzugeben und damit die Ladezeit zu verlängern, wird eine einfache Durchnummerierung mit Hilfe einer for-Schleife erzeugt. Entsprechend wurden die Taktzahlen bzw. Dateinamen angepaßt.
Für die Realisierung des Würfelns von Zufallszahlen wird der im Java Development Kit mitgelieferte Randomizer verwendet.
Um während der Songwiedergabe die Interaktion des Benutzers zu gewährleisten, wird die Wiedergabe in einem Thread abgearbeitet. Zwei Variablen dienen dabei der Erkennung und korrekten Abarbeitung von Abbrüchen. In solchen Fällen wird die gerade ausgegebene Datei zuendegespielt, dann der Thread beendet.

Tiefergehende Informationen finden sich im kommentierten Quelltext, den ich hier zur Einsicht freigebe.

horizontal rule


 
Zurück Freizeitnetz Weiter

 
 

horizontal rule

© 2001-2003 Last modified: 23.04.07 ---  Geometry Unheard Of - Unerhörte Geometrie  --- FU-Berlin