When an Instrument Generator receives an event or message it responds to them by either changing its internal state or by ``activating'' special objects that also contribute to the Generator state. These objects are called Notes. A musical Note is defined as a sound object that has a precise and explicit active lifespan (i.e. the note duration), a certain loudness, an optional pitch and other optional attributes. The pitch, just as the other attributes in a Note, is not constant and can vary in run-time as the Note object responds to an incoming message. Therefore, an incoming message will produce a change in the Note internal state by modifying any of its attributes. A special message, because of its consequences is the ``Stop'' message. This will cause the Note object to transition to an inactive state but will generally, and as it will be seen in next paragraphs, not imply the object destruction.
A Note object is associated to its owner Generator and will only respond to messages sent through it. A Generator is by nature monophonic, this meaning that it can only hold a single sounding note at a certain moment. For this reason when a Generator is created it is granted an associated inactive Note. This Note will become active whenever the Generator receives a ``play note'' message from its Instrument.
It is important to understand, though, that the fact that a Generator has a single Note object through all its lifespan is just for convenience and could conceptually be understood of a set of Notes that are instantiated and de-instantiated every time they start/stop sounding. In this sense the concept of Note that we are here using is perfectly compatible with the Note obtained in the analysis phase of an OOCTM metamodel (see section 5.2.1.
Ranges of valid attributes for a particular Note, such as its minimum and maximum pitch, are handled by its Generator. Clearly the Note object is completely transparent to the rest of the musical system that will only treat with messages sent to Instruments and particular Generators present in it.
Our model of Note is very different from that of event-oriented music
models such as Music-N where a Note is considered an event. As a matter
of fact our music model also includes the idea of Note event
that will be explained in next section. But it is important to note
that this consideration of a Note as something completely different
from an event is not exclusively ours. As Miller Puckette explains
in [Puckette, 1991b] already in RTSKED (see [Mathews and Pasquale, 1981])
a note was considered as a process and this same idea was pushed
forward in FTS and Max. The combination of our Generator/Note structure
is also very similar to the note in ZIPI (see section 2.6.2).
2004-10-18