B.2.2 Interne Repräsentation der Musik
Wenn ein musikalischer Ausdruck ausgewertet wird, wird er in eine Anzahl von musikalischen Scheme-Objekten konvertiert. Die Eigenschaft, die ein musikalisches Objekt definiert, ist, dass es Zeit einnimmt. Zeit ist eine rationale Zahl, die die Länge eines Stückes in ganzen Noten misst.
Ein musikalisches Objekt hat drei Typusarten:
-
musikalische Bezeichnung: Jeder musikalische Ausdruck hat eine Bezeichnung.
Eine Note beispielsweise führt zu einem
NoteEvent und
\simultaneous
führt zu SimultaneousMusic. Eine Liste aller möglichen Ausdrücke findet sich in der Referenz der Interna, unter Music expressions. -
‚Typ‘ oder Schnittstelle: Jede musikalische Bezeichnung hat mehrere
„Typen“ oder Schnittstellten, beispielsweise ist eine Note ein
event
, ober sie ist auch einnote-event
, einrhythmic-event
und einmelodic-event
. Alle diese Notationsklassen finden sich in der Referenz der Interna unter Music classes. -
C++-Objekt: Jedes musikalische Objekt wird von einem Objekt der
C++-Klasse
Music
repräsentiert.
Die eigentlich Information eines musikalischen Ausdrucks ist in
Eigenschaften gespeichert. Ein
NoteEvent hat zum
Beispiel pitch
- und duration
-Eigenschaften, die
die Tonhöhe und die Dauer dieser Note speichern. Eine Liste aller
verfügbaren Eigenschaften findet sich in der Referenz der Interna unter
Music properties.
Ein zusammengesetzter musikalischer Ausdruck ist ein musikalisches
Objekt, das andere Objekte in seinen Eigenschaften enthält. Eine Liste
der Objekte kann in der elements
-Eigenschaft eines
musikalischen Objektes gespeichert werden, oder ein einziges
„Kind“-Objekt in der element
-Eigenschaft. Sa hat etwa
SequentialMusic seine „Kinder“ in elements
,
und
GraceMusic hat sein einziges Argument in
element
. Der Hauptteil einer Wiederholung wird in der
element
-Eigenschaft von
RepeatedMusic gespeichert,
und die Alternativen in elements
.