Drum Sound Identification for Polyphonic Music
Using Template Adaptation and Matching Methods
Kazuyoshi Yoshii,† Masataka Goto‡ and Hiroshi G. Okuno††

Department of Intelligence Science and Technology
Graduate School of Informatics, Kyoto University, Japan
yoshii@kuis.kyoto-u.ac.jp‡

National Institute of Advanced Industrial
Science and Technology (AIST), Japanm.goto@aist.go.jp

Abstract
This paper describes drum sound identification for polyphonic musical audio signals. It is difficult to identify drumsounds in such signals because acoustic features of thosesounds vary with each musical piece and precise templates
for them cannot be prepared in advance. To solve thisproblem, we propose new template-adaptation and templatematching methods. The former method adapts a single seed
template prepared for each kind of drums to the corresponding drum sound appearing in an actual musical piece containing sounds of various musical instruments. The latter method
then uses a carefully-designed distance measure that can detect all the onset times of each drum in the same piece byusing the corresponding adapted template. The onset timesof bass and snare drums in any piece can thus be identified
even if their timbres are different from prepared templates.
Experimental results with our methods showed that the accuracy of identifying bass and snare drums in popular music
was about 90%.

1. Introduction
Musical instrument identification as well as automatic musictranscription become important to archive and retrieve a deluge of musical audio signals. If the names of musical instruments in musical pieces can automatically be identified, they
are useful for classifying music and indexing music structure.
To identify musical instrument sounds with the harmonic
structure, several methods have been proposed. Martin etal. [7] and Eronen et al. [1], for example, discussed identification of solo tones. Kashino et al. [6] developed an automatic transcription system that can identify sound sources
for polyphonic music.
Because those previous methods assuming the harmonic
structure cannot be applied to drum sounds, different approaches have been proposed for drum sounds. Herrera etal. [5] used a method of using spectral and temporal featuresof drum sounds and achieved the accuracy of about 90% on
643 solo tones of drum sounds. This method, however, cannot be applied to polyphonic musical audio signals including
drum sounds. On the other hand, Zils et al. [8] proposeda time-domain method of extracting drum sounds from such
polyphonic signals. They show the effectiveness of a promis-

okuno@i.kyoto-u.ac.jp

ing idea of adapting simple templates of drum sounds to amusical piece in the time domain. This method, however,focused on resynthesizing high-quality drum sounds and did
not aim at identifying all the onset times of drum sounds ina piece. The accurate identification of drum sounds in realworld polyphonic musical audio signals is still difficult problem because it is impossible to prepare, in advance, all kindsof drum sounds appearing in various musical pieces.
In this paper, we propose a frequency-domain templateadaptation method that uses the power spectrum of drumsounds as template models. The advantage of our method
is that only one template model called “seed template” isnecessary for each kind of drums: the method does not require a large database of drum sounds. To identify bass
and snare drums, for example, we should prepare just twoseed-templates (i.e., prepare a single example for each drumsound). Given the seed templates, our method can adapt themto actual drum sounds appearing in any polyphonic musicalpiece that contains other musical instrument sounds. To identify all the onset times of drum sounds after this adaptation,
we then developed another method for accurate templatematching. It uses a new distance measure that can find all
the drum sounds in the piece by using the adapted templates.
The rest of this paper is organized as follows. First, Section 2 and 3 describe the template-adaptation method andthe template-matching method, respectively. Next, Section 4shows experimental results of evaluating those methods. Finally, Section 5 summarizes this paper.

2. Template Adaptation Method
In this paper, templates of drum sounds are the power spectrum in the time-frequency domain. The adaptation methodof Zils et al. [8] worked only in the time domain because
they defined templates consisting of audio signals. Extending their idea, we define templates in the time-frequency
domain because non-harmonic sounds like drum sounds
are well characterized by the shapes of power spectrum.
Our template-adaptation method uses a single base template
called “seed template” for each kind of drums. To identify bass and snare drums, for example, we require just two
seed templates, each of which is individually adapted by themethod.

Workshop on Statistcal and Perceptual Audio Processing SAPA-2004, 3 Oct 2004, Jeju, Korea

musicalaudio signal

Rough-Onset-Detection

P19

frequency

P1
…

power

P30

P31

…

P47
…

Template-Refinement

TS
T0

P62
…

medianT1 T2 …

P85…

PN
spectrum
excerpts…

Excerpt-Selection

medianTA…

seed template

iterative adaptation

adapted template

Figure 1: Overview of template-adaptation method (iterative adaptation algorithm).
Our method is based on an iterative adaptation algorithm. An overview of the method is depicted in Fig. 1.
First, the Rough-Onset-Detection stage roughly detects onset candidates in the audio signal of a musical piece. Startingfrom each of them, a spectrum excerpt is extracted from thepower spectrum. Then, by using all the spectrum excepts
and the seed template of each kind of drums, the iterativealgorithm successively applies two stages — the ExcerptSelection stage and the Template-Refinement stage — to obtain the adapted template.
In each iteration, the Excerpt-Selection stage calculates
the distance between the template (the seed template is used
for the first iteration) and each of the spectrum excerpts byusing a specially-designed distance measure. It selects a setof spectrum excerpts whose distance is smaller (the ratio of
the set to the whole is a constant). The Template-Refinement
stage then updates the template by replacing it with the median of the selected excerpts. The template is thus adapted tothe current piece and used for the next iteration. The iterationis repeated until the adapted template converges.

of drum sounds: they just indicate that some sounds mightoccur at those times.
When the power increase is high enough, the method
judges that there is an onset time. Let P (t, f ) denote thepower spectrum at frame t and frequency f and Q(t, f ) be
the its time differential. At every frame (441 points), P (t, f )is calculated by applying the STFT with Hanning windows(4096 points) to the input signal sampled at 44.1 kHz. The
rough onset times are then detected as follows:
1. If ∂P (t, f )/∂t > 0 is satisfied for three consecutive
frames (t = a − 1, a, a + 1), Q(a, f ) is defined as
Q(a, f ) =∂P (t, f )
.
∂t
t=a

Otherwise, Q(a, f ) = 0.
2. At every frame t, a weighted summation S(t) of
Q(t, f ) is calculated byS(t) =

2048
X

F (f ) Q(t, f ),f =1

2.1. Rough Onset Detection
The Rough-Onset-Detection stage is necessary to reduce thecomputational cost of the two stages in the iteration. It makes
it possible to extract a spectrum excerpt that starts from notevery frame but every onset time. The detected rough onset times do not necessarily correspond to the actual onsets

where F (f ) is a lowpass filter that is determined asshown in Fig. 2 according to the frequency characteristics of typical bass or snare drums.
3. Each onset time is given by the peak time found bypeak-picking in S(t). S(t) is linearly smoothed with aconvolution kernel before its peak time is calculated.

15frames

frequency

pass ratioF( f )

1.0

…

5bins

0

100

200

frequency bin f

Figure 2: Function of the lowpass filter according to the frequency characteristics of typical bass and snare drums.
2.2. Seed Template and Spectrum Excerpt Preparation
The seed template TS , which is a spectrum excerpt preparedfor each of bass and snare drums, is created from audio signal of an example of that drum sound, which must be monophonic (solo tone). By applying the same method with theRough-Onset-Detection stage, the onset time in the audio signal is detected. Starting from the onset time, TS is extracted
from the STFT power spectrum of the signal. TS is represented as a time-frequency matrix whose element is denoted
as TS (t, f ) (1 ≤ t ≤ 15 [frames], 1 ≤ f ≤ 2048 [bins]). In
the iterative adaptation algorithm, a template being adapted
after g-th iterations is denoted as Tg . Because TS is the first
template, T0 is set to TS .
On the other hand, a spectrum excerpt Pi is extracted
starting from each detected onset time oi (i = 1, · · · , N )[ms] in the current musical piece. N is the number of thedetected onsets in the piece. Pi is also represented as a timefrequency matrix whose size is same with the template Tg .
We also obtain T́g and Ṕi from the power spectrum
weighted by the lowpass filter F (f ):T́g (t, f ) = F (f ) Tg (t, f ),Ṕi (t, f ) = F (f ) Pi (t, f ).
Because the time resolution of the onset times roughly
estimated is 10 [ms] (441 points), it is not enough to obtainhigh-quality adapted templates. We therefore adjust eachrough onset time oi [ms] to obtain more accurate spectrum
excerpt Pi extracted from the adjusted onset time o′i [ms]. If
the spectrum excerpt from oi − 5 [ms] or oi + 5 [ms] is better
than that from oi [ms], o′i [ms] is set to the time providing thebetter spectrum excerpt as follows:
1. The following is calculated for j = −5, 0, 5.
(a) Let Pi,j be a spectrum excerpt extracted fromoi + j [ms]. Note that the STFT power spectrum
should be calculated again for oi + j [ms].
(b) The correlation Corr(j) between the template Tg
and the excerpt Pi,j is calculated asCorr(j) =15 2048
X
X

T́g (t, f ) Ṕi,j (t, f ),t=1 f =1

where Ṕi,j (t, f ) = F (f ) Pi,j (t, f ).

power summationin unit

02048bins

frame

2framesFigure 3: Quantization at a lower time-frequency resolution
for our improved log-spectral distance measure.
2. The best index J is determined as an index j that maximizes Corr(j).
J = argmax Corr(j).
j

3. Pi is determined as Pi,J .
2.3. Excerpt Selection
To select a set of spectrum excerpts Pi that are similar to thetemplate Tg , we propose an improved log-spectral distancemeasure. The spectrum excerpts whose distance from thetemplate is smaller than a threshold are selected. The threshold is determined so that the ratio of the number of selected
excerpts to the total number is a certain value (the ratio is
0.1 in this paper). We cannot use a normal log-spectral distance measure because it is too sensitive to the difference ofspectral peak positions. Our improved log-spectral distancemeasure uses two kinds of the distance Di — Di for the first
iteration (g = 0) and Di for the other iterations (g ≥ 1) — torobustly calculate the appropriate distance even if frequency
components of the same drum may vary during a piece.
The Di for the first iteration are calculated after quantizing Tg and Pi at a lower time-frequency resolution. As isshown in Fig 3, the time and frequency resolution after thequantization is 2 [frames] (20 [ms]) and 5 [bins] (54 [Hz]),
respectively. The Di between Tg (TS ) and Pi is defined asv
u15/2 2048/5
uX X 2u
Di = tT̂g (t̂, fˆ) − P̂i (t̂, fˆ)(g = 0),
t̂=1

fˆ=1

where the quantized (smoothed) spectrum T̂g (t̂, fˆ) andP̂i (t̂, fˆ) are defined as
5fˆ
2t̂
X
X
T̂g (t̂, fˆ) =T́g (t, f ),t=2t̂−1 f =5fˆ−4P̂i (t̂, fˆ)

=

2t̂
X

ˆ

5f
X

Ṕi (t, f ).

t=2t̂−1 f =5fˆ−4

On the other hand, the Di for the iterations after the first
iteration is calculated by the following normal log-spectral
distance measure:v
u 15 2048 
2uX X
Di = tT́g (t, f ) − Ṕi (t, f )(g ≥ 1).
t=1 f =1

frequency

+

+ … +

=

power
Figure 4: Updating the template by calculating the medianof selected spectrum excerpts.

calculates the loudness difference between the template andeach spectrum excerpt by using the weight function. If theloudness difference is larger than a threshold, it judges thatthe target drum sound does not appear in that excerpt, anddoes not execute the subsequent processing. If the difference
is not too large, the loudness of each spectrum excerpt is adjusted to compensate for the loudness difference. Finally, theDistance-Calculation stage calculates the distance between
the adapted template and each adjusted spectrum excerpt. If
the distance is smaller than a threshold, it judges that thatexcerpt includes the target drum sound.

2.4. Template Refinement

3.1. Weight Function Generation

As is shown in Fig. 4, the median of all the selected spectrum excerpts is calculated and the updated (refined) template
Tg+1 is obtained by

The weight function w is defined asw(t, f ) = F (f ) TA (t, f ),where TA is the adapted template and F (f ) is the low-passfilter function depicted in Fig. 2. The weight function represents the magnitude of spectral characteristic at each frame t
and frequency f in the adapted template.

Tg+1 (t, f ) = median Ps (t, f ),s

where Ps (s = 1, · · · , M ) are spectrum excerpts selected in
the Excerpt-Selection stage.
We use the median operation because it can suppress frequency components that do not belong to drum sounds. Since
major original frequency components of a target drum soundcan be expected to appear at the same positions in most selected spectrum excerpts, they are preserved after the median
operation. On the other hand, frequency components of othermusical instrument sounds do not always appear at similar
positions in the selected spectrum excerpts. When the median is calculated at t and f , those unnecessary frequency
components become outliers and can be suppressed. We canthus obtain the drum-sound template adapted to the current
musical piece even if it contains simultaneous sounds of various instruments.

3. Template Matching Method
By using the template adapted to the current musical piece,
this method finds all temporal locations where a targeted
drum occurs in the piece: it tries to exhaustively find all onset times of the target drum sound. This template-matchingproblem is difficult because sounds of other musical instruments often overlap the drum sounds corresponding to theadapted template. Even if the target drum sound is included
in a spectrum excerpt, the distance between the adapted template and the excerpt becomes large when using most typical distance measures. To solve this problem, we propose a
new distance measure that is based on the distance measureproposed by Goto and Muraoka [2]. Our distance measure
can judge whether the adapted template is included in spectrum excerpts even if there are other simultaneous sounds.
This judgment is based on characteristic points of the adapted
template in the time-frequency domain.
An overview of our method is depicted in Fig. 5. First,
the Weight-Function-Generation stage prepares a weightfunction which represents spectral characteristic points of
the adapted template. Next, the Loudness-Adjustment stage

3.2. Loudness Adjustment
The loudness of each spectrum excerpt is adjusted to that of
the adapted template TA . This is required by our templatematching method: if the loudness is different, our method
cannot estimate the appropriate distance between a spectrum
excerpt and the template because it cannot judge whether aspectrum excerpt includes the template.
To calculate the loudness difference between a spectrum
excerpt Pi and the template TA , we focus on spectral characteristic points of TA in the time-frequency domain. First,
spectral characteristic points (frequencies) at each frame aredetermined by using the weight function w, and the power
difference ηi at each spectral characteristic point is calculated. Next, the power difference δi at each frame is calculated by using ηi at that frame. If the power of Pi is too muchsmaller than that of TA , the method judges that Pi does notinclude TA , and does not proceed with the following processing. Finally, the loudness difference is calculated by integrating δi . The algorithm is described as follows:
1. Let ft,k (k = 1, · · · , 15) be the characteristic points of
the adapted template, determined as frequencies wherew(t, ft,k ) is the k-th largest at frame t. The power
difference ηi (t, ft,k ) at t and ft,k is calculated as
ηi (t, ft,k ) = Pi (t, ft,k ) − TA (t, ft,k ).
2. The power difference δi (t) at frame t is determined as
the minimum of ηi (t, ft,k ) for k:
δi (t) = min ηi (t, ft,k ),kKi (t) = argmin ηi (t, ft,k ).
kIf the number of frames where δi (t) ≤ Θδ is satisfied
is larger than a threshold Rδ , we judge that TA is notincluded in Pi (Θδ is a negative constant).

P19

P1
frequency…

power yes

P30

P31

…

yes

P47
…

no

Does each excerpt
include the template ?

yes

TA

Weight-Function-Generation
characteristic
pointsadapted template

P62
…

yes

P85
…

no

PN
spectrum
excerpts

…

yes

yes

Loudness-Adjustment
Distance-Calculation

excerpt P47
template TA
excerpt that includes template
template TA

excerpt P62

excerpt that does not include template

Figure 5: Overview of template-matching method (matching adapted template with all spectrum excerpts).
3. The loudness difference ∆i is calculated asP{t|δ (t)>Θδ } δi (t) w(t, ft,Ki (t) )∆i = P i.
{t|δi (t)>Θδ } w(t, ft,Ki (t) )Let Pi′ be an adjusted spectrum excerpt after the loudness adjustment, determined as
Pi′ (t, f ) = Pi (t, f ) − ∆i .

3.3. Distance Calculation
The distance between the adapted template TA and an adjusted spectrum excerpt Pi′ is calculated by using an extended version of the Goto’s distance measure [2]. If Pi′ (t, f )is larger than TA (t, f ) — i.e., Pi′ (t, f ) includes TA (t, f ),Pi′ (t, f ) can be considered a mixture of frequency components of not only the targeted drum but also other musicalinstruments. We thus define the distance measure asn 0 (P ′ (t, f ) − T (t, f ) ≥ Ψ) ,Aiγi (t, f ) =1 otherwise,
where γi (t, f ) is the local distance between TA and Pi′ at t
and f . Ψ is a negative constant to make this measure robust
for the small variation of frequency components. If Pi′ (t, f )is larger than about TA (t, f ), γi (t, f ) becomes zero.
The total distance Γi is calculated by integrating γi in thetime-frequency domain, weighted by the weight function w:
Γi =15 2048X
X

w(t, f ) γi (t, f ).

t=1 f =1

To determine whether the targeted drum played at Pi′ , thedistance Γi is compared with a threshold ΘΓ . If Γi is smaller
than ΘΓ , we judge that the targeted drum played.

4. Experiments and ResultsDrum sound identification for polyphonic musical audio signals was performed to evaluate the accuracy of identifying
bass and snare drums by our proposed method.
4.1. Experimental Conditions
We tested our method on excerpts of five songs included in
the popular music database RWC-MDB-P-2001 developedby Goto et al. [3]. Each excerpt was taken from the firstminute of a song. The songs we used included sounds of vocals and various instruments in addition to drums as songsin commercial CDs do. Seed templates were created fromsolo tones included in the musical instrument sound database
RWC-MDB-I-2001 [4]. All data were sampled at 44.1 kHz
with 16 bits. The same thresholds were used in the identification of bass drum and snare drums as:RδΘΓ= 7 [frames], Ψ = Θδ = −10 [dB],= 5000.

We evaluated the experimental results by the recall rate,
the precision rate, and the F-measure:recall rate=

precision rate=

F-measure=the number of correctly detected onsets,

the number of actual onsets
the number of correctly detected onsets
the number of onsets detected by matching
2 · recall rate · precision rate
recall rate + precision rate,.

To prepare actual onset times (correct answers), we extracted
onset times of bass and snare drums from the standard MIDI
file of a piece, and adjusted them to the piece by hands.

Table 1: Experimental results for five musical pieces in RWC-MDB-P-2001.
piece
number
No.6
No.11
No.30
No.50
No.52
averagemethod
base
adapt
base
adapt
base
adapt
base
adapt
base
adapt
base
adapt

recall rate
25.5 % (28/110)
57.3 % (63/110)
53.8 % (28/52)
100 % (52/52)
19.2 % (25/130)
93.1 % (121/130)
92.4 % (61/66)
97.0 % (64/66)
86.3 % (113/131)
93.9 % (117/131)
51.1 % (255/489)
86.5 % (423/489)

bass drum
precision rate
68.3 % (28/41)
84.0 % (63/75)
100 % (28/28)
100 % (52/52)
89.3 % (25/28)
93.8 % (121/129)
93.8 % (61/65)
87.7 % (64/73)
95.8 % (113/118)
90.4 % (117/128)
91.1 % (255/280)
91.0 % (423/465)

4.2. Results of Drum Sound Identification
Table 1 shows the results of comparing our templateadaptation-and-matching methods (called adapt method)with a method in which the template-adaptation method was
disabled (called base method); the base method used a seed
template instead of the adapted one for the template matching. The number of adaptive iterations is three. These results
showed the effectiveness of the adapt method: the templateadaptation method improved the F-measure of identifying
bass drum from 0.66 to 0.89 and that of identifying snare
drum from 0.79 to 0.90 on average of the five pieces. In fact,in our observation, the template-adaptation method absorbed
the difference of the timber by correctly adapting seed templates to actual drum sounds appearing in a piece.
In most musical pieces, the recall rate was significantly
improved in the adapt method. The base method detected
only a few onsets in some pieces (e.g., No. 11 and No. 30) because the distance between an unadapted seed template andspectrum excerpts was not appropriate. On the other hand,
the template-matching method of the adapt method worked
effectively; all the rates in No. 11 and No. 30, for example,
were over 90% in the adapt method.
Although our adapt method is effective in general, it
caused a low recall rate in a few cases. The recall rate ofidentifying the snare drum in No. 50, for example, was degraded, while the precision rate was improved. In this piece,
the template-matching method was not able to judge thatthe template was correctly included in spectrum excerpts because frequency components of the bass guitar often overlaped spectral characteristic points of the bass drum in those
excerpts.

5. Conclusion
In this paper, we have described a method that can detect onset times of bass and snare drums in real-world CD recordings containing polyphonic musical audio signals. Even if
drum sounds prepared as seed templates are different fromones used in a musical piece, our template-adaptation method

F-measure
0.37
0.68
0.70
1.00
0.31
0.93
0.93
0.92
0.90
0.92
0.66
0.89

recall rate
81.0 % (51/63)
98.4 % (62/63)
21.6 % (8/37)
94.6 % (35/37)
25.7 % (18/70)
97.1 % (68/70)
91.7 % (99/108)
61.1 % (66/108)
97.4 % (76/78)
88.5 % (69/78)
70.8 % (252/356)
88.5 % (300/356)

snare drum
precision rate
83.6 % (51/61)
100 % (62/62)
66.7 % (8/12)
97.2 % (35/36)
90.0 % (18/20)
100 % (68/68)
91.7 % (99/108)
94.3 % (66/70)
93.8 % (76/81)
97.2 % (69/71)
89.4 % (252/282)
87.3 % (300/307)

F-measure
0.82
0.99
0.33
0.96
0.40
0.99
0.92
0.74
0.96
0.93
0.79
0.90

can adapt the templates to the piece through the iterative
adaptation. By using the adapted templates, our templatematching method then detects all the onset times of thosedrum sounds in the piece by the improved Goto’s distancemeasure. Our experimental results have shown that the adaptation method significantly improved the F-measure of identifying bass and snare drums. In the future, we plan to extend
our method to identify other drum sounds and various nonharmonic sounds.

6. Acknowledgments
This research was partially supported by the Ministry of Education,
Culture, Sports, Science and Technology (MEXT), Grant-in-Aid
for Scientific Research (A), No.15200015, the Sound Technology
Promotion Foundation, and Informatics Research Center for Development of Knowledge Society Infrastructure (COE program of
MEXT, Japan).

7. References[1] Eronen, A. and Klapuri, A., “Musical Instrument Recognition
Using Cepstral Coefficients and Temporal Features,” ICASSP,
753–754, 4, 2000.
[2] Goto, M. and Muraoka, Y. “A Sound Source Separation System
for Percussion Instruments,” IEICE Transactions, J77-D-II, 5,
901–911, 1994 (in Japanese).
[3] Goto, M., Hashiguchi, H., Nishimura, T. and Oka, R.,“RWC Music Database: Popular, Classical, and Jazz Music
Databases,” ISMIR, 287–288, 2002.
[4] Goto, M., Hashiguchi, H., Nishimura, T. and Oka, R., “RWC
Music Database: Music Genre Database and Musical Instrument Sound Database,” ISMIR, 229–230, 2003.
[5] Herrera, P., Yeterian, A. and Gouyon, F., “Automatic Classification of Drum Sounds: A Comparison of Feature Selection
Methods and Classification Techniques,” ICMAI, LNAI2445, 4,
49–80, 2002.
[6] Kashino, K., and Murase, H., “A Sound Source Identification
System for Ensemble Music Based on Template Adaptation andMusic Stream Extraction,” Speech Communication, 27, 337–
349, 1999.
[7] Martin, K. D., “Musical Instrumental Identification: A PatternRecognition Approach,” 136th meeting of ASA, 1998.
[8] Zils, A., Pachet, F., Delerue, O. and Gouyon, F., “Automatic
Extraction of Drum Tracks from Polyphonic Music Signals,”
WEDELMUSIC, 179–183, 2002.