Der EsAC,
der Essener Assoziativ Code
In den 1980ern entwickelte Prof. Dr. Helmut
Schaffrath an der
Universität/Gesamthochschule Essen (UGE) den EsAC, den Essener
Assoziativ Code. Der EsAC ist eine Methode zur Erfassung einstimmiger
Melodien. Im EsAC liegen mehrere tausend Lieder und Melodien vor. Zum EsAC
gibt es aber auch eine Vielzahl von Programmen zur Verwaltung, Verarbeitung,
Analyse, Repräsentation und Übersetzung der Daten. Die meisten
dieser Programme sind für das Betriebssystem MS-DOS mit Turbo-Pascal
geschrieben worden, einige liegen in Java vor.
Als neues Projekt (seit Januar 2019, aktuelle Änderungen sind hier zu finden) sollen diese alten Algorithmen nun
als JavaScript zur Verfügung gestellt werden. Dadurch können
sie unabhängig vom Betriebssystem in den meisten und gängigen
Browsern benutzt und ausgeführt werden. Diese Seite erklärt, wie die
JavaScript-Algorithmen verwendet werden können.
Musiknoten in html-Seiten anzeigen und diese Noten auch noch ausdrucken zu
können, das ist etwas sehr Wertvolles:
Auf dieser Internet-Seite wird gezeigt, wie schnell und einfach die
graphische Notenrepräsentation mit dem
EsAC möglich ist und welch mächtiges Werkzeug der EsAC darstellt.
Ein kostenfreier Download der aktuellen JavaScript-Datei
EsAC.js
(im Moment in der Version
vom )
und die damit verbundene Ablage auf dem eigenen Server ist möglich und
gewünscht,
sofern diese (gerade angezeigte)
html-Seite und der Autor referenziert werden. Eine Benutzung
der EsAC-Algorithmen auf den eigenen Seiten ist unter gleichen Bedingungen
genauso erlaubt. Eine Veränderung des Codes
bedarf der Zustimmung des Autors,
zu einer Verbesserung wird er diese natürlich sofort geben, allerdings
sollen Änderungen immer zentral verwaltet werden!
Zum Aufbau des EsAC gibt es eine alte und sehr
kurze Seite, die
demnächst mal neu geschrieben werden muss.
Anleitung
Um die Algorithmen nutzen zu können, müssen diese zuerst in die
html-Seite geladen und ein Canvas zur Verfügung gestellt werden:
<script src="http://jmp100.franzke-bochum.de/EsAC/EsAC.js" charset="UTF-8"></script>
<center>
<canvas id="tlcanvas"></canvas>
</center>
In der Datei EsAC.js werden alle für die EsAC-Verarbeitung relevanten Dateien
und Algorithmen zusammen getragen. Es gibt die Möglichkeit abzufragen,
welche Dateiversion verwendet wird und wann die letzten Änderungen
stattgefunden haben mit den Script-Aufrufen von:
getEsACVersion() und getEsACDate().
Nachdem die Algorithmen geladen worden sind, kann die EsAC-Melodie definiert
werden, in diesem Beispiel soll es eine einfache C-Dur Tonleiter sein:
<script>
var tlt;
tlt="CUT[Tonleiter]\n"
+"KEY[T0001 04 C 4/4]\n"
+"MEL[1234 567+1 //]\n";
</script>
Die Tonleiter wird als EsAC-Melodie mit den Paragraphen CUT[ für
den Titel, KEY[ für die Signatur, die kleinste metrische Einheit
(hier 04 für eine Viertelnote), die Tonart und die Taktangabe und dem
Paragraphen MEL[ für die eigentliche Melodie geschrieben. Danach
kommt das eigentliche Script, das eine Instanz von EsACgraph erzeugt,
darin die Melodie setzt und bestimmt, in welchem Canvas die Ausgabe erfolgen
soll. Weiterhin wird hier gesagt, welche Breite und Hintergrundfarbe die
Notenrepräsentation habe soll. Mit dem Aufruf es.graphIt(); wird
dann die eigentliche Ausgabe erzeugt.
<script>
var es = new EsACgraph();
es.setMel(tlt);
es.setCanvasID("tlcanvas");
es.setBackgroundColor('#f0f0f0');
es.setWidth(350);
es.graphIt();
</script>
Als Ergebnis erscheint in der html-Seite auf dem Bildschirm die graphische Darstellung der
C-Dur Tonleiter:
Der gesamte Aufbau einer html-Seite, die nur eine Tonleiter ausgibt, kann
dann so aussehen (probieren Sie es doch einfach mal aus, kopieren Sie das
Nachfolgende in einer Datei auf Ihren Web-Server):
<html>
<head>
<title >
EsAC-Demoseite
</title>
</head>
<body>
<script src="http://jmp100.franzke-bochum.de/EsAC/EsAC.js" charset="UTF-8"></script>
<center>
<canvas id="tlcanvas"></canvas>
</center>
<script>
var tlt;
tlt="CUT[Tonleiter]\n"
+"KEY[T0001 04 C 4/4]\n"
+"MEL[1234 567+1 //]\n";
var es = new EsACgraph();
es.setMel(tlt);
es.setCanvasID("tlcanvas");
es.setBackgroundColor('#f0f0f0');
es.setWidth(350);
es.graphIt();
</script>
</body>
</html>
Weiteres Beispiel
Für das Notenbeispiel des Liedes „Ich hab die Nacht
geträmet“ ganz oben auf dieser Seite wurde folgende
EsAC-Codierung und folgender JavaScript-Code verwendet:
<script src="http://jmp100.franzke-bochum.de/EsAC/EsAC.js" charset="UTF-8"></script>
<center>
<canvas id="nt1"></canvas>
</center>
<script>
var mel;
mel="CUT[Ich hab die Nacht geträumet]\n"
+"KEY[G0249 16 E 6/8]\n"
+"MEL[-5_ 1__2_{3b_.2}1_ 5__.2__\n"
+" 4_ {3b_.2}1_-7__1_ 2__.0__\n"
+" -5_ 5__5_{3b_.2}1_ +1__.6b__\n"
+" 4_ {3b_.2}1_{2_.1}-7_ 1__.0__ //]\n"
+"TXT[Ich {1m}hab' die Nacht ge- {5}träu- met,\n"
+" wohl {1m}ei - nen {5}schwe- {1m}ren {5}Traum.\n"
+" Es {1m}stand in ei - nem {4m}Gar- ten,\n"
+" ein {1m}Ros - ma- {5}rie - nen- {1m}baum. ]\n";
var esac1 = new EsACgraph();
esac1.setMel(mel);
esac1.setCanvasID("nt1");
esac1.setBackgroundColor('#f0f0f0');
esac1.setWidth(550);
esac1.transpose("G");
esac1.graphIt();
</script>
Ansprechpartner:
Wenn Sie sich am EsAC-Projekt beteiligen wollen, wenn Sie schon eigene
Melodiedateien erstellt haben oder an Melodiedateien arbeiten wollen,
wenn Sie Programmverbesserungen oder sonst einen Wunsch haben oder Ihre
Hilfe zur Verfügung stellen wollen, wenden Sie sich bitte an
Dr. Ewa Dahlig-Turek,
die seit 1992 im EsAC-Projekt arbeitet oder an den Autoren des EsAC.js,
an Ulrich Franzke.
Zur Hauptseite
Zurück zur vorigen Seite
e-mail:
Ulrich Franzke <sinus@ulrich-franzke.de>