Speech Communication 27 (1999) 311±335

Real-time beat tracking for drumless audio signals:
Chord change detection for musical decisions
Masataka Goto *, Yoichi Muraoka
School of Science and Engineering, Waseda University, 3-4-1 Ohkubo, Shinjuku-ku, Tokyo 169-8555, Japan
Received 29 December 1997; received in revised form 18 September 1998

Abstract
This paper describes a real-time beat-tracking system that detects a hierarchical beat structure in musical audio
signals without drum-sounds. Most previous systems have dealt with MIDI signals and had diculty in applying, inreal time, musical heuristics to audio signals containing sounds of various instruments and in tracking beats above thequarter-note level. Our system not only tracks beats at the quarter-note level but also detects beat structure at the halfnote and measure levels. To make musical decisions about the audio signals, we propose a method of detecting chord
changes that does not require chord names to be identi®ed. The method enables the system to track beats at dierent
rhythmic levels ± for example, to ®nd the beginnings of half notes and measures ± and to select the best of various
hypotheses about beat positions. Experimental results show that the proposed method was eective to detect the beatstructure in real-world audio signals sampled from compact discs of popular music. Ó 1999 Elsevier Science B.V. All
rights reserved.
Keywords: Beat tracking; Rhythm perception; Chord change detection; Music understanding; Computational auditory scene analysis

1. Introduction
One of the goals of computational auditory scene analysis is to implement a computational model thatcan understand musical audio signals in a human-like fashion. A popular approach to this goal is to build
an automatic music transcription system, or a sound source separation system, which typically transforms
audio signals into a symbolic representation such as a musical score or MIDI data. Although such detailedtranscription technologies are important, they have diculty in dealing with compact disc audio signals ingeneral. Because only a trained listener can identify the names of musical notes and chords, we can inferthat musical transcription is a skill dicult even for human beings to acquire.
On the other hand, an untrained listener understands music to some extent without mentally representing audio signals as musical scores. For example, even a listener who cannot identify chord names canperceive harmony and chord changes. A listener who cannot segregate and identify every musical note cannevertheless track musical beats and keep time to music by hand-clapping or foot-tapping. We therefore*
Corresponding author. Present address: Machine Understanding Division, Electrotechnical Laboratory, 1-1-4 Ume zono, Tsukuba,
Ibaraki 305-8568, Japan. Tel.: +81-298-54-5898; fax: +81-298-54-3313; e-mail: goto@etl.go.jp

0167-6393/99/$ ± see front matter Ó 1999 Elsevier Science B.V. All rights reserved.
PII: S 0 1 6 7 - 6 3 9 3 ( 9 8 ) 0 0 0 7 6 - 4

312

M. Goto, Y. Muraoka / Speech Communication 27 (1999) 311±335

think that it is important to ®rst build a computer system that can understand music at the level untrained
human listeners do, without relying on transcription, and then extend the system so that it can understandmusic at the higher level musicians do.
Our approach is to build a real-time beat-tracking system that detects a hierarchical beat structure ofthree rhythmic levels in real-world audio signals, such as those sampled from popular compact discs. Beat
tracking is an important part of the computational modeling of music understanding because the beat isfundamental, for both trained and untrained listeners, to the perception of Western music. The purpose ofthis study is to build such a beat-tracking system that is practical from the engineering viewpoint, that gives
suggestions to the modeling of higher-level music understanding systems, and that is useful in various
applications, such as music-synchronized CG animation, video/audio editing, and human-computer improvisation in live ensemble. For this purpose it is desirable to detect a hierarchical beat structure, since ahigher structure like the measure (bar-line) level can provide information more useful for modeling music
understanding and for implementing beat-tracking applications. We therefore built a system that can track
beats at three rhythmic levels: the quarter-note level, the half-note level, and the measure level. 1 The system
not only ®nds the pulse sequence corresponding to the beats at the quarter-note level but also ®nds the
beginnings of half notes and measures under the assumption that the time-signature is 4/4.
To build a real-time system that can output its beat interpretation along to a real-time input, it isnecessary to utilize a beat-tracking algorithm that meets real-time requirements: it must process the input
sequentially rather than in a back-and-forth or all-at-once manner. Although several previous systems(Desain and Honing, 1989, 1994, 1995; Smith, 1996) did not address the issue of predicting the next beat, areal-time beat-tracking algorithm needs to do just that. Several systems (Lee, 1985; Dannenberg and MontReynaud, 1987; Allen and Dannenberg, 1990; Driesse, 1991; Rosenthal, 1992a,b; Desain, 1992; Rowe,
1993; Large, 1995) provide this capacity even if the real-time versions of their systems were not necessarily
implemented. Since it is impossible to backtrack in performing beat tracking in real-time, several authors(Allen and Dannenberg, 1990; Rosenthal, 1992a,b) clari®ed the need for a strategy of pursuing multiple
hypotheses in parallel and built their systems on such a strategy. Furthermore, Rosenthal (1992a,b) addressed the issue we are considering, detecting a hierarchical beat structure. Those systems, however, dealt
with MIDI signals or clean onset times as their input. Since it is quite dicult to obtain complete MIDI
representations from audio data, they cannot immediately be applied to complex audio signals.
Although several systems (Schloss, 1985; Katayose et al., 1989; Vercoe, 1994; Scheirer, 1996) dealt withaudio signals, most of them did not consider higher-level musical structure such as the half-note andmeasure levels. Todd (1994, 1995) and Todd and Brown (1996) tackled this issue of detecting a hierarchicalmusical structure in a bottom-up fashion by using a multiscale smoothing model applied to onsets that weredetected by a model of human auditory periphery. Previous practical MIDI-based systems (Allen andDannenberg, 1990; Driesse, 1991; Rosenthal, 1992a,b) that employed musical heuristics to determine amore appropriate beat structure, in particular in situations when beat interpretation is ambiguous, haveshown that a top-down process using musical heuristics provides more informative cues that a beattracking system can use to make appropriate musical decisions. It was dicult, however, to apply such
musical heuristics to audio signals because of the diculty of extracting musical elements such as chords
and melodies in real-world audio signals.
We therefore developed a real-time beat-tracking system for audio signals (Goto and Muraoka,
1994, 1995a,b) under the assumption that the input contained drum-sounds (a bass drum and a snaredrum). That system, though, was generally not able to track beats in audio signals without drum-sounds

1
Although our system does not rely on score representation, for convenience here we use score-representing terminology like thatused by Rosenthal (1992a,b). In our formulation the quarter-note level indicates the temporal basic unit that a human feels in music
and that usually corresponds to a quarter note in scores.

M. Goto, Y. Muraoka / Speech Communication 27 (1999) 311±335

313

Fig. 1. Beat-tracking problem.

because it relied on musical knowledge related to drum patterns. It was also unable to detect the beatstructure at the measure level.
In the following sections we describe how we extended our previous system so that it can deal withdrumless audio signals and detect the hierarchical beat structure comprising the three rhythmic levels in realtime. We propose a method of detecting chord changes to make musical decisions about the audio signals
by using heuristic musical knowledge. Because our method takes advantage of not requiring chord names
to be identi®ed, it can be applied to complex audio signals sampled from compact discs, signals in whichchord identi®cation is generally dicult.
2. Beat-tracking problem
In this section we specify the beat-tracking problem that we are dealing with and present the maindiculties of tracking beats.
2.1. Problem speci®cation
In our formulation, beat tracking is de®ned as a process that organizes music into a hierarchical beatstructure with three levels of rhythm: the quarter-note level, the half-note level and the measure level(Fig. 1). The ®rst step in solving our beat-tracking problem is thus obtaining an appropriate sequence ofbeat times in an input musical audio signal. We de®ne beat times as the temporal positions of almost
regularly spaced beats corresponding to quarter notes, and the sequence of beat times is called the quarternote level. The second step in solving our problem is then ®nding the beginnings of half notes andmeasures. The sequence of half-note times (temporal positions of strong beats 2) is obtained by determining whether a beat is strong or weak (half-note-level type). The sequence of measure times (temporal
positions of the beginnings of measures) is obtained by determining whether a half note is the beginning or
the middle of a measure (measure-level type). The sequence of half-note times is called the half-note level

2
Under the assumption that the time-signature of an input song is 4/4, in this paper a strong beat is either the ®rst or third quarter
note in a measure; a weak beat is the second or fourth.

314

M. Goto, Y. Muraoka / Speech Communication 27 (1999) 311±335

and the sequence of measure times is called the measure level. Both half-note-level and measure-level types
are called beat types.
To solve this problem, we assume that the time-signature of an input song is 4/4 and that its tempo isconstrained to be between 61 M.M. (Malzel's Metronome: the number of quarter notes per minute) and120 M.M. and to be roughly constant. We also presuppose that a large class of popular music without
drum-sounds has harmony transitions and chord changes.
2.2. Acoustic beat-tracking issues
Problematic issues that must be dealt with when tracking the hierarchical beat structure in real-worldmusical acoustic signals are (1) detecting beat-tracking cues in audio signals, (2) examining multiple hypotheses about beat positions and (3) making musical decisions. The simple technique of peak-®nding witha threshold is not sucient because there are many energy peaks that are not directly related to beats.
Multiple interpretations of beats are possible at any given point because there is not necessarily a single
speci®c sound that directly indicates the beat position. There are various ambiguous situations, such as ones
where several events obtained by frequency analysis may correspond to a beat and where dierent inter-beatintervals (the temporal dierence between two successive beats) seem plausible. In addition, it is necessary
to make context-dependent decisions, such as determining the half-note-level and measure-level types anddetermining which is the best interpretation in an ambiguous situation.
In detecting tracking cues, it is necessary to detect several cues for dierent purposes: ®nding beat times
and tracking the higher-level beat structure. Our previous system (Goto and Muraoka, 1995b) found beattimes by ®rst using frequency analysis to detect onset times and then using autocorrelation and crosscorrelation of the onset times. The cues for tracking the higher-level beat structure of drumless audio
signals, however, were not dealt with.
The multiple-hypothesis issue was addressed in our previous system (Goto and Muraoka,
1994, 1995a, 1996) by managing multiple agents that, according to dierent strategies, examined parallel
hypotheses about beat positions. This multiple-agent architecture enables the system to cope with dicultbeat-tracking situations: even if some agents lose track of beats, the system will track beats correctly as longas other agents maintain the correct hypothesis.
In making musical decisions, our previous system (Goto and Muraoka, 1995a,b) made use of prestored drum patterns, matching them with the drum pattern currently detected in the input signal. Although this method was eective, it of course cannot be applied to the drumless audio signals we areconsidering here.
In this paper we address the main issue in extending our previous system to drumless audio signals andto higher-level beat structure. The issue is that higher-level processing using musical knowledge in addition
to lower-level signal processing is indispensable for tracking the higher-level beat structure and determining
which is the best interpretation of beat positions in an ambiguous situation. Musical knowledge that isuseful for analyzing musical scores or MIDI signals, however, cannot be immediately applied to raw audio
signals because of the diculty of obtaining MIDI-like representations of those signals.
3. Chord change detection for musical decisions
To address the above-mentioned higher-level processing issue, we propose a method for making musicaldecisions based on chord changes. In the following sections, we ®rst describe a method of obtaining beattracking cues for the higher-level beat structure by detecting chord changes (Section 3.1) and then explain away of making semantic decisions (musical decisions) by using heuristic musical knowledge based on thosechord changes (Section 3.2). The main variables used in this section are listed in Table 1.

M. Goto, Y. Muraoka / Speech Communication 27 (1999) 311±335

315

Table 1
List of the main variables
Variable

Descriptiontf
p t; f 
TQ n
TE n
CQ n
CE n
SQ n
SE n
L
HL n; f 
Phist L n; f Preg L n; f 
Ptran L n; f clip x
tendH ntendM nrjudge H nrjudge M n
rjudge Q nTimeFrequency
Power of the frequency spectrum
nth beat time (provisional beat time)
nth eighth-note time (Eq. (3))
Quarter-note chord-change possibility (Eq. (12))
Eighth-note chord-change possibility (Eq. (12))
Frequency spectrum sliced at TQ n (Eq. (1))
Frequency spectrum sliced at TE n (Eq. (2))
A symbol representing the quarter-note level `Q' and the eighth-note level `E'
Histogram in SL n (Eq. (4))
Peaks along the frequency axis in HL n; f  (Eq. (5))
Regularized peaks HL n; f  (range: 0±1) (Eq. (6))
Finally-transformed peaks HL n; f  (Eq. (9))
Clipping function passing the range of 0 to 1 of x (Eq. (8))
Past tendency of every other CQ n (Eq. (13))
Past tendency of every four CQ n (Eq. (14))
Reliability of judging the half-note-level type (Eq. (15))
Reliability of judging the measure-level type (Eq. (16))
Reliability of judging that the quarter-note level is appropriate (Eq. (17))

3.1. Chord change detection
By making use of provisional beat times obtained on the basis of onset times (i.e., making use of beattimes of a beat-position hypothesis as top-down information), this detection method examines possibilities
of chord changes in a frequency spectrum without identifying musical notes or chords by name. The idea
for this method came from the observation that a listener who cannot identify chord names can neverthelessperceive chord changes.
When all frequency components included in chord tones and their harmonic overtones 3 are considered,they are found to tend to change signi®cantly when a chord is changed and to be relatively stable when achord is not changed. Although it is generally dicult to extract all frequency components from audio
signals correctly, dominant frequency components during a certain period of time can be roughly identi®edby using a histogram of frequency components.
This method therefore calculates two kinds of possibilities of chord changes, one at the quarter-note level
and the other at the eighth-note level, by slicing the frequency spectrum into strips at the provisional beattimes (top-down information). We call the former the quarter-note chord-change possibility and the latterthe eighth-note chord-change possibility. The quarter-note and eighth-note chord-change possibilities respectively represent how likely a chord is to change on each quarter-note position and on each eighth-note
position under the current beat-position hypothesis. As described in Section 3.2, these possibilities are used
for dierent purposes.
These possibilities are calculated as follows:(1) Slicing the frequency spectrum into spectrum strips. The frequency spectrum (power spectrum) is
calculated using the Fast Fourier Transform of the digitized audio signal (Section 4.1). In preparation for3
In the case of real-world songs, frequency components of a melody and other backing parts are also considered. These components
tend to be in harmony with chord tones.

316

M. Goto, Y. Muraoka / Speech Communication 27 (1999) 311±335

Fig. 2. Example of a frequency spectrum sliced into spectrum strips. (a) Frequency spectrum; (b) frequency spectrum sliced at theeighth-note times TE (n).

calculating the quarter-note chord-change possibility CQ n, the frequency spectrum is sliced into spectrum
strips SQ n at the quarter-note times (beat times):
SQ n  fp t; f  j TQ n 6 t < TQ n  1g;

14

where TQ n is the nth beat time and p t; f  is the power of the spectrum of frequency f at time t. In
preparation for calculating the eighth-note chord-change possibility CE n, on the other hand, the spectrum
is sliced into spectrum strips SE n at the eighth-note times TE n interpolated from TQ n:
SE n  fp t; f  j TE n 6 t < TE n  1g;
TQ n=2
TE n TQ n ÿ 1=2  TQ n  1=2=22
n mod 2  0;n mod 2  1:3

Fig. 2 shows an example of a frequency spectrum sliced into spectrum strips. As shown in Fig. 2(b), thefrequency spectrum shown in Fig. 2(a) is sliced at the eighth-note times interpolated from the provisional
beat times.
(2) Forming histograms. The system forms histograms HQ n; f  and HE n; f  (after this, we will use
abbreviations such as HL n; f  L  Q; E) summed up along the time axis of the corresponding strip SQ n
and SE n:
HL n; f  

TL n1ÿgapX L n

p t; f ;

4tTL ngapL n

4f and t are integers, and 1f and 1t are respectively equal to the frequency resolution (10.77 Hz) and the discrete time step (11.61 ms).

M. Goto, Y. Muraoka / Speech Communication 27 (1999) 311±335317

where gapL n is a margin that was introduced in order to avoid in¯uences of noises and unstable frequency
components around the note onset and that was empirically determined as gapL n  TL n  1 ÿ TL n=5.
Fig. 3(a) shows the histograms formed from the spectrum strips shown in Fig. 2(b).
(3) Detecting dominant frequencies. First, peaks Phist L n; f  along the frequency axis in HL n; f  are given
byFig. 3. Forming histograms and detecting dominant frequencies. (a) Histogram HE n; f  in each spectrum strip SE n; (b) peaks
Phist E n; f  in each histogram HE n; f ; (c) regularized peaks Preg E n; f ; (d) transformed peaks Ptran E n; f  continuing during silent
periods.

318

M. Goto, Y. Muraoka / Speech Communication 27 (1999) 311±335

Phist L n; f  

HL n; f 0

if HL n; f  P HL n; f  1;otherwise:5

Our current implementation considers only peaks whose frequency is between 10 Hz and 1 kHz. Thesepeaks can be considered the frequencies of the dominant tones in each strip and tend to correspond tofrequency components of a chord or a melody. Fig. 3(b) shows peaks along the frequency axis in eachhistogram shown in Fig. 3(a).
The peaks Phist L n; f  are then regularized into Preg L n; f , which take values between 0 and 1. To avoid
amplifying unnecessary noise peaks that appear during a musically silent period such as a rest, the system
calculates Preg L n; f  as a value relative to the recent maximum Mrecent L n of Phist L n; f . In addition, theclipping function clip(x) (Eq. (8)) is applied after multiplying this relative value by a constant gain ratio
GainRatio so that the absolute values of dominant peaks of Preg L n; f  are large enough. We can thus
express the regularized peaks Preg L n; f  asPhist L n; f ;Preg L n; f   clip GainRatio
Mrecent L n
Mrecent L n  max max Phist L n; f ; AttnRatio Mrecent L n ÿ 1 ;f

8
<0
clip x  x:
1

x < 0;0 6 x 6 1;
1 < x;6
7

8

where AttnRatio is a constant attenuation ratio which determines how long the previous local maximumaects the current value of the recent maximum and which will also be utilized in Eq. (11). The value of
GainRatio was constrained to be at least 1 and the value of AttnRatio was constrained to be at least 0 andless than 1; those values were empirically set at GainRatio  5 and AttnRatio  0:99. Fig. 3(c) shows theregularized peaks calculated from the peaks shown in Fig. 3(b).
Finally the transformed peaks Ptran L n; f  in each strip are calculated so that the previous peaks
Ptran L n ÿ 1; f  can be regarded as continuing during a relatively silent period in which the sum of the peaks
Preg L n; f  is low:Ptran L n; f  PP
ifPreg L n; f 
f Preg L n; f  P SilentThresf Ptran L n ÿ 1; f ;
Ptran L n ÿ 1; f  otherwise;9

where SilentThres is a constant threshold used as the criterion for the silent period and was empirically set
at 0:1. This transformation makes it possible to prevent the chord-change possibilities from increasing
rapidly after every silent period. The transformed peaks shown in Fig. 3(d) were obtained from Fig. 3(c)and continue during silent periods.
(4) Comparing frequencies between adjacent strips. The chord-change possibilities are calculated bycomparing peaks between adjacent strips: Ptran L n ÿ 1; f  and Ptran L n; f . When a chord is changed at theboundary time TL n between those strips, the peaks in Ptran L n; f  tend to dier from those in
Ptran L n ÿ 1; f . Therefore, the chord-change possibility CL n is obtained as the result of normalizing thepositive peak dierence Pdiff L n given by Eq. (10). In order to normalize Pdiff L n into the range of 0±1, thesystem calculates Pdiff L n as a value relative to the recent maximum Mdiff L n of Pdiff L n. Thus both thequarter-note chord-change possibility CQ n and the eighth-note chord-change possibility CE n are given
by Eq. (12).

M. Goto, Y. Muraoka / Speech Communication 27 (1999) 311±335

Pdiff L n 

Xclip Ptran L n; f  ÿ Ptran L n ÿ 1; f ;

319

10

f

Mdiff L n  max Pdiff L n; AttnRatioMdiff L n ÿ 1;CL n Pdiff L n:
Mdiff L n

11
12

Fig. 4 shows examples of two kinds of chord-change possibilities obtained by the above method. The
thin vertical lines in (a) represent the quarter-note times TQ n and those in (b) represent the eighth-notetimes TE n. The beginning of measure occurs at every four quarter-note times from the extreme left in (a),and the beat occurs at every two eighth-note times from the extreme left in (b). In both (a) and (b), thehorizontal lines above represent the peaks Ptran L n; f  in each strip and the thick vertical lines below show
the chord-change possibility CL n.
3.2. Musical decisions
Utilizing the two kinds of chord-change possibilities, the system tracks the higher-level beat structure(i.e., determines the half-note times and the measure times) and selects the best of various agent-generated

Fig. 4. Examples of peaks in sliced frequency spectrum and of chord-change possibilities. (a) Examining quarter-note chord-change
possibility; (b) examining eighth-note chord-change possibility.

320

M. Goto, Y. Muraoka / Speech Communication 27 (1999) 311±335

hypotheses about beat positions. For these purposes, we introduce the following two kinds of heuristic
musical knowledge.
(1) Quarter-note-level knowledge. Chords are more likely to change at the beginnings of measures than atother positions. In other words, the quarter-note chord-change possibility tends to be higher on a strong
beat than on a weak beat and higher on the strong beat at the beginning of a measure than on the otherstrong beat in the measure.
(2) Eighth-note-level knowledge. Chords are more likely to change on beats (quarter notes) than between
adjacent beats. In other words, the eighth-note chord-change possibility tends to be higher on beats than oneighth-note displacement positions.
The system utilizes the quarter-note-level knowledge to detect the higher-level beat structure. It ®rst
calculates tendH n, which represents a past tendency of every other quarter-note chord-change possibility, and tendM n, which represents a past tendency of every four quarter-note chord-change possibility:
tendH n  PastWeight tendH n ÿ 2  NowWeight CQ n;

13

tendM n  PastWeight tendM n ÿ 4  NowWeight CQ n;

14

where PastWeight is a weight factor determining how much the past values (of CQ n) are taken into
consideration and NowWeight is a weight factor determining how much the current value (of CQ n) is
taken into consideration. Those constant values were empirically set at PastWeight  0:99 and
NowWeight  0:2. The value of tendH n thus becomes higher when CQ n tends to be higher on a strong
beat, which occurs on every other quarter note, and the value of tendM n becomes higher when CQ n tends
to be higher on the beginning of a measure, which occurs on every fourth quarter note.
If tendH n ÿ tendH n ÿ 1 > TendThresH , the system judges that the position of a half-note time is
TQ n, where TendThresH (  0.3) is a constant threshold for this judgement. If TQ n is a half-note time
and tendM n ÿ tendM n ÿ 2 > TendThresM , the system judges that the position of a measure time is
TQ n, where TendThresM (  0.2) is a constant threshold. The reliabilities of these judgements are de®ned
asrjudge H n  clip jtendH n ÿ tendH n ÿ 1j;

15

rjudge M n  clip jtendM n ÿ tendM n ÿ 2j:

16

Using the previous positions of a half-note time and a measure time, the system determines the following
beat types (half-note-level type and measure-level type) under the assumptions that strong and weak alternate on beat times and that beginning and middle alternate on half-note times.
To select the best hypothesis, the system utilizes the eighth-note-level knowledge. As described in Section 4.2, the ®nal output is determined on the basis of the appropriate hypothesis that has the highest
reliability. To evaluate the reliability of a hypothesis, the system calculates rjudgeQ n, which is the reliabilityof the judgement that TQ n (  TE 2n) is the position of a beat:rjudge Q n  PastWeight rjudge Q n ÿ 1  NowWeight CE 2n ÿ CE 2n  1:17

If rjudge Q n becomes high enough (i.e., the eighth-note chord-change possibility tends to be higher on beats
than on other positions), the reliability value is increased so that the system can select the hypothesis underwhich the appropriate CE n is obtained. The reliability is also evaluated from dierent viewpoints as
described in Section 4.2.

M. Goto, Y. Muraoka / Speech Communication 27 (1999) 311±335

321

Fig. 5. Overview of our beat-tracking system.

4. System description
This section brie¯y describes our beat-tracking system for musical audio signals without drum-sounds. 5
It provides, as real-time output, a description called beat information (BI) that consists of the beat time, itsbeat types, and the current tempo. Fig. 5 shows an overview of the system. The system ®rst digitizes aninput audio signal in the A/D conversion stage. Then in the frequency analysis stage, multiple onset-time®nders detect onset times in dierent ranges of the frequency spectrum, and those results are transformed
into vectorial representation (called onset-time vectors) by onset-time vectorizers. In the beat prediction
stage, the system manages multiple agents that, according to dierent strategies, make parallel hypotheses
based on those onset-time vectors. Each agent ®rst calculates the inter-beat interval and predicts the nextbeat time. By communicating with a chord change checker, it then determines the beat types and evaluates
the reliability of its own hypothesis. A hypotheses manager gathers all hypotheses and then determines the®nal output on the basis of the most reliable one. Finally, in the BI Transmission stage, the system transmits
BI to application programs via a computer network.
4.1. Frequency analysis
In the frequency analysis stage, the frequency spectrum and several sequences of N-dimensional onsettime vectors are obtained for later processing (Fig. 6). The full frequency band is split into several

5
For detailed descriptions of our beat-tracking system for audio signals that include drum-sounds, see (Goto and Muraoka,
1995a,b).

322

M. Goto, Y. Muraoka / Speech Communication 27 (1999) 311±335

Fig. 6. Examples of a frequency spectrum and of an onset-time vector sequence.

frequency ranges, and each dimension of the onset-time vectors corresponds to a dierent frequency
range. This representation makes it possible to consider onset times of all the frequency ranges at thesame time.
4.1.1. Fast Fourier transform (FFT)The frequency spectrum is calculated with the FFT using the Hanning window. Each time the FFT isapplied to the input signal, the window is shifted to the next frame.
In our current implementation, the input signal is digitized at 16 bit/22.05 kHz, and two kinds of FFT
are calculated. One FFT, for extracting onset components in the Frequency analysis stage, is calculatedwith a window size of 1024 samples, and the window is shifted by 256 samples. The frequency resolution isconsequently 21.53 Hz and the discrete time step (1 frame-time 6) is 11.61 ms. The other FFT, for examining
chord changes in the Beat prediction stage, is simultaneously calculated in audio down-sampled at 16 bit/

6

The frame-time is the unit of time used in our system, and the term time in this paper is the time measured in units of the frame-time.

M. Goto, Y. Muraoka / Speech Communication 27 (1999) 311±335

323

11.025 kHz with a window size of 1024 samples, and the window is shifted by 128 samples. The frequency
resolution and the time step are consequently 10.77 Hz and 1 frame-time.
4.1.2. Extracting onset components
The frequency component p t; f  that meets the following Condition (18) is extracted as an onset
component.
min p t; f ; p t  1; f  > pp;18

pp  max p t ÿ 1; f ; p t ÿ 1; f  1:19The degree of onset d t; f  (rapidity of increase in power) is given bymax p t; f ; p t  1; f  ÿ pp if Condition 18 is fulfilled;
d t; f  0otherwise:20

4.1.3. Onset-time ®nders
Multiple onset-time ®nders (seven in our current implementation) detect onset times in several frequency
ranges (0±125 Hz, 125±250 Hz, 250±500 Hz, 500 Hz±1 kHz, 1±2 kHz, 2±4 kHz, and 4±11 kHz). Each onset
time is P
given by the peak time found by peak-picking in the sum D t along the time axis, wherewith a convolution kernel before its peak time isD t  f d t; f . The sum D t is linearly smoothedP
calculated. Limiting the frequency range of f makes it possible to ®nd onset times in the dierent frequency ranges.
4.1.4. Onset-time vectorizers
Each onset-time vectorizer transforms the results of all onset-time ®nders into a sequence of onset-time
vectors: the same onset times in all the frequency ranges are put together into one vector. In the current
system, three vectorizers transform onset times from seven ®nders into three sequences of seven-dimensional onset-time vectors with the dierent sets of frequency weights (focusing on all, low, and middle
frequency ranges) (Goto and Muraoka, 1996). These results are sent to agents of the beat prediction stage.
4.2. Beat prediction
Multiple agents interpret the sequences of onset-time vectors according to dierent strategies andmaintain their own hypotheses (Goto and Muraoka, 1994, 1995a, 1996). Each hypothesis consists of apredicted next-beat time, its beat types (half-note-level type and measure-level type), and the current interbeat interval (Fig. 7). These hypotheses are gathered by the manager and the most reliable one is considered
the system output.
All agents are grouped into pairs. 7 The two agents in a pair examine the same inter-beat interval andcooperatively predict the time of the next beat; their two predictions will always dier by half the inter-beatinterval. For this purpose, one agent interacts with the other through a prediction ®eld, which is an expectancy curve 8 that represents the time that the next beat is expected to occur (Fig. 8). The height of each
local peak in the prediction ®eld can be interpreted as the probability that the next beat is at that position.
The two agents interact with each other by inhibiting each other's prediction ®eld: the beat time of the7

In our current implementation there are twelve agents grouped into six pairs.
Other systems (Desain, 1992; Desain and Honing, 1994; Vercoe, 1994) have used a similar expectancy-curve concept for predicting
future events but not for managing interactions between agents.
8324

M. Goto, Y. Muraoka / Speech Communication 27 (1999) 311±335

Fig. 7. Relations between onset-time vectorizers, agents, and chord change checkers.

Fig. 8. Agent interaction through a prediction ®eld.

hypothesis of each agent reduces the probability of a beat in the temporally corresponding neighborhood in
the other's ®eld.
For each agent, the following four parameters determine its strategy for making the hypothesis (Fig. 7).
Initial settings of the parameters are listed in Table 2.

Table 2
Initial settings of the strategy parameters
Pair-agent

Frequency focus type

Auto-correlation period (f.t.)

Inter-beat interval range (f.t.)

Initial peak selection

1±1
1±2
2±1
2±2
3±1
3±2
4±1
4±2
5±1
5±2
6±1
6±2

Type-all
Type-all
Type-all
Type-all
Type-low
Type-low
Type-low
Type-low
Type-mid
Type-mid
Type-mid
Type-mid

500
500
1000
1000
500
500
1000
1000
500
500
1000
1000

43±85
43±85
43±85
43±85
43±85
43±85
43±85
43±85
43±85
43±85
43±85
43±85

Primary
SecondaryPrimary
SecondaryPrimary
SecondaryPrimary
SecondaryPrimary
SecondaryPrimary
Secondary`f.t.' is the abbreviation of frame-time (11.61 ms).

M. Goto, Y. Muraoka / Speech Communication 27 (1999) 311±335

325

Fig. 9. Predicting the next beat.

(1) Frequency focus type. This parameter determines which vectorizer an agent receives onset-time
vectors from. Its value is chosen from among type-all, type-low and type-mid, respectively corresponding tovectorizers focusing on all frequency ranges, low frequency ranges and middle frequency ranges.
(2) Autocorrelation period. This parameter determines the window size for calculating the vectorial autocorrelation (described later) of the onset-time vector sequence. The greater its value, the older the onsettime information considered.
(3) Inter-beat interval range. This parameter controls the range of possible inter-beat intervals. As described later, it limits the range in the result of the vectorial autocorrelation, within which a peak is selected.
(4) Initial peak selection. This parameter takes a value of either primary or secondary. When the value isprimary, the largest peak in the prediction ®eld is initially selected and considered the next beat time; whenthe value is secondary, the second-largest peak is initially selected. This selection helps generate a variety of
hypotheses.
4.2.1. Beat-predicting agents
Each agent makes a hypothesis as follows and sends it to both the one-to-one corresponding chordchange checker and the manager.
(1) Determining the inter-beat interval. To determine the inter-beat interval, each agent receives the sequence of onset-time vectors and calculates its vectorial autocorrelation. 9 The windowed and normalized
vectorial autocorrelation function Ac s is de®ned asPco t  ~o t ÿ stcÿAcPeriod win c ÿ t; AcPeriod ~;21
Ac s  Pco t  ~o ttcÿAcPeriod win c ÿ t; AcPeriod ~where ~o t is the N-dimensional onset-time vector at time t, c is the current time and AcPeriod is thestrategy parameter autocorrelation period (Goto and Muraoka, 1996). The window function win t; s whose
window size s is given by
1:0 ÿ 0:5t=s 0 6 t 6 s;
win t; s 220otherwise:
The inter-beat interval is given by s with the maximum height in Ac s within the range limited by theparameter inter-beat interval range. If the reliability of a hypothesis becomes high enough, its agent tunes
this parameter to narrow the range of possible inter-beat intervals so that it examines only a neighborhoodof the current appropriate one. This is eective in stabilizing the beat-tracking output because the autocorrelation result tends to contain several unnecessary and confusing peaks around the correct peak pursued by an agent whose hypothesis has a high reliability.
(2) Predicting the next beat time. To predict the next beat time, each agent forms a prediction ®eld(Fig. 9). The prediction ®eld is the result of calculating the windowed cross-correlation function Cc s

9Vercoe (1994) also proposed the use of a variant of autocorrelation for rhythmic analysis.

326

M. Goto, Y. Muraoka / Speech Communication 27 (1999) 311±335

between the sum O t of all dimensions of ~o t and the provisional beat-time sequence Ttmp t; m whose
interval is the inter-beat interval obtained using Eq. (21):!
c
CcNumBeatsXX
win c ÿ t; CcPeriod O t
d t ÿ Ttmp c  s; m ;23
Cc s tcÿCcPeriodTtmp t; m d x 

10t ÿ I tTtmp t; m ÿ 1 ÿ I Ttmp t; m ÿ 1

x  0;x 6 0;m1

m  1;m > 1;24
25

where I t is the inter-beat interval at time t, CcPeriod (  CcNumBeats I c) is the window size for calculating the cross-correlation, and CcNumBeats (  12) is a constant factor that determines how many
previous beats are considered in calculating the cross-correlation. The prediction ®eld is thus given by Cc swhere 0 6 s 6 I c ÿ 1.
Each agent then selects the next beat time from local peaks in the prediction ®eld after the ®eld is inhibited by its paired agent. When the reliability of a hypothesis is low, the agent initially selects the peak in
the prediction ®eld according to the parameter initial peak selection and then tries to pursue the peak close
to the sum of the previously selected one and the inter-beat interval.
(3) Judging the beat types. Each agent determines the beat types of the predicted beat time according to
the half-note time and the measure time. As described in Section 3.2, these times are obtained from thequarter-note chord-change possibility received from the corresponding chord-change checker.
(4) Evaluating the reliability of its own hypothesis. Each agent ®nally evaluates the reliability of its hypothesis in the following three steps. First, the reliability is evaluated according to how the next beat time
predicted on the basis of the onset times coincides with the time extrapolated from the past beat times(Fig. 9). If they coincide, the reliability is increased; otherwise, the reliability is decreased. Second, thereliability is evaluated according to how appropriate the eighth-note chord-change possibility is. If
rjudge Q n (de®ned in Section 3.2) is high enough, the reliability is increased; otherwise, the reliability isdecreased. Third, the reliability is evaluated according to how appropriate the quarter-note chord-change
possibility is. If rjudge H n is high enough, the reliability is increased a little.
4.2.2. Chord change checkers
Each chord-change checker examines the two kinds of chord-change possibilities as described in Section
3.1. It analyzes the frequency spectrum on the basis of beat times (top-down information) received from the
one-to-one corresponding agent, and it sends the possibilities back to the agent (Fig. 7).
4.2.3. Hypotheses manager
The manager classi®es all agent-generated hypotheses into groups according to beat time and inter-beatinterval. Each group has an overall reliability given by the sum of the reliabilities of the group's hypotheses.
The manager then selects the dominant group that has the highest reliability. Since an incorrect group could
be selected if temporarily unstable beat times split the appropriate dominant group, the manager repeats
grouping and selecting three times while narrowing the margin of beat times allowable for being classi®edinto the same group. The reliable hypothesis in the most dominant group is thus selected as the output andsent to the BI Transmission stage.
The manager updates the beat types in the output using only the beat types that were labeled when
rjudge H n and rjudge M n were high compared with the recent maximum, since the beat types labeled by eachagent might be incorrect because of a local irregularity of chord changes or a detection error.

M. Goto, Y. Muraoka / Speech Communication 27 (1999) 311±335

327

Table 3Results of testing chord change detection
CQ n
mean
SD
max.
min.

CE n

CH

NC

on TQ n (CH, NC)o TQ n

0.73
0.22
1.00
0.28

0.01
0.02
0.10
0.00

0.56 (0.81, 0.30)
0.29 (0.18, 0.08)
1.00 (1.00, 0.48)
0.12 (0.37, 0.12)

0.03
0.05
0.21
0.00

CH: chord change. NC: no chord change.

5. Experiments and results
In the following, we ®rst describe an experimental result of testing the proposed method of detecting
chord changes (Section 5.1) and then show the overall beat detection rates of the system implemented on aparallel computer, the Fujitsu AP1000 10 (Section 5.2). We then report the result of our attempt to evaluate
the diculty of tracking beats in an input audio signal (Section 5.3) and describe an experimental result of
evaluating the contribution of the proposed method of making musical decisions based on chord changes(Section 5.4). Finally, we summarize those results and introduce a beat-tracking application (Section 5.5).
5.1. Testing chord change detection
We tested the basic performance of the method of chord-change detection proposed in Section 3.1 byusing a random chord progression. This chord progression consisted of one hundred chord transitions of
101 chords that were randomly selected from sixty kinds of chords: the twelve kinds of root (A, A], B, C,
C], D, D], E, F, F], G, G]) with the ®ve chord types (major triad, minor triad (m), dominant 7th chord (7),minor 7th chord (m7), major 7th chord (M7)). These chords were so selected that the adjacent chords weredierent. Using a synthesizer's piano tone, we played them in the basic root position (close position
voicing). The fundamental frequency of the chord root note was between 110 Hz and 208 Hz. To examine
the case in which the chord did not change, we played each chord twice with the duration of a quarter note(600 ms) under the tempo 100 MM.
The mean, standard deviation (SD), maximum, and minimum of the quarter-note chord-change possibility CQ n and the eighth-note chord-change possibility CE n obtained when the appropriate beat times
were provided for slicing the frequency spectrum are listed in Table 3. The `CH' and `NC' of the CQ n inTable 3 are respectively the CQ n when a chord was changed at TQ n and the CQ n when a chord was notchanged at TQ n. The values listed in these columns indicate that the CQ n at chord changes (CH) wereappropriately high.
On the other hand, the `on TQ n' and `o TQ n' of the CE n respectively mean the CE n on beats(n mod 2  0) and the CE n on eighth-note displacement positions (n mod 2  1). In the case of the `on
TQ n', because the chord-change case (CH) alternated with the no-chord-change case (NC), these cases
were also analyzed separately. The values listed in these columns indicate that chord changes were appropriately detected using CE n. The CE n of NC of `on TQ n' tended to be higher than the CE n of `o
TQ n' because the chord notes were always played at a beat time, whereas all frequency components
present on an eighth-note displacement position persisted from the previous beat time.
10
The AP1000 (Ishihata et al., 1991) consists of 64 processing elements and its performance is at most 960 MIPS and 356 MFLOPS.
Although the AP1000 had relatively huge computing power when we started our research ®ve years ago, those values of the AP1000's
performance imply that our system might now be implemented on an up-to-date personal computer.

328

M. Goto, Y. Muraoka / Speech Communication 27 (1999) 311±335

5.2. Overall result
We ®rst introduce the method we used for evaluating our system and then report beat detection rates ofsongs, how quickly the system started to track the correct beats, and how accurately the system obtained
the beat, half-note, and measure times.
5.2.1. Evaluation method
We designed a measure for analyzing the beat-tracking accuracies at the quarter-note, half-note, andmeasure levels. The basic concept of this measure is to compare the beat times of the system output (theexamined times) 11 with the hand-labeled beat times (the correct times). In other words, we consideredsubjective hand-labeled beat positions to be the correct beat times. Since the beat is a perceptual conceptthat a person feels in music, it is generally dicult to de®ne the correct beat in an objective way.
To label the correct beat positions, we developed a beat-position editor program that enables a user tomark the beat positions in a digitized audio signal while listening to the audio and watching its waveform.
The positions can be ®nely adjusted by playing back the audio with click tones at beat times, and the user
also de®nes a hierarchical beat structure ± the quarter-note, half-note, and measure levels ± corresponding
to the audio signal. This enables the correct beat times to be more accurate than the results of humantapping containing relatively large timing deviations.
The beat-tracking accuracies are each represented as a measurement set {Q, H, M}f; l; r; M, where
Q[ ], H[ ], and M[ ] respectively represent the measures at the quarter-note, half-note, and measure levels.
The term f  ANs s, ANe s] is the correctly tracked period (the period between ANs and ANe in which the beatis tracked correctly). In particular, ANs ; ÿ means that the beat-tracking system keeps on tracking thecorrect beat if once it starts to track the correct one at ANs . The terms l, r and M are respectively the mean,
standard deviation, and maximum of the normalized dierence (deviation error) between the correct time
and the examined time. If the normalized dierence is 1, it indicates that the dierence is half the correctinter-beat interval. 12
5.2.2. Beat detection rates
We tested the system on 40 songs, each at least one minute long, performed by 28 artists (Table 4). The
input monaural audio signals were sampled from commercial compact discs of popular music and contained the sounds of various instruments (but not drums). The time-signature was 4/4 and the tempi ranged
from 62±116 MM and were roughly constant.
We judged that a song was tracked correctly at a certain rhythmic level if the corresponding measurement set of the song ful®lled fQ, H, Mg[[ANs < 45:0 s, ANe  ÿ], l < 0:2, r < 0:2, M < 0:35]. In our experiment the system correctly tracked beats at the quarter-note level in 35 of the 40 songs (87.5%) 13 andcorrectly tracked the half-note level in 34 of the 35 songs in which the correct beat times were obtained(97.1%) Moreover, it correctly tracked the measure level in 32 of the 34 songs in which the correct half-notetimes were obtained (94.1%) (Table 4).
The beat times were not obtained correctly in ®ve songs because onset times were very few and irregularor the tempo ¯uctuated temporarily. Consequently, the chord-change possibilities in those songs could not
be obtained appropriately because those possibilities depend on the beat times. The main reason that thehalf-note-level or measure-level type was incorrect in the other mistaken songs was inconsistency of chord

11

In evaluating the quarter-note, half-note and measure levels, we respectively use the beat, half-note and measure times.
The detailed de®nition of this measure is described by Goto and Muraoka (1997).
13
In evaluating the tracking accuracy of our system, we did not count unstably tracked songs (those for which correct beats wereobtained just temporarily).
12M. Goto, Y. Muraoka / Speech Communication 27 (1999) 311±335

329

Table 4
Song list
Title (Artist)

Result a

Tempo (M.M.)

Ame (Chisato Moritaka)
Konoyoruni (Yumi Tanimura)
Suki (DREAMS COME TRUE)
Anatawo Mitsumete (K.ODA)
For You (Katsumi)
Futari (Maki Ohguro)
Mayonaka no Love Song (T-BOLAN)
Kimini Aete (Tetsuya Komuro)
Futarino Natsu (ZARD)Blue Star (Mayo Okamoto)
Listen to me (ZARD)
Harunohi (Miki Imai)No More Rhyme [Acoustic Mix] (Debbie Gibson)
My Heart Ballad (Yoko Minamino)
Love is... (B'z)
Fubukino Nakawo (Yumi Matsutoya)
Roots of The Tree (Naoto Kine)
Itukano Merry Christmas [Reprise] (B'z)
Now and Forever (Richard Marx)
Dandelion ± Osozakino Tanpopo (Yumi Matsutoya)
Afureru Omoino Subetewo... (Miho Morikawa)You're My Life (Komi Hirose)
Alone (Heart)
Ruriirono Chikyuu (Seiko Matsuda)
Love ± Nemurezuni Kiminoyokogao Zuttomiteita ± (ZARD)
Right Here Waiting (Richard Marx)
Seasons (B'z)
Strangers Of The Heart (Heart)
Mitsumeteitaine (ZARD)
Mia Maria (ORIGINAL LOVE)
Anatani Aiwo (Yumi Tanimura)
I Wish (Misato Watanabe)
I Won't Hold You Back (TOTO)
amour au chocolat (Miki Imai)
Lazy Afternoon (STARDUST REVUE)
Whispers (Fairground Attraction)
Nijiwo Watarou (Hitomi Yuki)
Too far gone (Incognito)
Resistance (Tetsuya Komuro)
Do You Want To Know A Secret (Fairground Attraction)

ooo
ooo
ooo

ooo
ooo
ooo
ooo
ooo
ooo
ooo

ooo
ooo
ooo
ooo
ooo
ooo
ooo
ooo
ooo
ooo
oo

ooo

ooo
ooo
ooo
ooo
ooo
ooo
ooo
ooo
ooo
oo
ooo

ooo
o 

62
64
65
65
68
68
68
70
72
72
73
74
74
75
75
76
76
78
78
78
81
82
88
88
89
89
90
91
92
95
100
100
102
106
108
111
112
112
115
116

a

o o o: Song that was tracked correctly; o o : Song that was not tracked at the measure level; o  : Song that was not tracked at thehalf-note level;   : Song that was not tracked at the quarter-note level.

changes with the heuristic musical knowledge; there were songs where chords changed at every quarter-noteor every other quarter-note.
We then compared the performance of this system with that of our previous system (Goto and Muraoka,
1995b) for music with drum-sounds. The previous system was also tested on the same 40 songs, and theresults of this comparison are listed in Table 5, which shows that the beat detection rates were remarkably
improved by our system extension.

330

M. Goto, Y. Muraoka / Speech Communication 27 (1999) 311±335

Table 5
Performance improvement compared to our previous system
Beat structure

Proposed system

Previous system (Goto and Muraoka, 1995b)

Measure level

32/34 songs(94.1%)
34/35 songs(97.1%)
35/40 songs(87.5%)

0/2 songs(0.0%)
2/9 songs(22.2%)
9/40 songs(22.5%)

Half-note level
Quarter-note level

Fig. 10. Start time (ANs ) of tracking the correct beats at the quarter-note, half-note and measure levels.

5.2.3. Tracking quickness
We evaluated how quickly the system started to track the correct beats stably at each rhythmic level byusing the ANs of each measurement set. Fig. 10 shows the ANs of the songs correctly tracked at the quarternote, half-note, and measure levels. The horizontal axis represents the song numbers (#) arranged in orderof ANs of the quarter-note level up to song #32. The mean, minimum, and maximum of the ANs of all thecorrectly tracked songs are listed in Table 6. In each song where the beat structure was eventually determined correctly, the system initially had trouble determining a higher rhythmic level even though a lower
level was correct.
5.2.4. Tracking accuracy
We evaluated how accurate the examined times (the system output) were by using the l, r, and M ofeach measurement set. Fig. 11 shows the l and M of the correctly-tracked songs at the three rhythmic
Table 6
Start time (ANs ) of tracking the correct beats at the quarter-note, half-note and measure levels
Rhythmic level

mean

min

max

Quarter-note level
Half-note level
Measure level

10.71 s14.70 s20.70 s0.79 s3.42 s3.42 s

35.77 s42.56 s42.56 s

M. Goto, Y. Muraoka / Speech Communication 27 (1999) 311±335

331

Fig. 11. Mean (l) and maximum (M) of the deviation error at the quarter-note, half-note, and measure levels. (a) Quarter-note level(Song # 1-35), (b) half-note level (Song # 1-34), (c) measure level (Song # 1-32).

levels. The horizontal axis represents the song numbers rearranged in order of l of the quarter-note level up
to song #32. The mean, minimum, and maximum of l and M of all the correctly-tracked songs are listed inTables 7 and 8. The deviation error was at most 0.339 and those mean values were relatively small on the
average.

Table 7
Mean, minimum and maximum of l at the quarter-note, half-note and measure levels
Rhythmic level

mean

min

max

Quarter-note level
Half-note level
Measure level

0.062
0.031
0.015

0.019
0.009
0.005

0.130
0.069
0.036

332

M. Goto, Y. Muraoka / Speech Communication 27 (1999) 311±335

Table 8
Mean, minimum and maximum of M at the quarter-note, half-note and measure levels
Rhythmic level

mean

min

max

Quarter-note level
Half-note level
Measure level

0.223
0.101
0.045

0.053
0.026
0.013

0.339
0.174
0.077

5.3. Measuring rhythmic diculty
It is important but very dicult to measure the rhythmic diculty of a real-world song from theviewpoint of the input of beat tracking, because the diculty can be in¯uenced from various aspects ofsongs. We tried, as a ®rst step, to evaluate the power transition of the input audio signals. In terms of thepower transition of the audio signals, it is more dicult to track beats of a song in which the power tends tobe lower on beats than between adjacent beats. In other words, the larger the number of syncopations, thegreater the diculty of tracking beats.
We therefore consider dierences between the power on beats and the power on other positions as ameasure of the rhythmic diculty. This measure, called the power-dierence measure, is calculated as follows:(1) Finding the local maximum of the power. Let powerinput t be the power of the input audio signal attime t. 14 We ®rst calculate two kinds of local maximum of the power, powbeat n representing the maximum
power on the nth beat and powother n representing the maximum power on positions between the nth beatand n  1th beat:powbeat n Tans nIans n=4ÿPwMargin

powother n maxt  Tans nÿPwMargin

powerinput t;Tans n1ÿPwMarginmaxt  Tans nIans n=4ÿPwMargin

powerinput t;

26
27

where Tans n is the nth correct beat time of the quarter-note level and Ians n is the nth inter-beat interval(Fig. 12). PwMargin is a margin to obtain appropriate maximum values because the power of sounds
played on the beat sometimes increases just before its beat time. In our current implementation, PwMargin
is equal to 2 (23.22 ms).
(2) Calculating the normalized power dierence of each beat. The normalized power dierence diff pow nbetween powother n and powbeat n is then calculated:diff pow n  0:5

powother n ÿ powbeat n 0:5:
max powother n; powbeat n

28(3) Calculating the mean of the normalized power dierences in a song. We ®nally calculate the powerdierence measure AveDiff pow , which is the mean of all the diff pow n in the song:
AveDiff pow 

14

N ÿ1
1 X
diff pow n;N ÿ 1 n1

The time resolution of this measurement in our current implementation is 11.61 ms (  256/22050 Hz).

29

M. Goto, Y. Muraoka / Speech Communication 27 (1999) 311±335

333

Fig. 12. Finding the local maximum of the power.

where N is the number of the correct beat times. The AveDiff pow takes a value between 0 (easiest) and 1(most dicult). For a regular pulse sequence with a constant interval, for example, this measure takes avalue of 0. Practically speaking, the AveDiff pow of a song cannot be 1.
Using this power-dierence measure, we evaluated the rhythmic diculty of the 40 songs that we utilized
for testing the beat-tracking system. Fig. 13 shows the histogram of AveDiff pow for all the songs. Although
this measure is not perfect for evaluating the rhythmic diculty, it represents a meaningful step on the roadto measuring the beat-tracking diculty in an objective way.
5.4. Evaluating the eectiveness of musical decisions
We tested the eectiveness of the musical decisions proposed in Section 3.2 in order to con®rm that thosedecisions based on chord-change possibilities contributed to the performance improvement in determining
each level of the hierarchical beat structure. In this experiment, we disabled the system function of making
musical decisions based on chord changes by setting 0 to the corresponding chord-change possibility (CQ n
and/or CE n). The disabled system was tested on the same 40 songs utilized in the evaluation described in
Section 5.2.
The results are listed in Table 9. In this time, in order to facilitate the performance comparison within
the table, the percentages in parentheses indicate the ratio of the number of the correctly tracked songs to
40 (the number of all the songs). This result shows that musical decision based on eighth-note-levelknowledge contributed the quarter-note-level performance and that musical decision based on quarternote-level knowledge contributed the half-note-level and measure-level performances. This also shows thatboth of the chord-change possibilities are necessary for determining the hierarchical beat structure.

Fig. 13. Histogram of the power-dierence measures for all the songs.

334

M. Goto, Y. Muraoka / Speech Communication 27 (1999) 311±335

Table 9Results of evaluating musical decision eectiveness
Quarter-note chord-change possibility
Eighth-note chord-change possibility
Measure level
Half-note level
Quarter-note level

Condition (Enable: o, Disable: ´)



o

o


o
o

0 songs(0.0%)
0 songs(0.0%)
14 songs(35.0%)

18 songs(45.0%)
20 songs(50.0%)
20 songs(50.0%)

32 songs(80.0%)
34 songs(85.0%)
35 songs(87.5%)

0 songs(0.0%)
0 songs(0.0%)
29 songs(72.5%)

5.5. Summary and beat-tracking application
The above-mentioned results show that the beat detection rates obtained in our evaluation with realworld audio signals were more than 87.5 percent and that the method of detecting chord changes andbasing musical decisions on chord changes were eective enough to contribute to determining the hierarchical beat structure comprising the three rhythmic levels.
We have also developed an application that displays real-time computer graphics dancers whose motions
change in time to musical beats (Fig. 14). This application has shown that our system is useful in multimedia applications in which human-like hearing ability is desirable.
6. Conclusion
We have described the main beat-tracking problem in dealing with drumless audio signals, a solution tothat problem, and the con®guration and implementation of a real-time beat-tracking system. The experimental results with the proposed tracking-accuracy measurement set show that the system detected, inaudio signals sampled from compact discs of popular music, the hierarchical beat structure comprising thequarter-note, half-note, and measure levels at the accuracy more than 87.5%.
We proposed a method for detecting chord changes by analyzing the frequency spectrum sliced atprovisional beat times (top-down information). We think that such an approach, without chord nameidenti®cation, is meaningful because a person generally does not perceive music as musical symbols. This

Fig. 14. Virtual dancers synchronized with musical beats.

M. Goto, Y. Muraoka / Speech Communication 27 (1999) 311±335335

method enabled our system to determine the beat types in audio signals without drum-sounds and to selectthe appropriate hypothesis from multiple agent-generated hypotheses.
We plan to upgrade the system by generalizing it to other musical genres and enabling it to follow tempochanges. Future work will include a study of making use of other higher-level musical structure and will
include the application to various multimedia systems for which beat tracking is useful, such as systems forvideo/audio editing, controlling stage lighting, and synchronizing various computer graphics with music.
References
Allen, P.E., Dannenberg, R.B., 1990. Tracking musical beats in real time. In: Proceedings of the 1990 International Computer Music
Conference. pp. 140±143.
Dannenberg, R.B., Mont-Reynaud, B., 1987. Following an improvisation in real time. In: Proceedings of the 1987 International
Computer Music Conference. pp. 241±248.
Desain, P., 1992. Can computer music bene®t from cognitive models of rhythm perception?. In: Proceedings of the 1992 International
Computer Music Conference. pp. 42±45.
Desain, P., Honing, H., 1989. The quantization of musical time: A connectionist approach. Computer Music J. 13 (3), 56±66.
Desain, P., Honing, H., 1994. Advanced issues in beat induction modeling: syncopation, tempo and timing. In: Proceedings of the 1994
International Computer Music Conference. pp. 92±94.
Desain, P., Honing, H., 1995. Computational models of beat induction: the rule-based approach. Working Notes of the IJCAI-95
Workshop on Arti®cial Intelligence and Music. pp. 1±10.
Driesse, A., 1991. Real-time tempo tracking using rules to analyze rhythmic qualities. In: Proceedings of the 1991 International
Computer Music Conference. pp. 578±581.
Goto, M., Muraoka, Y., 1994. A beat tracking system for acoustic signals of music. In: Proceedings of the Second ACM International
Conference on Multimedia. pp. 365±372.
Goto, M., Muraoka, Y., 1995a. Music understanding at the beat level ± real-time beat tracking for audio signals ± . Working Notes of
the IJCAI-95 Workshop on Computational Auditory Scene Analysis. pp. 68±75.
Goto, M., Muraoka, Y., 1995b. A real-time beat tracking system for audio signals. In: Proceedings of the 1995 International Computer
Music Conference. pp. 171±174.
Goto, M., Muraoka, Y., 1996. Beat tracking based on multiple-agent architecture ± a real-time beat tracking system for audio signals.
In: Proceedings of the Second International Conference on Multiagent Systems. pp. 103±110.
Goto, M., Muraoka, Y., 1997. Issues in evaluating beat tracking systems. Working Notes of the IJCAI-97 Workshop on Issues in AI
and Music. pp. 9±16.
Ishihata, H., et al., 1991. An architecture of highly parallel computer AP1000. In: IEEE Paci®c Rim Conference on Communications,
Computers, Signal Processing. pp. 13±16.
Katayose, H., et al., 1989. An approach to an arti®cial music expert. In: Proceedings of the 1989 International Computer Music
Conference. pp. 139±146.
Large, E.W., 1995. Beat tracking with a nonlinear oscillator. Working Notes of the IJCAI-95 Workshop on Arti®cial Intelligence andMusic. pp. 24±31.
Lee, C., 1985. The rhythmic interpretation of simple musical sequences: Towards a perceptual model. In: P. Howell, I. Cross, R. West
(Eds.), Musical Structure and Cognition. Academic Press, New York, pp. 53±69.
Rosenthal, D., 1992a. Emulation of human rhythm perception. Computer Music J. 16 (1), 64±76.
Rosenthal, D., 1992b. Machine rhythm: Computer emulation of human rhythm perception. Massachusetts Institute of Technology,
MA, Ph.D. thesis.
Rowe, R., 1993. Interactive Music Systems. The MIT Press, Cambridge, MA.
Scheirer, E.D., 1996. Using bandpass and comb ®lters to beat-track digital audio. Unpublished.
Schloss, W.A., 1985. On the automatic transcription of percussive music ± From acoustic signal to high-level analysis. CCRMA,
Stanford University, Ph.D. thesis.
Smith, L.M., 1996. Modelling rhythm perception by continuous time-frequency analysis. In: Proceedings of the 1996 International
Computer Music Conference. pp. 392±395.
Todd, N.P.M., 1994. The auditory `primal sketch': A multiscale model of rhythmic grouping. J. New Music Res. 23 (1), 25±70.
Todd, N.P.M., 1995. The kinematics of musical expression. J. Acoust. Soc. Amer. 97 (3), 1940±1949.
Todd, N.P.M., Brown, G.J., 1996. Visualization of rhythm, time and metre. Arti®cial Intelligence Review 10, 253±273.
Vercoe, B., 1994. Perceptually-based music pattern recognition and response. In: Proceedings of the Third International Conference
for the Perception and Cognition of Music. pp. 59±60.