An interactive MIDI accompanist
暂无分享,去创建一个
The ability to infer beat and meter from music is one of the basic activities of musical cognition. After hearing only a short fraction of music, we are able to develop a sense of beat and to tap our foot along with the music. Even if the music is rhythmically complex, containing a range of different time values and possibly syncopation as well, we are capable of inferring the different periodicities present in the music and synchronizing to them. Simulating this activity with a computer program might seem, at first glance, to be simple. If a note onset (that is, an attack) occurs before the system expects it to occur, the estimated tempo is increased, and vice versa. In practice, however, it is a more demanding task. Besides rhythmic complexity, the computer must be capable of dealing with temporal deviations present in every musical performance. Such deviations can either be intentional (i.e., manipulations of timing intended to attract listeners' attention), or unintentional (i.e., inaccuracies in timing caused by the technical inabilities of the performer). Furthermore, the temporal deviations can be either short or long term. In other words, they can either consist of timing inaccuracies of a single or a few notes, or result in a permanent change of tempo. An ideal beattracker program should be capable of adapting to temporal deviations of both short and long terms. Models that attempt to address the foot-tapping problem (to rhythmically parse musical performances in real time) have been proposed by Dannenberg (1984), Vercoe and Puckette (1985), Dannenberg and Mont-Reynaud (1987), Allen and Dannenberg (1990), Baird, Blevins, and Zahler (1993), and Vantomme (1995). The systems of Dannenberg (1984), Vercoe and Puckette (1985), Baird, Blevins, and Zahler (1993), and Vantomme (1995) are intended to follow a live performance of a predefined score; that is, the systems are provided with a priori knowledge about the input. They rely on both pitch and note-onset data extracted from the musical performance, and try to match these with the score. The implementations of Dannenberg and MontReynaud (1987) and Allen and Dannenberg (1990) do not need any a priori information about the musical performances they follow. The approach of Dannenberg and Mont-Reynaud (1987) is based on control theory; it uses a weighted average of previous perceived tempos to compute the current tempo. Allen and Dannenberg (1990) employ a system that considers several alternative interpretations using the technique of beam search. Each interpretation consists of an estimated tempo and an estimated beat phase. An important contribution to beat tracking was the introduction of adaptive oscillators by Large and Kolen (1994). These oscillators attempt to adjust their phase and period, so that during stimulation their output pulses become, and remain, phaseand frequency-locked to the stimulus. The stimulus consists of a series of impulses, each of which corresponds to the onset of an individual note. This article describes an interactive accompanying system that works in a MIDI environment. It tracks the tempo of a musical performance in real time, and plays back a predefined accompaniment in synchrony with the performance. Except for an estimate of the initial tempo, it does not need any a priori information about the musical performance. Therefore, it is also capable of following improvisations. The system is based on an adaptive oscillator similar to the one introduced by Large and Kolen (1994). The present oscillator, however, employs a more sophisticated adaptation mechanism than Computer Music Journal, 22:4, pp. 63-75, Winter 1998 ? 1999 Massachusetts Institute of Technology.