You are on page 1of 10

Greg Aloupis,* Thomas Fevens, Stefan Langer-

man, Tomomi Matsui, Antonio Mesa, Yurai


Algorithms for Computing
Nuez, David Rappaport,** and Godfried Geometric Measures of
Toussaint*
*School of Computer Science, McGill University Melodic Similarity
3480 University Street
Montreal, Quebec, Canada H3A 2A7
{athens,godfried}@cs.mcgill.ca

Department of Computer Science and Software


Engineering, Concordia University
1455 de Maisonneuve Boulevard West
Montreal, Quebec, Canada H3G 1M8
fevens@cs.concordia.ca

Chercheur Qualifi du FNRS, Dpartement


dInformatique, Universit Libre de Bruxelles
CP212 Boulevard du Triomphe, 1050 Bruxelles,
Belgium
Stefan.Langerman@ulb.ac.be

Department of Mathematical Informatics


Graduate School of Information Science and
Technology, University of Tokyo
7-3-1 Hongo, Bunkyo-ku, Tokyo, 113-8656 Japan
tomomi@misojiro.t.u-tokyo.ac.jp

Departamento Ciencias de la Computacion


Facultad de Matematica y Computacion,
Universidad de La Habana
San Lazaro y L, Vedado 10400
Ciudad de La Habana, Cuba
tonymesa@matcom.uh.cu, yurainr@yahoo.com
**School of Computing, Queens University
Kingston, Ontario, Canada K7L 3N6
daver@cs.queensu.ca

We have all heard numerous melodies, whether they in content-based retrieval methods for large music
come from commercial jingles, jazz ballads, operatic databases such as query by humming (QBH) (Ghias
arias, or any of a variety of different sources. How a et al. 1995; Mo, Han, and Kim 1999) but also in
human detects similarities in melodies has been other diverse applications such as helping prove
studied extensively (Martinez 2001; Hofmann-Engl music copyright infringement (Cronin 1998). Previ-
2002; Mllensiefen and Frieler 2004). There has ous formal mathematical approaches to rhythmic
also been some effort in modeling melodies so that and melodic similarity, such as the one taken in this
similarities can be detected algorithmically. Some article, are based on methods like one-dimensional
results in this fascinating study of musical percep- edit-distance computations (Toussaint 2004), ap-
tion and computation can be found in a collection proximate string-matching algorithms (Bainbridge
edited by Hewlett and Selfridge-Field (1998). et al. 1999; Lemstrm 2000), hierarchical correla-
Similarity measures for melodies find application tion functions (Lu, You, and Zhang 2001), two-
dimensional augmented suffix trees (Chen et al.
Computer Music Journal, 30:3, pp. 6776, Fall 2006 2000), transportation distances (Typke et al. 2003;
2006 G. Aloupis, T. Fevens, S. Langerman, T. Matsui, A. Mesa, Lubiw and Tanur 2004), and maximum segment
Y. Nuez, D. Rappaport, and G. Toussaint. overlap (Ukkonen, Lemstrm, and Mkinen 2003).

Aloupis et al. 67
Figure 1. The first two Figure 2. Two orthogonal
measures of a well-known periodic melodies.
melody are shown below
our representation using
an orthogonal polygonal
chain.

number of unit time-steps in each query. This time


bound can be achieved with a brute-force approach.
In some music domains such as Indian classical
music, Balinese gamelan music and African music,
the melodies are cyclic, i.e., they repeat over and
over. In Indian music the rhythmic cycles (meter)
Maidn (1998) proposed a geometric measure of are called talas (Morris 1998), and in the music of
the difference between two melodies Ma and Mb. The north Bali they are called lambatan (Ornstein
melodies are modeled as monotonic pitch-duration 1971). If timbre is added to the talas in the form of
rectilinear functions of time, as depicted in Figure 1. drum sounds we obtain what are called thekas,
This rectilinear representation of a melody is equiv- which may be considered in effect as cyclic
alent to the triplet melody representation in Lu, melodies (Clayton 2000). Such cyclic melodies are
You, and Zhang (2001). Maidn measures the dif- also a fundamental component of African and Bali-
ference between the two melodies by the minimum nese music (Montfort 1985). Although the un-
area between the two polygonal chains, allowing trained listener may assume that African drumming
vertical translations. The area between two polygo- is not melodic, this is far from the truth. In the
nal chains is found by integrating the absolute value words of A. M. Jones, the drums are not merely
of the vertical L1 distance between Ma and Mb over beating time, for each note has to be beaten on its
the domain Q. Arkin et al. (1991) show that the own correct pitch (Jones 1954). Furthermore, in
minimum integral of any distance Lp (p 1) between the Afro-Cuban Bat drumming, where several
two orthogonal cyclic chains, allowing translations double-skinned drums are used, the skins are tuned
along Q and z, is a metric. so that the melodies may use tones and even semi-
In a more general setting such as music retrieval tones (Nodal 1983). Indeed, African and Afro-Cuban
systems, we might consider matching a short query Bat drums produce cyclic melodies. Of course, in
melody against a larger stored melody. Furthermore, much of the Balinese music the cyclic melodies are
the query can be presented in a different key (trans- played on gamelans, in which the metal pieces are
posed in the vertical direction) and in a different even more finely tuned (Carterette and Kendall
tempo (scaled linearly in the horizontal direction). 1994).
Francu and Nevill-Manning (2000) compute the Two such cyclic melodies can be represented by
minimum area between two such chains, taken over orthogonal polygonal chains on the surface of a
all possible transpositions. They do this for a con- cylinder, as shown in Figure 2. This is similar to
stant number of pitch values and scaling factors, and Thomas Edisons cylinder phonographs, where mu-
each chain is divided into m and n equal time steps. sic is represented by indentations around the body
They claim (without describing in detail) that their of a tin foil cylinder.
algorithm takes O(nm) time, where n and m are the This article is an extension of the material pre-

68 Computer Music Journal


Figure 3. Contribution of
C4 to area calculation.

sented in Aloupis et al. (2003). We describe two al- lines and two horizontal edges (one from each
gorithms to find the minimum area between two melody). Note that k is at most n + m. The area be-
given orthogonal melodies, Ma and Mb, of size n and tween Ma and Mb is the sum of the areas of all Ci. If
m, respectively (n > m). Here, n (or m) is the number Mb starts completely below Ma and moves in the
of non-vertical edges in the polygonal chain repre- positive z direction, then for any given Ci the lower
sentation. The algorithms can be used for cyclic horizontal edge (from Mb) will approach the upper
melodies as well as in the context of retrieving fixed horizontal edge, while the area of Ci decreases
short patterns from a database (open planar orthogo- linearly. This happens until the horizontal edges are
nal chains). Apart from minor details, there is no coincident and the area of Ci is zero. Then the upper
difference between the cyclic and open cases. We horizontal edge (now from Mb) moves away from
have chosen to describe the algorithms for the case the lower fixed horizontal edge, while the area of Ci
where the melodies are cyclic. The first algorithm increases linearly.
assumes that the Q direction is fixed, and it runs in We will consider the vertical position of Mb to be
O(n) time. The second algorithm finds the mini- the z-coordinate of its first edge. We define z = 0 to
mum area when both the z and Q relative positions be the position where this edge overlaps the first
can be varied. We prove that it runs in O(nmlogn) edge of Ma. Let Ai(z) denote the area of Ci as a func-
time. In each case, we assume that the edges defin- tion of z. Define zi to be the coordinate at which
ing Ma and Mb are given in the order in which they Ai = 0. These k positions of Mb where some Ai be-
appear in the melodies. Finally, we discuss natural comes zero are called z-events. The slope of Ai(z) is
extensions, both for the polygonal description of determined by the length of the horizontal edges of
melodies and for different types of queries. Ci. The total area between Ma and Mb is given by
A(z) = i =1 Ai(z).
k

Minimization with Respect to z Direction Note that because A(z) is the sum of piecewise-
linear convex functions, it too is piecewise-linear
In the first algorithm, we will assume that both and convex. Furthermore, its minimum must occur
melodies are fixed in the Q direction. Without loss of at a z-event.
generality, we will assume that melody Ma is fixed The function A(z) is given by
in both directions, so all motions are relative to Mb.
A(z) = w i | zbi zai | ,
To see how the area between the two melodies
changes as Mb moves in the z direction, consider a where zbi is the vertical coordinate of Mb in Ci,
set of lines defined by all vertical edges of the zai corresponds to Ma, and wi is the weight (width) of
melodies as shown in Figure 3. This set of lines par- Ci, as shown in Figure 3. Let ai denote the vertical
titions the area between the melodies into rectan- offset of each horizontal edge in Mb from zb1. Thus
gles Ci (i = 1, . . . , k), each defined by two vertical we have zbi = zb1 + ai, and A(z) is now given by

Aloupis et al. 69
A(z) = w i | zb1 (zai !i)| . all leaves in T) and D (the number of growing leaves
minus the number of shrinking leaves in T). The
Finally, notice that the term zai ai is equal to zi. weighted median of all zi can be calculated by tra-
Thus, we obtain versing the tree from root to leaf, always choosing
A(z) = w i | zi zb1 | . the path that balances the total weight on both
sides of the path. The time for this is O(logk).
This is a weighted sum of distances from zb1 to all Suppose that we shift Mb by some offset DQ,
the z-events. The minimum is the weighted uni- which is small enough such that no vertical edges
variate median of all zi and can be found in O(k) overlap during the shift. Each wi belonging to a
time (Reiser 1978). This median is the vertical coor- growing leaf must be increased by DQ, and each wi
dinate that zb1 must have so that A(z) is minimized. belonging to a shrinking leaf must be decreased by
Once this is accomplished, it is straightforward to this amount. Instead of actually updating all our in-
compute the sum of areas O(k) in time. Recall that puts, we just maintain a global variable DQ, repre-
k is at most n + m; therefore, a minimum of A(z) can senting the total offset in the Q direction. The total
be computed in O(n) time. weight of a subtree T is now WT + DDQ.
When we shift to a position where two vertical
edges share the same Q coordinate, we potentially
Minimization with Respect to z and Q Directions eliminate some Ci, create a new Ci, or change type of
Ci. The number of such changes is constant for each
If no vertical edges among Ma and Mb share the same pair of collinear vertical edges. The weight given to
Q coordinate, then Mb may be shifted in at least one a created leaf must equal DQ. Each of these changes
of the two directions Q so that the sum of areas involves O(logk) work to update the information
does not increase. This means that to find the global stored in the ancestors of a newly inserted, deleted,
minimum, the only Q coordinates that need to be or altered leaf. There are O(nm)such instances
considered are those where two vertical edges coin- where this must be done and where the median
cide. Thus, our first algorithm may be applied O(nm) must be recomputed, so the total time to compute
times to find the global minimum in a total of all candidate positions of Mb is O(nmlogn).
O(n2m) time. We now propose a different approach At every Q coordinate where we recalculate the
to improve this time complexity. median, we also need to calculate the integral of
As described in the previous section, for a given Q, area between the two melodies. For a given median
the area minimization resembles the computation z*, the area summation for those Ci for which z* > zi
of a weighted univariate median. When we shift Mb has the form wi(z* zi). This can be calculated in
by DQ, we are essentially changing the input weights O(logk) time if we know the value of this summa-
to this median. Some Ci grow in width, some be- tion for every subtree. To do this, we store some ad-
come narrower, and some stay the same width. As ditional information at every subtree T. Specifically,
we keep shifting, at Q coordinates where vertical the area is given by
edges coincide, we have the destruction of a Ci and
z(WT + D"#) (w i zi) "# Izi ,
creation of another Ci. An important observation is
that all Ci grow (or shrink) at the same rate. where in the second summation, I takes the values
Let us store the z-events and their weights in the (+1, 0, 1) for growing, unchanged, and shrinking
leaves of a balanced binary search tree. Each leaf leaves, respectively. These two summations are the
represents one Ci. The leaves are ordered by the additional parameters that need to be stored, and
value zi. Each leaf also has a label to distinguish be- they can be updated in O(logk) time at every critical
tween the three types of Ci: those that are growing, Q coordinate. We must also perform a similar O(logk)
shrinking, or unaffected when Mb is shifted infini- time calculation of wi(zi z*) for all zi > z*. No ad-
tesimally in the positive direction. At every node ditional parameters are needed for this.
with subtree T, we store WT (the sum of weights of Thus, at every critical Q position, we can calculate

70 Computer Music Journal


the median and integral of area in O(logk) = O(logn) represents time, but now the other axes might rep-
time. This implies that a relative placement such resent pitch, loudness, timbre, or chord density. In
that the area between the melodies is minimized the plane, the measurement made was an integral
can be computed in O(nmlogn) time. of the pitch (height) difference taken over a domain
The analysis above can be used to obtain the same in the x-axis. Here, we still wish to minimize an in-
result for the problem of matching two planar or- tegral of the distance between two chains over all
thogonal monotonic open chains. Clearly, if we are common x coordinates. Whether this should be
interested in varying only one direction, an optimal computed as a Euclidean distance or perhaps the L1
placement can be found in linear time. If the direc- distance is debatable; the latter is definitely easier
tion of monotonicity is the x-axis, then this prob- to compute.
lem is more interesting if one of the two chains has Suppose that we allow motions of the chains Ma
a shorter projection onto the x-axis. This shorter and Mb only in the y and z directions. Minimizing
chain reminds us of a short motif that we might the sum of pair-wise Euclidean distances is equiva-
search for in a larger database of music. For this lent to the Weber problem, which involves finding a
problem, we measure area only within the common point with minimum sum of distances to points in
domain of the two chains along the x-axis. Natu- a given set. It is not possible to find an exact solu-
rally, the projection of the shorter chain must be en- tion to the Weber problem (also known as the gener-
tirely covered by the projection of the longer chain. alized Fermat-Torricelli problem; see Gro and
Arkin et al. (1991) showed that two polygonal Strempel 1998). Using the L1 metric, we want to
shapes can be compared by parameterizing their minimize the function
boundary lengths and examining their orientation
differences. They showed that their measure, which
w i(| zbi zai | + | ybi yai |).
is invariant to scaling, rotation, and translation, can This can be split into a sum of two terms:
be computed by finding the minimum integral of
the vertical distance between two orthogonal chains,
w i | zbi zai | + w i | ybi yai | .
which are constructed in a preprocessing step. In Thus, we need to perform only two univariate me-
fact, some of their techniques are similar to those dian computations to find the optimal (y, z) place-
given in this section. However, they chose to use ment for a particular relative position of the two
the L2 distance (as opposed to the L1 distance used chains in the x direction. In d dimensions, we can
here), for which the optimal z-position at any Q can accomplish this task in O(dn) time. The decoupling
be computed in O(1) time. The complexity of their of the two coordinates allows us to update each
algorithm is dominated by sorting the O(nm) criti- median separately at every critical x coordinate.
cal Q events. They indicated that their algorithm of- In three dimensions, there are still O(nm) critical
fers no improvement over a O(n3) time brute-force x coordinates and O(n + m) weights/leaves, so the
approach for the L1 metric. time complexity is the same as for planar chains. If
we let n and m be the total number of edges parallel
to the x-axis for two chains, then in three dimensions
Extensions the time complexity becomes O(nmdlogn), using
O(dn) space. Note that only these edges are signifi-
Higher Dimensions cant in any of the computations we have made so far.

Consider a simple orthogonal open chain that is


monotonic with respect to the x-axis. Furthermore, Scaling
at any particular x-coordinate, suppose that the
chain has at most two edges (in the y and/or z direc- Here we consider the effect of scaling planar chains,
tions). This is an extension of the melody represen- either in the vertical or horizontal directions. If we
tation that we have seen so far. The x-axis still shrink the shorter chain horizontally, the domain of

Aloupis et al. 71
Figure 4. Two monotonic
chains and their strips.

the integral becomes smaller, so the total area will


tend to zero eventually. How should we deal with
this? It seems reasonable to normalize by comput-
ing the total area over the domain of the smaller
chain. It is equivalent to fix the shorter chain at unit
domain length and modify the larger chain instead.
Its domain would expand from unit length to some
value where its narrowest strip has unit width.
Let an x-value be an x-coordinate where there are
vertical edges from both chains. For a particular scal-
ing value, we know that the optimal placement of the
larger chain occurs when we have an x-value. This voice plays an important role. A continuous change
follows from the arguments given in the second sec- in pitch also reflects effects such as glissandi in
tion of this article. Suppose that somehow we know Western classical performance. In such applica-
the optimal scaling factor, and assume that there is tions, continuous pitch variation is important (Bat-
only one x-value and that we know which two verti- tey 2004). Furthermore, in other applications such
cal edges are aligned. Now, we can keep scaling the as signal-to-score music transcription and pitch
large chain while using the x-value as an anchor. tracking in real-time interactive improvisation
One of the two scaling directions will improve the systems, the input is continuous (Dobrian 2004;
area minimization, at least until we obtain another Kapanci and Pfeffer 2005).
x-value. Thus, for the scaling method proposed A further step in this direction is to consider mo-
above, the optimal scaling of the larger chain occurs notonic piecewise linear chains. Consider two such
at a position where two or more x-values occur. planar chains. Let us divide the plane into strips,
This means that we have O(n2m2) candidate con- just as we had for orthogonal chains. In this case, a
figurations for the larger chain. Thus a brute-force vertical boundary is placed at every vertex, as
algorithm to find the optimal configuration (and shown in Figure 4.
vertical position) would take O(n3m3) time using Within every strip, we have two linear segments.
O(n) space. Our result also applies to vertical scal- Suppose we vary only the relative pitch of the chains.
ing. In this case a brute-force algorithm would have As one chain is moved down from infinity, the area
a time complexity of O(n3m3logn), because we within a given strip decreases linearly until the two
would search along Q for every scaling factor that segments touch inside the strip. Then the area de-
aligns two pairs of horizontal edges. creases quadratically until the midpoints of the seg-
ments intersect. Of course, the reverse occurs as we
keep moving the chain down. The overall area func-
Non-Orthogonal Chains tion of each strip Ci is now a symmetric convex
function, which is part linear and part quadratic
In the preceding sections, it was assumed that a (around the symmetric point). The total area is a
melody can be divided into intervals, and within sum of n functions, such as those shown in Figure 5.
each interval the pitch (or volume/timbre) remains The area function is convex and piecewise quad-
constant. In a more general setting, these features ratic with O(n) inflection points. Specifically, an
may vary within each interval. Non-orthogonal inflection point will exist in the aggregate function
chains are relevant in a variety of contexts. In many only at a coordinate where some individual func-
types of music, we must consider melody in a more tion changes from linear to quadratic. There are two
general sense than the discrete, static pitches of such points per individual function. Note that the
MIDI or common music notation. This is particu- minimum of the aggregate function need not occur
larly true for example in Flamenco music and In- at an inflection point, unlike the case of orthogonal
dian music, in which the expressiveness of the chains. Now, it is possible for the minimum to exist

72 Computer Music Journal


Figure 5. A set of area func- Figure 6. The median Q1 of Figure 7. The median Q2 of Figure 8. Q2 to the left
tions from the Ci strips. function minima. left inflection points. of Q1.

A A

A(Ci )

Z Q1 Q2 Z

Figure 5 Figure 7

A A

Z Q2 Q Z
Q1 1
Figure 6 Figure 8

between two consecutive inflection points. This functions in R. If not at the global mini-
would be the only region between two successive in- mum, assume without loss of generality that
flection points where the function is not monotonic. the minimum is to the left of Q1.
To compute the minimum of the aggregate func- 4. For the subset of functions in R whose min-
tion, we give the following algorithm: ima are to the right of Q1, compute the me-
dian Q2 of their left inflection points. Q2
1. Let R be the set of individual area functions. splits the subset into the left group and the
Let F be a single quadratic term, initialized right group.
to zero. 5. If Q2 Q1, as shown in Figure 7, replace all
2. Compute Q1, the median of the x-coordinates functions in the right group with a single lin-
of the minima of all functions in R, as shown ear term, which is a summation of all indi-
in Figure 6. vidual left-hand linear terms. Update F by
3. Compute the value and gradient of the total adding this term to it. Remove the right
area function at Q1 by querying F and all group from R.

Aloupis et al. 73
6. Otherwise, if Q2 < Q1, as shown in Figure 8, points in O(nmlogn) and sweep along each height
compute the gradient of the total function at difference horizontally, updating the area function
Q2. If the global minimum is to the left of in O(1) time per critical point (i.e., O(nm) per height
Q2, follow the instructions of step 5 on the difference). As a result, the time complexity is dom-
right group. Otherwise, if the minimum is inated by the sorting step. Even in the simplest
between Q2 and Q1, replace all functions in case, where we just wish to compute the minimum
the left group with a single quadratic term, area while keeping z fixed, we do not know how to
which is a summation of all individual quad- avoid sorting all critical positions.
ratic terms. Then update F and remove the If all weights are equal (i.e., we have evenly spaced
left group from R. sampling of melodies), then each median computa-
7. Go to step 2. tion takes O(m) time, and there are O(n) critical po-
sitions. Thus, a brute force approach takes O(nm)
The algorithm performs O(|R|)work during each time. A direct implementation of our tree algorithm
iteration, and a constant fraction of R is removed would take O(nmlogn) time, because at each of the
each time. The total time is O(n), by a simple geo- O(n) critical positions we would have to update all
metric series summation, as given in Cormen et al. O(m) leaves of our tree. It is possible that this can
(2001). Thus, in linear time we can compute the be greatly improved.
minimum area between two chains monotonic in x,
found over all vertical translations.
Updating the aggregate function as we shift one of
the chains along the x-axis appears to be non-trivial.
Conclusion
It is no longer true that the optimal position must
We have given efficient algorithms for computing
occur when vertices from each chain are aligned
the minimum area between two polygonal chains,
vertically. Also, when we make a small shift along
which is a known method of comparing melodies.
the x-axis, not only do the two linear parts of each
Other sweep-line algorithms for melodic similarity
individual function change slopes, but the center of
exist (e.g., Ukkonen, Lemstrm, and Mkinen 2003;
symmetry of each function may also shift. (Recall
Lubiw and Tanur 2004); however, ours is designed
that these are functions of the z-coordinate.) These
to handle a continuous spectrum of pitch and time.
changes depend on the slopes of our chains within
We do not assume a fixed set of allowed pitches or
each strip and are not difficult to compute on an in-
time differences. On the other hand, we do assume
dividual basis. However, understanding their aggre-
that the input melodies are monophonic. Extending
gate effect is a different matter. To rephrase, each
these methods to polyphonic music and arbitrarily
strip now has three z-events instead of one: the
complex pitch functions are interesting challenges
two boundaries between linear and quadratic forms,
for future study.
plus the center of symmetry. To make things worse,
the z-events change position as a chain is shifted
along Q. Thus, if a tree is used to maintain the me-
dian, it will be necessary not only to insert/delete Acknowledgments
leaves but also to rearrange the order of leaves (to
say the least). We wish to thank all participants of the Second
Cuban Workshop on Algorithms and Data Struc-
tures, held at the University of Havana, 1319 April
Integer Weights/Heights 2003. We also thank Remco Veltkamp and Rainer
Typke for bringing Arkin et al. (1991) to our atten-
Now, we discuss the cases where only certain pitches tion. We appreciate the constructive comments by
(heights) and/or weights are allowed. If there are O(1) two anonymous referees and by two of the editors,
height differences allowed, we can sort all critical Douglas Keislar and George Tzanetakis.

74 Computer Music Journal


References Hewlett, W. B., and E. Selfridge-Field, eds. 1998. Melodic
Similarity: Concepts, Procedures, and Applications.
Aloupis, G., et al. 2003. Computing a Geometric Mea- Cambridge, Massachusetts: MIT Press.
sure of the Similarity Between Two Melodies. Pro- Hofmann-Engl, L. 2002. Melodic Similarity: A Concep-
ceedings of the 15th Canadian Conference on tual Framework. Proceedings of the 2nd International
Computational Geometry. Halifax, Canada: Dalhousie Conference on Understanding and Creating Music.
University, pp. 8184. Naples, Italy: Seconda Universita degli Studi di
Arkin, E., et al. 1991. An Efficiently Computable Metric Napoli.
for Comparing Polygonal Shapes. IEEE Transactions Jones, A. M. 1954. African Rhythm. Africa: Journal of
on Pattern Analysis and Machine Intelligence the International African Institute 24(1):2647.
13(3):209216. Kapanci, E., and A. Pfeffer. 2005. Signal-to-Score Music
Bainbridge, D., et al. 1999. Towards a Digital Library of Transcription Using Graphical Models. Proceedings of
Popular Music. Proceedings of the Fourth ACM Inter- the 19th International Joint Conference on Artificial
national Conference on Digital Libraries. New York: Intelligence (IJCAI). Edinburgh, UK. Available online
Association for Computing Machinery. at http://ijcai05.csd.abdn.ac.uk/.
Battey, B. 2004. Bzier Spline Modeling of Pitch- Lemstrm, K. 2000. String Matching Techniques for Mu-
Continuous Melodic Expression and Ornamentation. sic Retrieval. Ph.D. thesis, University of Helsinki.
Computer Music Journal 28(4):2539. Lu, L., H. You, and H. J. Zhang. 2001. A New Approach
Carterette, E. C., and R. A. Kendall. 1994. On the Tuning to Query by Humming in Music Retrieval. Proceed-
and Stretched Octave of Javanese Gamelans. Leonardo ings of the 2001 International Conference on Multi-
Music Journal 4:5968. media and Expo. New York: Institute for Electrical and
Chen, A. L. P., et al. 2000. Query by Music Segments: An Electronics Engineers, pp. 2225.
Efficient Approach for Song Retrieval. Proceedings of Lubiw, A., and L. Tanur. 2004. Pattern Matching in Poly-
the IEEE International Conference on Multimedia and phonic Music as a Weighted Geometric Translation
EXPO (II). New York: Institute of Electrical and Elec- Problem. Proceedings of the 5th International Confer-
tronics Engineers, pp. 873876. ence on Music Information Retrieval. Barcelona, Spain:
Clayton, M. 2000. Time in Indian Music. New York: Ox- Universitat Pompeu Fabra, pp. 289296.
ford University Press. Martinez, I. C. 2001. Contextual Factors in the Percep-
Cormen, T., et al. 2001. Introduction to Algorithms. New tual Similarity of Melodies. MikroPolyphonie: The
York: McGraw-Hill. Online Contemporary Music Journal. Available online
Cronin, C. 1998. Concepts of Melodic Similarity in at http://www.mikropol.net.
Music-Copyright Infringement Suits. In W. B. Hewlett Mo, J. S., C. H. Han, and Y. S. Kim. 1999. A Melody-
and E. Selfridge-Field, eds. Melodic Similarity: Con- Based Similarity Computation Algorithm for Musical
cepts, Procedures, and Applications. Cambridge, Mas- Information. Proceedings of the 1999 Workshop on
sachusetts: MIT Press, pp. 187209. Knowledge and Data Engineering Exchange. New
Dobrian, C. 2004. Strategies for Continuous Pitch and York: Institute of Electrical and Electronics Engineers
Amplitude Tracking in Real-Time Interactive Improvi- Computer Society, p. 114.
sation Software. Proceedings of the 2004 Sound and Montfort, M. 1985. Ancient Traditions, Future Possibili-
Music Computing conference (SMC04), IRCAM, Paris, ties: Rhythmic Training Through the Traditions of
France. Africa, Bali, and India. Kentfield, California: Ancient
Francu, C., and C. G. Nevill-Manning. 2000. Distance Future Music.
Metrics and Indexing Strategies for a Digital Library of Morris, R. 1998. Sets, Scales, and Rhythmic Cycles: A
Popular Music. Proceedings of the IEEE International Classification of Talas in Indian Music. Paper presented
Conference on Multimedia and EXPO (II). at the 21st Annual Meeting of the Society for Music
Ghias, A., et al. 1995. Query by Humming: Musical In- Theory, Chapel Hill, North Carolina, 3 December.
formation Retrieval in an Audio Database. ACM Mllensiefen, D., and K. Frieler. 2004. Measuring
Multimedia 95:231236. Melodic Similarity: Human vs. Algorithmic Judg-
Gro, C., and T. K. Strempel. 1998. On Generalizations ments. Paper presented at the 2004 Conference on In-
of Conics and on a Generalization of the Fermat- terdisciplinary Musicology, Graz, Austria, 1518 April.
Torricelli Problem. American Mathematical Monthly Nodal, R. 1983. The Social Evolution of the Afro-Cuban
105(8):732743. Drum. The Black Perspective in Music 11(2):157177.

Aloupis et al. 75
Maidn, D. S. 1998. A Geometrical Algorithm for Typke, R., et al. 2003. Using Transportation Distances
Melodic Difference. Computing in Musicology for Measuring Melodic Similarity. Proceedings of the
11:6572. 4th International Symposium on Music Information
Ornstein, R. 1971. The Five-tone Gamelan Anklung of Retrieval. Baltimore, Maryland: Johns Hopkins Univer-
North Bali. Ethnomusicology 15(1):7180. sity, pp. 107114.
Reiser, A., 1978. A Linear Selection Algorithm for Sets Ukkonen, E., K. Lemstrm, and V. Mkinen. 2003. Geo-
of Elements with Weights. Information Processing metric Algorithms for Transposition Invariant Con-
Letters 7:159162. tent-Based Music Retrieval. Proceedings of the 4th
Toussaint, G. T. 2004. A Comparison of Rhythmic Simi- International Conference on Music Information Re-
larity Measures. Proceedings of the 5th International trieval. Baltimore, Maryland: Johns Hopkins Univer-
Symposium on Music Information Retrieval. Barcelona, sity, pp. 193199.
Spain: Universitat Pompeu Fabra, pp. 242245.

76 Computer Music Journal

You might also like