A music generation system includes a segment manager and a plurality of
segment objects. Each segment object has one or more track objects. Each
track object containing a time sequence of musical performance data. Some
of the track objects are dependent track objects and some of the track
objects are controlling track objects. The dependent track objects contain
dependent musical performance data that is interpreted based on
controlling musical performance data contained in one or more of the
controlling track objects. Each of the controlling track objects contains
a predefined type of controlling musical performance data, wherein a
plurality of different control type identifiers correspond respectively to
different predefined types of controlling musical performance data. When a
dependent track object needs controlling musical performance data, the
track object calls the segment manager with an argument comprising a
control type identifier. The segment manager responds by calling one or
more segment objects with arguments that include the received control type
identifier. In response a called segment object identifies one of its
track objects that contains the requested type of controlling musical
performance data and returns the musical performance data from the
identified track object to the segment manager.