8. Behavior
Behaviors are a specification of which procedures are called within
each type in the attentional state loop.
Attentional State
The attentional state is the shared state which coordinates the
different routines of the different categories. They are the means of
communication among them. The properties established at the focus of
attention will be saved there. The learning routines will keep there
the patterns that the pattern matching algorithm matches upon and
modifies. The location to move to (along with the type of location it
is) will be saved for the MFOA procedure to read it.
It's basically a database of shared state, and provides no functionality
by itself, but simply a place to scribble on at every iteration of the
attentional loop.
Choosing Procedures
The choice of procedures is thus crucial in understanding the music
that is presented to the system. This choice can be either hard coded,
to recognize specific types of music, according to how we think we
understand a piece we listen to. A behavior will simply be a series
of routines alternating types.
Behavior Example
To recognize a fugue, the system will
- EP: Number of voices playing
- LN: nothing (no input long enough yet)
- SL: Select location of most salient notes overall
- MF: Move FOA to that voice
- EP: Pitch - Duration - Volume - Period to expect for next note
- LN: Learn patterns at selected pitch/duration/volume/period
- SL: Select voice where pattern repeats
- MF: move to voice (or adjust window-size = period when not found)
- EP: Changes between theme and its repetition
- LN: Learn changes as new patterns of length = length_of(theme)
- SL: Select voice of pattern
- MF: move to voice
Learning Procedures
Alternatively, those procedure sequencies can be learned, by selecting
the most salient at each time, and seeing which one it was. When in
the future it sees that the first routines emerging by following
movements and most salient properties, it will match patterns of
changes in attentional state, and follow those emerging patterns as
behaviors.
Our hope is that similar behaviors correspond to similar types of
music, and thus our program would be able to recognize and categorize
types of music simpy by the way it reacts to each of them.