Eine Einfürung in das CMN format ist in Beyond MIDI Kapitel 16. Sie können das Program und das Manual von the CMN page herunterladen.
Das CMN-Format sieht LISPig aus, wie man es von einem Programm erwartet, das in LISP geschrieben ist. Ich sehe aber kein großes Problem darin, CMN-Dateien mit Programmen in anderen Sprachen zu lesen und zu schreiben. (In einem früheren Leben habe ich in LISP programmiert und benutze zur Zeit hauptsächlich Java . Ich bereue den Schritt im Allgemeinen nicht, vermisse aber doch einige nette Eigenschaften von LISP).
CMN-Dateien zu lesen geht wie folgt: Bauen Sie einen
Objektbaum mit dem ersten Element der Liste als
Eltern-Knoten. Während
XML
-Knoten zwei Achsen beinhalten (Attribute und
Kind-Elemente), hat LISP nur eine.
Beispiel: (chord (notes b3 g4) q). Von LISP aus
gesehen ist notes eine Funktion mit den Parametern
b3 und g4. Die Funktion chord hat zwei Parameter
(sehen Sie sie?). Wenn Sie daraus einen Objektbaum
in
Java
bauen, erstellen Sie einfach ein chord-Objekt mit
zwei Feldern. Das erste beinhaltet eine Referenz auf
die Noten und das zweitde die Information, daß
es sich um viertelnoten handelt.
Sie (und Ihr Programm) brauchen also nichts von LISP zu verstehen. Es ist möglich, das CMN-Format zu erweitern, aber das geht mit NIFF ebenfalls. CMN wird mit Funktionen erweitert und NIFF mit chunks, aber für ein Programm ist es dasselbe: was man nicht kennt wird ignoriert. (OK, eines ist mit CMN schwieriger: es ignoriert, was zu nil evaluiert und Sie können außerhalb LISP nicht evaluieren. Ich denke aber, daß das im Regelfall kein Problem ist.
Programme, die CMN: Common Music Notation exportieren:
Programme, die CMN: Common Music Notation importieren:
|
Fragen, Vorschläge, defekte Links zu CMN: Common Music Notation
Mein neues eBook...
Professionell Ankern - vom NLP-Practitioner bis zum Coaching und die passende Webseite