The present synthesizer includes functionality for changing over from a
current note to the following notes that results in natural and
expressive combinations and transitions. The method of the present
invention incorporates an delay (actual, functional, or look ahead)
between receiving control data inputs and generating an output sound.
This period of delay is used to modify how notes will be played according
to control data inputs for later notes. The input to the synthesizer is
typically a time-varying MIDI stream, which may be provided by a musician
or a MIDI sequencer from stored data. An actual delay occurs when the
synthesizer receives a MIDI stream and buffers it while looking ahead for
changeovers between notes. A functional delay occurs in a system in which
the synthesizer has knowledge of note changeovers ahead of time. A look
ahead delay occurs when the synthesizer queries the sequencer for
information about the stored sequence ahead of when the synthesizer needs
to generate the output for the sequence.