The present invention includes a system and a method for a series of discrete MIDI events to be represented by a single curve event. The curve event is stored as a curve data structure and may include one or more sub- curve data structures. Each sub-curve data structure represents one or more of the series of discrete MIDI events. The curve data structure identifies when the curve event should start, the type of MIDI events that the curve represents, and a list of one or more sub- curve data structures. Each of the sub-curve data structures identify a curve- shape, the start time for the playback of the sub-curve, the end time for the playback of the sub-curve, the minimum and maximum values that the sub- curve reaches, and an orientation of the sub-curve. At performance time, each sub-curve event in the curve data structure is converted into time- stamped, discrete MIDI events that can be provided as input to a MIDI device. This is accomplished by, for each sub-curve identified in a curve structure: (1) establishing the starting point of sub-curve; (2) establishing the value for the first MIDI event; (3) establishing the ending time of the sub-curve; (4) establishing the value for the last event; (5) generating a series of MIDI events between the first and last MIDI events.
展开▼