|
perhaps unusally, the string module over these numerical modules. From these one-dimensional “scalar” modules, free modules may be contructed such as real vector spaces. Between any two of these modules morphisms may be defined, which map elements from a domain module to elements from a codomain module. To construct forms and denotators and to manipulate them, helper classes are available. The following example will use just these helper classes to construct a simple denotator. Let’s take the common example of a note consisting of onset (O), duration (D), pitch (P), and loudness (L). Values are reals in the case of O and D (seconds), integers in the case of P (MIDI key) and strings in the case of L (pp,p,mp,mf,f,ff ). The forms are described in DenoteX:1
|