You are on page 1of 23

November 2, 2011

13:11

WSPC/INSTRUCTION FILE

musicimprovl4

International Journal on Artificial Intelligence Tools


c World Scientific Publishing Company

AUTOMATIC INTERACTIVE MUSIC IMPROVISATION BASED


ON DATA MINING

CONSTANTINOS HALKIOPOULOS
Department of Mathematics,
University of Patras Artificial Intelligence Research Center,
University of Patras
26500 Rio, Patras, Greece
halkion@upatras.gr
BASILIS BOUTSINAS
Dept. of Business Administration,
Management Information Systems & Business Intelligence Lab,
University of Patras Artificial Intelligence Research Center,
University of Patras
26500 Rio, Patras, Greece
vutsinas@upatras.gr

Received (Day Month Year)


Revised (Day Month Year)
Accepted (Day Month Year)
An area of focus in music improvisation is interactive improvisation between a human
and a computer system in real time. In this paper, we present a musical interactive system
acting as a melody continuator. For each musical pattern given by the user, a new one
is returned by the system which is built by using general patterns for both pitch and
duration stored in its knowledge base. The latter consists of data mining rules extracted
from different sets of melodies for different musical styles. The proposed system uses a
new music representation scheme which treats separately pitch and duration. Also, it
adopts a similarity measure initially developed for clustering categorical data. Moreover,
we present experimental results, using Bachs Chorales and Jazz as test inputs, for both
assessing the aesthetic quality of the proposed system and comparing it to human results.
performance
Keywords: Musical pattern matching; computer-assisted music analysis; Music representation.

1. Introduction
Computer music systems based on AI are of three major types: compositional, improvisational and performance.33 Compositional systems aim at automatic music
This

research project (PENED) is co-financed by E.U.-European Social Fund and the Greek
Ministry of Development-GSRT.
1

November 2, 2011

13:11

WSPC/INSTRUCTION FILE

musicimprovl4

C. Halkiopoulos, B. Boutsinas

generation based on an algorithmic paradigm. Since the Illiac Suite, a string quartet composed by a generate-and-test approach,17 a great number of such systems
have been proposed in the literature (see Mantaras and Arcos,33 Papadopoulos and
Wiggins39 for a review). Improvisational systems aim at automatic generation of
variations over certain music input provided by the user. Several of such systems
operate in real-time. Similarly to compositional systems, a lot of effort has been
devoted to improvisational ones since the early work of Flavors Band (see Mantaras
and Arcos,33 Rowe43 for a review). Finally, there is an increasing interest in performance systems, which aim at automatic generation of expressive performance of a
piece of music (see see Mantaras and Arcos33 for a review). A performance system
tries to model the expressiveness, i.e. knowledge applied when performing a score,
by means of rules incorporating certain musical parameters, i.e. loudness, vibrato,
rubato and articulation.
An area of focus in improvisational systems is interactive improvisation between
a human and a system in real time.40 In general, the term musical interactive system encompasses all systems which depend on the users actions to generate sound
and also includes systems which interact musically with the user (see Robertson
and Plumbley40 for an overview). Such systems include, apart from automatic improvising, automatic accompaniment11 and continuations of musicians input.38
Several of the interactive improvisational systems proposed in the literature
are designed for jazz improvisation.4,24 They are often based on predictive theories
which are often related to stochastic models that estimate the probability for musical
elements to appear in a given musical context. Several of such models are Markov
chains, but there are more, such as dictionary-based prediction.2 A lot of earlier
systems are based on explicitly coding music rules in some logic or formal grammar.9
A system to be able to accomplish interactive improvisation has to solve several
problems dynamically, during actual performance, such as note and rhythm selection
that are of interest to the listener, after reacting to inputs from the human.24
In this paper, we present a musical interactive system (POLYHYMNIA) acting as melody continuator in real time. In the proposed system, note and rhythm
selection is reduced to two very important issues in computer music: music representation and musical pattern similarity. We present new approaches for these issues
based on data mining.
The key idea of the proposed approach is based on the fact that musical perception is guided by expectations connected to the recent past context. More specifically, it is based on perception of the relations between successive notes of a musical
pattern: it seems that when we hear a new note, the last one that has just been
heard remains active in our mind and buffered in a so called short term memory.27
The limited extension of short term memory should be defined both in terms of
time (no more than 15 sec., for instance) and size (no more than 7 elements, for
instance).27
For each musical pattern in the short term memory, (given by the human), the
proposed system recalls similar general patterns for both pitch and duration stored

November 2, 2011

13:11

WSPC/INSTRUCTION FILE

musicimprovl4

Automatic interactive music improvisation based on data mining

in its memory in the form of data mining rules. Similarity is expressed along both
pitch and rhythm.
In this paper, association rule mining1 is applied in order to extract important features of different musical styles hidden in the patterns of both pitch and
rhythm. Pitch and rhythm patterns are formed by segmenting musical fragments of
a certain number of bars into subfragments that have the same melodic direction.
The extracted association rules are stored as general patterns in the general pattern knowledge base. Then, during improvisation, any recalled general patterns is
randomly modified forming the output of the proposed system.
In the rest of the paper we first present the proposed music representation scheme
(Section 2) and the adopted musical pattern similarity measure (Section 3). Then,
we present the architecture of the proposed system (Section 4). Finally, we present
experimental results (Section 5) and we conclude (Section 6).
2. The proposed music representation scheme
The proposed system exploits the benefits of data mining techniques to extract
hidden patterns for different musical styles. However, a proper music representation
scheme is a prerequisite for the application of such techniques.
In the following subsections, after discussing data mining in the context of music
representation, we propose a scheme for monophonic music representation. Using
the proposed scheme, the representation of musical patterns can be directly used
as input into common data mining algorithms without any preprocessing. Thus, it
is worth to mention that the motivation behind the proposed scheme is to strongly
satisfy data mining input requirements.
2.1. Music representation and AI
Artificial Intelligence was early related to music representation and analysis within
the computer music field. In general, the application of artificial intelligence techniques to music representation and analysis is based on either a Gestalt-based approach, where a predefined set of rules or principles is used, or on a memory-based
approach, where a corpus of grouping structures of previously encountered musical
pieces is used.
A lot of AI methodologies were applied as mathematical models, genetic algorithms, neural networks, hybrid systems and machine learning - symbolic systems.
For instance, following mainly the Gestalt-based approach, there have been numerous attempts to describe music in more or less grammatical terms. The common
idea to most of those approaches is that in music a grammatical formalism may
be used to give a finite (and therefore manageable) description of an infinite (and
therefore intractable) set of structures.
Moreover, machine learning tasks, like classification, prediction, forecasting, and
the extraction of patterns and regularities from data, were early used both in music

November 2, 2011

13:11

WSPC/INSTRUCTION FILE

musicimprovl4

C. Halkiopoulos, B. Boutsinas

practice and in music research.50 It seems that data analysis and knowledge discovery capabilities of machine learning methods are very promising, supporting the
human analyst in finding patterns and regularities in collections of real data. In
music, as in various other applications, machine learning is often adopted through
inductive learning algorithms where concepts are learnt from examples. Musical
scores, as examples, have been also used as input to artificial neural networks, in
order to learn habitual characteristics within compositions.25 There are also some
attempts based on analytical learning, like Explanation Based Learning51 where
the learning system is provided with music knowledge in order to guide the learning
process.
In the literature, the term music data mining has been related to the application of machine learning algorithms.42,53 Data mining in music analysis aims
at detecting, discovering, extracting or inducing of melodic or harmonic
(sequential) patterns in given sets of composed or improvised works, (see Rolland
and Ganascia42 for a definition). Lately, apart from mining music patterns forming traditional data sets, mining music patterns represented as data steams is also
proposed.14
We have found only a few examples of using data mining association, classification and clustering algorithms in extracting general patterns for different musical
styles in memory-based systems. In Shan and Kuo45 the application of association
rule mining is used in order to find out the syntactic description of musical style.
The authors chose to represent chords in whole melody or in chorus as a music
feature that influence musical style. Items, in input data set, are formed by either
chords, or bi-grams: adjacent pairs of chords or n-grams: a sequence of chords. In
Dannenberg et al.10 artificial neural networks, linear and Bayesian classifiers are
used for the same problem. Also, the combination of rules extracted by ensemble of
simple classifiers is used in Widmer,52 in order to extract rules covering the expressive music performance. In Liu et al.29 a hierarchical clustering algorithm is used
for music clustering based on key. In Hothker20 clustering is applied to 88 Chinese
Shanxi melodies from the city of Hequ and 30 German children songs from the
Essen database to extract abstract motive sequences.
2.2. The proposed scheme
Melodies should be represented in a multi-dimensional space. Examples of such
dimensions are pitch, duration, dynamics and timbre. Thus, as in most of music
representation schemes proposed in the literature, we choose to represent pitch and
duration as basic acoustical music features. However, the proposed approach treats
pitch and duration separately. To our knowledge, in the proposed in the literature
music representation schemes, the pitch and duration representations of a melody
are kept together within the representation of notes.
The proposed music representation scheme (preliminary results have been presented in Halkiopoulos and Boutsinas16 ) can be used for data mining analysis which

November 2, 2011

13:11

WSPC/INSTRUCTION FILE

musicimprovl4

Automatic interactive music improvisation based on data mining

aims at learning general patterns for both pitch and duration in certain musical
styles. Input data are melodies of musical pieces, i.e. sequences of notes. In a polyphonic pattern, we consider that the first voice constitutes a melody.
2.2.1. Pitch representation
The proposed scheme adopts an absolute pitch representation measuring the absolute values of the events in series. Although many computer-aided musical applications adopt an absolute numeric pitch and duration representation, it is stated8
that the absolute pitch encoding may be insufficient for applications in tonal music, as it discards tonal qualities of pitches and pitch intervals. For example, a
tonal transportation from a major to minor key results in a different encoding of
the musical passage and thus exact matches cannot detect the similarity between
the two passages. Thus, transpositions are not accounted for (e.g. the repeating
pitch motive in bars 1 & 2 in Fig. 1, taken from Cambouropoulos et al.8 ). Transposition is paramount in understanding musical patterns. Thus, pattern-matching
and pattern-induction algorithms are developed primarily for sequences of pitch
intervals.8 However, association rule mining1 for instance, could extract the rule:
C#,D C, (i.e. melodies that include C# and D also include C), if input data
include sufficient number of bars identical to the first bar in Fig. 1. But such a rule,
for various analysis purposes (e.g. composition or matching), could represent also
the fourth bar in Fig. 1.

Fig. 1.

Beginning of theme of the Amajor sonata by Mozart

The proposed representation scheme is based on a typical MIDI channel as the


source of melodies. In what follows, we describe pitch representation through an
example application to the musical piece shown in Fig. 2.

Fig. 2.

An example musical piece.

Initially, the input melody is defined using the information provided by a typical

November 2, 2011

13:11

WSPC/INSTRUCTION FILE

musicimprovl4

C. Halkiopoulos, B. Boutsinas

MIDI channel message sequence, (a number from 0 to 127 for every possible note
pitch, Key signature, etc), with the help of msq files.26
The proposed system adopts a memory-based approach, opposed to a Gestaltbased approach. In listening to a piece of music, the human perceptual system
segments the sequence of notes into groups or phrases that form a grouping structure for the whole piece. However, several different grouping structures may be
compatible with a melody, i.e. a sequence of notes. Gestalt principles of proximity
and similarity and the principle of melodic parallelism could be used for segmenting
the melodies. If we wish to propose a memory-based approach to music as a serious
alternative to a Gestalt-based approach, we should address the question of how any
structure can be acquired if we do not have any structured pieces in our corpus to
start with.
Thus, the proposed music representation scheme imposes that input melody is
segmented into fragments. A new table is included in the input database, in which
a new line is created for each fragment, based on the primary line that has been
imported by the msq file by name midi note : [60,64,60,62,64,65,67,59,60] (removing
the double entries in which velocity value = 0). Then, each fragment is further
segmented into fragments that have the same melodic direction, i.e. either upwards
or downwards, such as: [60,64],[64,60],[60,62,64,65,67],[67,59],[59,60].
Since the input records are fragments that have the same melodic direction, the
melody segmentation is a straightforward task that could be performed automatically. However, in the general case, one could choose certain fragments of a melody
by adopting an automatic (e.g. Cambouropoulos7 ) and/or manual melodic segmentation technique. However, it is true that there are a lot of acceptable segmentations
of a musical piece.
For an efficient application of association rule mining algorithms, the final fragments are sorted in ascending order of midi note. Moreover, a new column is added
holding information about the melodic direction, i.e. ascending (1) or descending
(0). Thus, the input table for association rule mining, called melody, is formed
as in Table 1.
Table 1.

Table melody

id

direction

note No1

note No2

note No3

note No4

note No5

T1
T2
T3
T4
T5

1
0
1
0
1

60
60
60
59
59

64
64
62
67
60

64

65

67

For classification and clustering each final fragment is represented as a 128 dimensional binary vector, since each one of its notes corresponds to a number from

November 2, 2011

13:11

WSPC/INSTRUCTION FILE

musicimprovl4

Automatic interactive music improvisation based on data mining

0 to 127 (midi note number). The existence of a specific note in a fragment is indicated by 1 while its absence by 0. Moreover, a column is also added holding
information about the melodic direction, i.e. ascending (1) or descending (0). Thus,
the corresponding input table, called melody s is formed as in Table 2.
Table 2.

Table melody s

id

direction

59

60

61

62

63

64

65

66

67

68

T1
T2
T3
T4

0
1
0
1

0
0
0
1

1
1
1
0

0
0
0
0

0
0
1
0

0
0
0
0

1
1
1
0

0
0
1
0

0
0
0
0

0
0
1
0

0
0
0
0

2.2.2. Duration representation


Rhythm is the arrangement of sounds in time. Meter animates time in regular pulse
groupings, called measures or bars. The time signature (variable TS) or meter
signature specifies how many beats are in a measure, and which value of written note
is counted and felt as a single beat. Through increased stress and attack (and subtle
variations in duration), particular tones may be accented. There are conventions
in most musical traditions for a regular and hierarchical accentuation of beats to
reinforce the meter.
The key idea of the proposed representation scheme is to indicate which discrete
values of time a rhythm event happens. It does not adopt duration ratios. Thus,
according to the proposed scheme, the rhythmic patterns shown in Fig. 3 (taken from
Cambouropoulos et al.8 ) do not match. Of course, one could argue that duration
rations could result in mismatching of the left rhythmic pattern in Fig. 3 to the
one shown in Fig. 4, which is not true. Note that the proposed scheme represents
duration in such a way that the left rhythmic pattern in Fig. 3 and the one shown
in Fig. 4 match. The latter is confirmed also by an experiment in HofmannEngl18
investigating the splitting of durations, where the result is that the smaller the split
ratio the larger the measured similarity. On the other hand, association rule mining
for instance, encourage the items in transactions to be sorted. This could not be
achieved using duration rations.
The proposed representation scheme is based on a typical MIDI channel as the
source of rhythm patterns. In what follows, we describe duration representation
through an example.
According to MIDI Representation System, time intervals are defined by the
value of variable Ticks. First, we convert all the MIDI files with the value of
Ticks equal to t, i.e., the number of ticks for whole time. For the analysis of
rhythm patterns, the maximum rhythmic length is assigned to i bars of whole

November 2, 2011

13:11

WSPC/INSTRUCTION FILE

musicimprovl4

C. Halkiopoulos, B. Boutsinas

Fig. 4. Rhythmic patterns matching at the


level of duration ratios.

Fig. 3. Rhythmic patterns matching at the


level of duration ratios.

time, namely upto the value t i. The latter constraint is imposed by the data
base management system used for the implementation. For example, if t = 64 we
use the time intervals described in Table 3.
Table 3.
64
32
16
8
4
2
1

Time intervals

Whole Note (1)


Half Note (2)
Quarter Note (4)
Quaver (8)
Semi Quaver (16)
Demi Semi Quaver (32)
Hemi Demi Semi Quaver (64)

For association rule mining, rhythm patterns of extracted fragments described in


the previous subsection are represented in the table of the database called rhythm,
in which a new line is created for each melody final fragment. For example, setting
t = 64 and i = 2, the table rhythm is formed as in Table 4. Each final fragment
is represented as a 128 dimensional binary vector.
Table 4.

T1

16

24

Table rhythm
32

48

56

63

79

96

For classification and clustering each final fragment is also represented as a 128
dimensional binary vector, since each time corresponds to a number of ticks. An
event within a fragment is indicated by 1 while its absence by 0. Thus, the
corresponding input table, called rhythm s is formed as in Table 5.
Table 5.

Table rhythm s

id

16

24

32

48

56

63

79

96

T1

November 2, 2011

13:11

WSPC/INSTRUCTION FILE

musicimprovl4

Automatic interactive music improvisation based on data mining

3. The adopted musical pattern similarity measure


In the last decade, musical pattern similarity is a major subject of research in
computer music. A common approach of musical pattern similarity is to compare a
query to a melody as a whole, using a similarity measure.
Musical pattern similarity can be particularly useful for various tasks in
computer-assisted music analysis, such as melody identification and musical retrieval. Moreover, musical pattern similarity is used for melodic search and comparison which are essential components for computer accompaniment systems. Other
example applications of musical pattern similarity are adaptive music editing or
composition systems as well as automatic classification and characterization of
styles, authors or music performers.
Two parameters are considered for musical pattern similarity: Pitch and Duration. However, there are attempts to consider more parameters or to consider
psychological instead of physical parameters.18
The proposed system needs a musical pattern similarity measure in order to
retrieve the most similar, to the user input, general musical pattern stored in its
knowledge base. The proposed system adopts a similarity measure used in clustering algorithms. After discussing the various musical pattern similarity measures
presented in the literature, we present the adopted measure.
3.1. Related musical pattern similarity measures
In the computer music literature, there are various proposed similarity measures.
Earlier attempts were predominantly influenced by string matching algorithms
which are based on the edit distance between a source string and a target string (see
e.g. exact6 or approximate41 pattern matching, the dynamic programming,46 etc).
The edit distance is calculated in terms of what and how many edit operators (such
as delete, insert and replace) have to be applied in order to turn source string into a
target string. Melodic similarity between a source and a target melody is calculated
as the minimal sum of the weights that result from transforming the source melody
into the target melody.
However, there are also other measures such as the geometric measure,30 the
transportation distances,47 the musical artist similarity,13 probabilistic similarity
measures for MIDI21 or GUIDO,19 the statistical similarity measure12 and graph
based similarity.27 Moreover, various comparative studies have been presented in
the literature (e.g. M
ullensiefen and Frieler37 ).
There are also indexing techniques where complete monophonic pieces are indexed for their motifs, using classes of motif contours. Then, similarity relations between these classes can be used for a very efficient search (e.g. Weyde and Datzko49 ).
Finally, a visualization of the differences of musical patterns30 , with respect to
a similarity measure, is suggested in order to support user.
Such similarity measures are dedicated to musical patterns. For instance, the
edit distance presented in Hothker20 is defined as:

November 2, 2011

10

13:11

WSPC/INSTRUCTION FILE

musicimprovl4

C. Halkiopoulos, B. Boutsinas
Pn Pn

xori,j (X,Y ))

i=1
j=i+1
d(X, Y ) =
,
((n1)n/2)
where X = x1 , . . . , xn , Y = y1 , . . . , yn are abstract motive sequences (musical patterns) and

V
W
V
0, if (xi = xj yi 6= yj ) (xi 6= xj yi = yj );
V
xori,j (X, Y ) =
1, if (xi = xj yi = yj ).
Also, the geometric measure31 is defined as:
Pn
d(X, Y ) = i=1 |xi yi m|wk wstress
,
where X = x1 , . . . , xn , Y = y1 , . . . , yn are musical patterns with xi , yi be the pitch
of the notes, m is the number of semitones that the second tune pattern is transposed to minimize the difference, wstress the weight derived from metrical stress,
and wk the width of window k. The measure is calculated in time windows. A time
window unit is the duration of the shortest full note at that particular point in the
score.
The proposed system adopts a similarity measure used in clustering algorithms.
Note that, at first, similarity measures have been widely studied in the scientific
field of clustering. In clustering algorithms, if the musical patterns are represented
by using sequences of numerical data, then such (dis)similarity measures are the
squared Euclidean Distance, the inner product, etc. If they are represented by using sequences of categorical data, then one solution is to code the categorical data
numerically and, subsequently, to use numerical clustering methods. The weakness
of this solution is that the semantics of the categorical data may be lost. The usual
solution to the latter problem is the overlap measure which defines dissimilarity
based on the number of mismatches. Under such simple but commonly used measure, for two possible data values xi and xj , the dissimilarity is defined as zero
(0) when xi and xj are identical and one (1) otherwise. Thus, edit distance is a
kind of overlap measure. The weakness of the overlap measure is that it gives equal
importance to each data attribute.
A lot of variants of the overlap measure are presented in the literature trying
to tackle this problem. For instance, in Medin and Schaffer35 dissimilarity is represented as parameters corresponding to those attributes that two objects differ in.
Those parameters are set to the interval (0, 1]. Note that in the case where those
parameters are set to zero, dissimilarity is reduced to the standard overlap measure. As another example, consider the k-modes clustering algorithm22 applied to
categorical sequences of size m, i.e., described by m categorical attributes. In this
clustering algorithm the chi-square distance15 is used, which takes into account the
frequencies of the attribute values with respect to the whole data set. Formally,
if A, B are two categorical sequences of size m then the dissimilarity measure is
defined as22 :
Pm (na +nb )
dx2 (A, B) = j=1 (naj nb j) (aj , bj ), where naj , nbj are the numbers of input obj

jects that have values aj and bj for attribute j and

0, if aj = bj ;
(aj , bj ) =
1, if aj 6= bj .

November 2, 2011

13:11

WSPC/INSTRUCTION FILE

musicimprovl4

Automatic interactive music improvisation based on data mining

11

Finally, there are also various other clustering similarity measures applied to
structured data, (see Boutsinas and Papastergiou5 for an overview), e.g. tree structured data, which would not significantly contribute to musical pattern similarity.
3.2. The adopted clustering similarity measure
The proposed system (POLYHYMNIA) adopts a recent clustering measure34 , although it has a high time complexity. It is based on the above dissimilarity
measure22 and key elements of the methodological framework of the ELECTRE
I multicriteria method.44 This four-step dissimilarity measure is structured according to three basic principles: (1) The degree of resemblance between an object
and a mode, identified according to a difference which is based on the number of
matches/mismatches in their common attributes, (2) the strength of the mode in
terms of the attributes that positively influence the above resemblance and (3) the
existence of attributes (veto attributes) in which the difference between the object
and the mode is considered so significant that the object cannot be assigned to the
cluster signified by the mode. Based on these principles, the dissimilarity measure
chooses the most appropriate mode and assigns a particular object to the modes
corresponding cluster.
In the proposed system, we consider that musical patterns are represented by using sequences of categorical data. In order to evaluate clustering similarity measures
when applied to musical pattern similarity, we formed train datasets from 40 Bachs
Chorales (www.jsbchorales.net), after transposing all to C Major key and adopting
the proposed pitch and rhythm representations described in Section 2. More specifically, we formed two different train datasets for pitch and rhythm respectively. The
source of melodies is a typical MIDI channel.
For the analysis of pitch, each melody is segmented into melody fragments (see
previous Section). Each melody fragment is further segmented into final pitch subfragments that have the same melodic direction, i.e. either upwards or downwards.
Pitch train dataset is stored in a table, where a new line is created for each final pitch
subfragment. Each final pitch subfragment is represented using a 128-dimensional
binary vector. Pitch train dataset has 950 rows.
For the analysis of rhythm, each rhythm fragment is assigned to 2 or 4 bars of
whole time, namely upto the value 64x2=128 or 64x4=256 (64 ticks for whole
time). Thus, we use two different train datasets for rhythm. Those rhythm train
datasets were stored in tables, where a new line is created for each rhythm fragment.
Each rhythm fragment is represented using a a 128-dimensional or a 256-dimensional
binary vector, since we chose the first 2 or 4 bars from each Choral respectively.
Each rhythm train dataset has 40 rows.
Moreover, adopting the proposed representation scheme, we form two test
datasets containing melody fragments to be tested for similarity to those of the
train datasets. Those melody fragments are synthesized by a musician (Christos Pouris, Composer, Pianist, Director of the National Conservatory-Annex of

November 2, 2011

12

13:11

WSPC/INSTRUCTION FILE

musicimprovl4

C. Halkiopoulos, B. Boutsinas

Vrilissia-Athens, Greece, xpouris@otenet.gr) in such a way that each one of them is


the most similar to one of the fragments in train datasets, according to the musician,
as far as pitch or rhythm is concerned. Melody test dataset consists of 99 rows while
rhythm test dataset consists of 5 rows. Then, for each fragment in test datasets, its
most similar in corresponding train datasets was searched automatically by using
the edit distance, the overlap measure,22 and the adopted measure.34
Table 6.
attribute
pitch

duration

evaluation results

measure
edit distance
overlap
adopted
edit distance
overlap
adopted

hits
95.5%
97%
100%
94%
98%
100%

returned fragments
5.3
6.2
1
3.4
4.2
1

Experimental tests show that the edit distance and overlap measures are not
suitable for the musical pattern similarity task of the proposed system, since their
application results in a set of equally similar patterns w.r.t. either pitch or rhythm.
For instance, as far as pitch is concerned, the application of the edit distance measure
results in 5.3 returned fragments on the average as equally most similar to a test
fragment (see column returned fragments in Table 6). Thus, at least 5 fragments
on the average are returned as most similar to each test fragment. Of course, the
most similar fragment according to the musician was included in the set of most
similar fragments in 95.5% of the pitch cases for the edit distance (see column hits
Table 6).
However, the proposed system has to select only one fragment out of the set of
most similar fragments and there is no way to choose the most similar fragment
according to the musician. The adopted measure calculates only one fragment as
the most similar. Moreover, it exhibits 100% accuracy for pitch (w.r.t. musician
judgement). Note that accuracy results are similar as far as rhythm experimentation
is concerned.
Moreover, the adopted measure can exploit the veto attributes in order to
guide similarity even in cases where sophisticated similarity measures, dedicated to
musical patterns, could not handle correctly. For instance, a C-major (60, 64, 65,
67) and a C-minor (60, 63, 65, 67) sequence can match, e.g. using -approximate
matching with tolerance = 1.8 Using the adopted measure, a veto for 63 or
64 can be assigned based on Key signature. Thus, such incorrect matchings can be
excluded.
4. System Architecture
The proposed system, POLYHYMNIA, is a musical interactive system acting as
melody continuator. For each musical pattern given by the user, it recalls a sim-

November 2, 2011

13:11

WSPC/INSTRUCTION FILE

musicimprovl4

Automatic interactive music improvisation based on data mining

13

ilar general pattern stored in its memory which after a random modification is
outputted. The systems ability to collaborate with the user is based on parsing
continuous streams of natural data (called musical patterns or motifs) and then
determining indirectly the functions of human gestures by choosing the next musical pattern following the current past context. Such interaction is analogous to a
conversation paradigm; there is a sequence of spontaneous utterances determined
within a collaborative structure that is interactively managed by the participants.
The key ideas behind the proposed system is to treat pitch and rhythm of each
musical pattern separately and also to form its response to user input by combining
modified general patterns for pitch and rhythm stored in its knowledge base. The
size of the latter is small, since it does not consist of a great number of musical
patterns extracted from known melodies of a certain musical style (e.g. jazz), as it
is the usual case. Instead, it consists of data mining rules. Those rules are extracted
in a preprocessing phase, from sets of musical patterns belonging to known melodies
of certain musical styles. Thus, the size of the knowledge base supports its response
in real time.
The system architecture is shown in Fig. 5. At first, the musician determines the
input musical pattern to which a response from the system is required. The musician
uses a key press on the computer keyboard in order to signal both the beginning
and the end of the input musical pattern. Then, the system transforms the input
musical pattern from MIDI to the proposed knowledge representation scheme (see
Section 2).
In general, the knowledge base of the proposed system consists of classification,
clustering and association rules extracted during a preprocessing phase. However,
in this paper, we evaluate it for only association rules. The knowledge base could
be tailored to any certain musical style. This is accomplished by using a training
set of musical patterns taken from melodies of a certain musical style. Note that
the set of data mining rules included in the knowledge base of the system are also
represented by using the same knowledge representation scheme.
Thus, the system can find the most similar to the input musical pattern data
mining rule, by using the similarity measure presented in Section 3. The selected
data mining rule is modified by randomly applying one of the following four certain
operators: substitute, insert, delete and swap. The implementation of these
simple operators is easy, compared to similar operators, for instance to those defined
within evolutionary computer music.36 The substitute operator randomly chooses
a pitch or a duration of the selected data mining rule and changes it to another pitch
of the same key signature or to another duration. The insert operator inserts to
a random location a pitch of the same scale or a duration. The delete operator
deletes a randomly chosen pitch or duration of the selected data mining rule. The
swap operator randomly selects either two pitches or two duration and swaps
their location within the selected data mining rule. Note, that only one operator
is applied each time. An operator is randomly and independently selected both for
pitch and for duration.

November 2, 2011

14

13:11

WSPC/INSTRUCTION FILE

musicimprovl4

C. Halkiopoulos, B. Boutsinas

Fig. 5.

System Architecture

Then, the system aligns pitches and durations by trying to assign a duration to
a pitch or the opposite, according to what set is smaller. Finally, if needed, rests
are added properly in order to fit the time signature. Notice that both the key and
the time signature are inputs to the system.
According to the above, the retrieved musical pattern is not just a version of the
input musical pattern. The retrieved musical pattern is generated by an alignment
of two similar general musical patterns, one for pitch and the other for duration.
That is, the similarity of the input musical pattern is not based on pitch and rhythm
simultaneously, as it is the usual case in the related systems. In the proposed system,
the similarity is defined independently for pitch and for duration. Also, notice that
the random perturbation of the general musical patterns by applying the operators

November 2, 2011

13:11

WSPC/INSTRUCTION FILE

musicimprovl4

Automatic interactive music improvisation based on data mining

15

further contributes in generating an improvisation.


Finally, the system transforms the final pattern to MIDI and notifies the user
that it is ready to deliver its response to users input. Afterwards, the system comes
into a waiting cycle. It is assumed that the user continues improvisation after signaling the beginning and the end of the input musical pattern. After system signaling
its readiness to respond, the user chooses the proper time and signals systems
improvisation. The whole cycle is repeated at users will.

5. Experimental results
In order to evaluate POLYHYMNIA as a melody continuator, we set up, as test inputs, two different knowledge bases using association rules for two different musical
styles: jazz and Bachs Chorales. Notice that a lot of research in music analysis has
been performed for these two styles already.
More specifically, using the proposed music representation scheme, we represented the 414 known Bachs Chorales (www.jsbchorales.net) and 101 jazz melodies.
For each musical style, as far as pitch is concerned, we formed a training set consisting of all the fragments that have the same melodic direction, in all the input
melodies. Therefore, there was not any segmentation of melodies. Thus, the training
sets (see tables melody and rhythm in Section 2) were built automatically. As
far as duration is concerned, we formed a training set consisting of fragments of two
bars.
In the case of Bachs Chorales, 55749 melodic fragments of the same melodic
direction were created for pitch, while 1777 two-bar melodic fragments were created
for duration. Then, the Apriori algorithm1 for association rule mining was applied.
In this way, 409 association rules were extracted for pitch, after setting minimum
support to 2% and minimum confidence to 0%. Also, 1543 association rules were
extracted for pitch, after setting minimum support to 5% and minimum confidence
to 0%. In the case of jazz melodies, 274783 melodic fragments of the same melodic
direction were created for pitch, while 871 two-bar melodic fragments were created
for duration. Applying the Apriori algorithm, 172 association rules were extracted
for pitch, after setting minimum support to 2% and minimum confidence to 0%.
Also, 3765 association rules were extracted for pitch, after setting minimum support to 5% and minimum confidence to 0%. Note that the above rules formed the
knowledge base of POLYHYMNIA for this test. A typical such rule consists of 3-5
pitches or 8-12 durations, e.g.:
Table 7.
extracted from
Bachs Chorales
Jazz melodies

pitch
60,66,6764
Confidence=92% Support=24%
62,63,64,6560
Confidence=88% Support=22%

Example rules
duration
48,96,128,160,176,192,208,224256
Confidence=95% Support=21%
48,64,80,96,112,128,160,192,208,224,240,256,288176
Confidence=67% Support=12%

November 2, 2011

16

13:11

WSPC/INSTRUCTION FILE

musicimprovl4

C. Halkiopoulos, B. Boutsinas

It is difficult to evaluate music quality based on some sort of measures. Thus, we


have conducted experimentations with the proposed system assessing two aspects:
assessing the aesthetic quality of its output results and assessing how the latter
differ from human output results.
In order to assess the aesthetic quality of improvisations generated by POLYHYMNIA, we set up a web page48 uploading many audio examples in the form of
pairs consisting of input and output musical patterns.
For instance, in Fig. 6, one input musical pattern composed according to Bachs
Chorales style is depicted (the first two bars) along with the musical pattern returned by POLYHYMNIA (the last two bars). Also, in Fig. 7, one input musical
pattern composed according to jazz style is depicted (the first two bars) along with
the musical pattern returned by POLYHYMNIA (the last two bars).

Fig. 6.

Input and output musical patterns for Bachs Chorales style

Fig. 7.

Input and output musical patterns for jazz style

In Fig. 8, a whole melody is composed by POLYHYMNIA based on Bachs


Chorales style, after giving repeatedly every successive output as a new input for a
new retrieval phase.
Moreover, we have conducted experimentations rating how systems output differs from humans one, as in Pachet.38 We have conducted tests to check whether
listeners could tell when the system is playing or not.
We formed three different groups of listeners. The first one consisted of 20 experts, i.e., teacher musicians at the National Conservatory-Annex of Vrilissia in
Athens, Greece. The second one consisted of 20 student musicians of the latter
conservatory. While the third one included 21 listeners without prior studies in music. To the listeners of the first and second group, during a lecture-demonstration
class, we presented two different continuations of 30 melodies taken from 30 different Bachs Chorales. The first continuation was composed by POLYHYMNIA

November 2, 2011

13:11

WSPC/INSTRUCTION FILE

musicimprovl4

Automatic interactive music improvisation based on data mining

Fig. 8.

17

A melody composed by POLYHYMNIA

(without any post processing of the output) while the second one by an expert
(Christos Pouris, Composer, Pianist, Director of the National Conservatory-Annex
of Vrilissia-Athens, Greece, xpouris@otenet.gr). After each melody demonstration,
listeners of the first and second group were asked to indicate which continuation
seems to be the original. Results are shown in Table 8. It seems that most listeners
considered POLYHYMNIAs output as the original one.
Afterwards, the official continuation along with those composed by POLYHYMNIA and the expert were demonstrated and for each continuation the listeners were
asked to indicate whether they consider it similar to the official one. Results are
shown in Table 9. It seems that more than 2/3 of the listeners in the first and second
group considered POLYHYMNIAs output (as well as experts output) similar to
the original one.
Finally, the official continuation along with that composed by POLYHYMNIA
were demonstrated and for each melody the listeners of the third group were asked
to indicate whether they consider the continuations similar. Results are shown in
Table 10.
6. Discussion and conclusion
Using the set up presented in the previous section, POLYHYMNIA was tested
as melody continuator by different human performers (teacher musicians at the
National Conservatory-Annex of Vrilissia in Athens, Greece) on jazz and Bachs
Chorales. Performers agree on that POLYHYMNIA is very promising and some
times they were stumped by its response, while usually the system inspires them.
Notice that performers evaluated the overall output of POLYHYMNIA. The extracted pitch and rhythm patterns as well as the randomly applied operators were
not known to the performers.
Moreover, POLYHYMNIA could be used for synthesizing a whole melody, simply
by repeatedly giving as input the last output musical pattern (see POLYHYMNIAs
web page48 for examples).
As a technical result, the use of a clustering similarity measure for musical pattern similarity, based on the proposed specific music representation scheme, seems

November 2, 2011

18

13:11

WSPC/INSTRUCTION FILE

C. Halkiopoulos, B. Boutsinas
Table 8.

melody
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
average

musicimprovl4

POLYHYMNIA vs expert evaluation results

POLYHYMNIA (group 1)
55%
52.5%
50%
52.5%
47.5%
60%
47.5%
60%
47.5%
62.5%
50%
47.5%
65%
62.5%
52.5%
47.5%
65%
67.5%
62.5%
67.5%
50%
65%
50%
47.5%
62.5%
50%
40%
37.5%
47.5%
50%
54.08%

expert (group 1)
45%
47.5%
50%
47.5%
52.5%
40%
52.5%
40%
52.5%
37.5%
50%
52.5%
35%
37.5%
47.5%
52.5%
35%
32.5%
37.5%
32.5%
50%
35%
50%
52.5%
37.5%
50%
60%
62.5%
52.5%
50%
45.92%

POLYHYMNIA (group 2)
65%
70%
60%
55%
45%
70%
75%
50%
45%
65%
45%
50%
75%
65%
75%
50%
65%
75%
65%
75%
45%
75%
65%
50%
75%
45%
40%
30%
45%
45%
58.5%

expert (group 2)
35%
30%
40%
45%
55%
30%
25%
50%
55%
35%
55%
50%
25%
35%
25%
50%
35%
25%
35%
25%
55%
25%
35%
50%
25%
55%
60%
70%
55%
55%
41.5%

very encouraging and tends to prove the pertinence of its application to automatic
interactive music improvisation. The latter is also true for using data mining rules
as general musical patterns of pitch and rhythm separately. Of course, the above
are true under the subjectivity associated with the performed experimental results.
On the other hand, there are technical issues that must be addressed. For instance, the format of user input. Theoretically, the length of the input music pattern
is not limited, since any size could be handled by the similarity measure. However,
due to the way the knowledge base is built (as melodic fragments that have the same
melodic direction, i.e. either upwards or downwards) the output music pattern can
usually have a small size (up to six in the presented experiments). Of course, a lot
of heuristics could be applied in order to tackle the problem, e.g. to combine more
than one general pattern from the knowledge base or to extensively use the insert
operator during the modification of the recalled from the knowledge base rule.
In general, the proposed system is designed to interact with a human in real
time. The main designed characteristics are imposed by time constraints. Thus,

November 2, 2011

13:11

WSPC/INSTRUCTION FILE

musicimprovl4

Automatic interactive music improvisation based on data mining


Table 9.
melody
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
average

POLYHYMNIA (group 1)
80%
75%
72.5%
77.5%
70%
82.5%
70%
60%
50%
90%
70%
57.5%
80%
60%
80%
60%
80%
77.5%
80%
60%
82.5%
77.5%
60%
50%
77.5%
60%
45%
40%
47.5%
57.5%
67.67%

19

Similarity evaluation results

expert (group 1)
87.5%
85%
85%
82.5%
77.5%
87.5%
75%
70%
60%
92.5%
52.5%
50%
60%
75%
87.5%
60%
52.5%
75%
52.5%
50%
52.5%
87.5%
75%
52.5%
87.5%
60%
42.5%
37.5%
52.5%
42.5%
66.92%

POLYHYMNIA (group 2)
90%
95%
80%
75%
70%
90%
65%
55%
50%
85%
75%
55%
75%
65%
95%
75%
85%
80%
75%
55%
75%
80%
75%
55%
80%
55%
35%
30%
50%
50%
69.17%

expert (group 2)
95%
95%
90%
80%
75%
85%
70%
65%
55%
90%
55%
60%
65%
70%
85%
70%
65%
70%
65%
55%
60%
90%
85%
55%
90%
55%
45%
35%
60%
55%
69.67%

pitch and duration representation is designed to support the application of existing


fast data mining algorithms without modifications. Also, the proposed similarity
measure is adopted because it selects only one general musical pattern stored in the
knowledge base as the most similar to the given one. Finally, the four simple operators (substitute, insert, delete and swap) used for modifying the selected
general musical pattern are adopted because of their easy and quick implementation.
Under other constraints, one could adopt other elaborating musical pattern similarity measures or operators. For instance, one could could use a similarity measure
based on edit distance20 and then combine the k most similar returned patterns
using operators of evolutionary computer music before allowing a human mentor to
decide which is the best one.4
We plan to extend the music features that POLYHYMNIA can handle to static
(e.g. key, tempo) and thematic (e.g. chords) features. To this end, we are currently
working on extending the proposed music representation scheme in order to represent actual performances of melodies by human performers. Performances could

November 2, 2011

20

13:11

WSPC/INSTRUCTION FILE

musicimprovl4

C. Halkiopoulos, B. Boutsinas
Table 10. POLYHYMNIA vs original similarity evaluation results
melody
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30

POLYHYMNIA (group 3)
100%
95.24%
90.48%
85.71%
80.95%
85.71%
61.90%
76.19%
66.67%
100%
52.38%
61.90%
71.43%
76.19%
80.95%
76.19%
61.90%
71.43%
76.19%
71.43%
80.95%
95.24%
85.71%
71.43%
95.24%
66.67%
57.14%
47.62%
76.19%
66.67%

be represented by tempo and loudness information. Thus, the data mining analysis
would additionally provide general expression rules for the application of dynamics
(crescendo vs. decrescendo) and tempo (accelerando vs. ritardando). Such expression rules would enrich systems knowledge base with general musical patterns for
expressive performance. Thus, POLYHYMNIA could automatically generate expressive performance of outputted musical patterns.
Extending the music features that POLYHYMNIA can handle is a prerequisite for applying the proposed music representation scheme and the adopted
similarity measure to other related problems, such as the automatic genre
classification3,23,28,32,35 and the composer identification problem (see Music Information Retrieval Evaluation eXchange -MIREX- contests http://www.musicir.org/).
We also plan to include more sophisticated operators for modifying the selected
from the knowledge base data mining rule. More specifically, we plan to investigate
the application of certain rules taken from music theory for the modification.

November 2, 2011

13:11

WSPC/INSTRUCTION FILE

musicimprovl4

Automatic interactive music improvisation based on data mining

21

Finally, we plan to exploit the information included in the classification and


clustering rules also, since the presented experimental tests are based on association
rules only. This can be achieved by adding classification and clustering rules to
the systems knowledge base. Then, the response to user input can be achieved by
knowledge included in those rules. For instance, given a certain input pitch/duration
in a certain musical style, a classification rule indicates what pitches/durations can
be combined with the input pitch/duration in this musical style. As another example
of use, given an input set of pitches/durations in a certain musical style, a clustering
rule indicates another set of pitches/durations which is the most similar to the input
set general representative (medoid) of this musical style.
7. Acknowledgments
We wish to thank anonymous referees for their useful comments on this paper. Also,
we wish to thank N. Mastroyannis for his help during the tests.
References
1. R. Agrawal, H. Mannila, R. Srikant and A.I. Verkamo, Fast Discovery of Association
Rules, in Advances in Knowledge Discovery and Data Mining, eds. U.M. Fayyad, G.
Piatetsky-Shapiro and P. Smyth (AAAI Press/MIT Press, 1996), pp.307328.
2. G. Assayag, S. Dubnov and O. Delerue, Guessing the Composers Mind: Applying
Universal Prediction to Musical Style, in Proc. of the International Computer Music
Conference, International Computer Music Association, (1999), pp.496499.
3. R. Basili, A. Serafini and A. Stellato, Classification of musical genre: a machine learning
approach, in Proc. of Int. Conf. on Music Information Retrieval, ISMIR2004, (2004).
4. J.A. Biles, GenJam: A Genetic Algorithm for Generating Jazz Solos, in Proc. of the
International Computer Music Conference, International Computer Music Association,
(1994), pp.131137.
5. B. Boutsinas and T. Papastergiou, On clustering tree structured data with categorical
nature, Pattern Recognition. 41 (Elsevier Science, 2008), pp.36133623.
6. E. Cambouropoulos, Towards a General Computational Theory of Musical Structure,
Ph.D. Thesis, (University of Edinburgh, 1998).
7. E. Cambouropoulos, Musical Parallelism and Melodic Segmentation, in Proc. of the
XII Colloquium of Musical Informatics, (Gorizia, Italy, 1998).
8. E. Cambouropoulos, T. Crawford and C.S. Iliopoulos, Pattern Processing in Melodic
Sequences: Challenges, Caveats and Prospects, Computers and the Humanities. 34(4)
(2000).
9. D. Cope, An expert system from computer-assisted composition, Computer Music Journal. 11(4) (1987) 3046.
10. R.B. Dannenberg, B. Thom and D. Watson, A Machine Learning Approach to Musical
Style Recognition, in Proc. of International Computer Music Conference, ICMC97,
(1997).
11. R.B. Dannenberg, Music Information Retrieval as Music Understanding, in Proc. of
2nd Annual Intern. Symposium on Music Information Retrieval, (2001) pp.139142.
12. R. Engelbrecht, Statistical Comparison Measures for Searching in Melody Databases,
Tech. Report. University of Bonn, (2002).
13. D.P.W. Ellis, B. Whitman, A. Berenzweig and S. Lawrence, The Quest for Ground
Truth in Musical Artist Similarity, (2002).

November 2, 2011

22

13:11

WSPC/INSTRUCTION FILE

musicimprovl4

C. Halkiopoulos, B. Boutsinas

14. M.M. Gaber, A.Zaslavsky and S.Krishnaswamy, Mining data streams: a review, ACM
SIGMOD Record. 34(1) (2005).
15. M.J. Greenacre, Theory and Applications of Correspondence Analysis, (Academic
Press, 1984).
16. C. Halkiopoulos and B. Boutsinas, Music Representation for Analysis using Data Mining, in Proc. of Seventh Annual Conference of Music Theory and Analysis, (Belgrade,
May, 2009).
17. L. Hiller and L. Isaacson, Experimental Music, (New York: McGraw-Hill, 1959).
18. L.J. HofmannEngl, Melodic similarity a theoretical and empirical approach, PhD Thesis, (Keele University, UK, 2003).
19. H. Hoos, K. Renz and M. G
org, GUIDO/MIR - an experimental musical information retrieval system based on guido music notation, in Proc. of Int. Conf. on Music
Information Retrieval, ISMIR2001, (2001), pp.41-50.
20. K. H
othker, Modelling the Motivic Process of Melodies with Markov Chains, Computers and the Humanities. 35(1) (2001) 6579.
21. N. Hu, B. Dannenberg, A.L. Lewis, A Probabilistic Model of Melodic Similarity, in
Proc. of the 2002 International Computer Music Conference, (San Francisco: International Computer Music Association, 2002), pp.50915.
22. Z. Huang, Extensions to the k-means algorithm for clustering large data sets with
categorical values, Data mining and Knowl. Disc.. 2 (1998) 283304.
23. I. Karydis, A. Nanopoulos and Y. Manolopoulos, Symbolic musical genre classification
based on repeating patterns, in Proc. of the 1st ACM workshop on Audio and music
computing multimedia, (2006), pp.5358
24. R. Keller, M. Hunt, S. Jones, D. Morrison and A. Wolin, Blues for Gary: Design Abstractions for a Jazz Improvisation Assistant, Electronic Notes in Theoretical Computer
Science. 193 (2007) 47-60.
25. F.J. Kiernan, Score-based style recognition using artificial neural networks.
26. S. Koepf and B. Haerpfer, The MSQ Project, (1998).
27. O. Lartillot, Generalized Musical Pattern Discovery by Analogy from Local Viewpoints.
28. T. Lidy, A. Rauber, A. Pertusa and J. Iesta, Improving Genre Classification by Combination of Audio and Symbolic Descriptors Using a Transcription System, in Proc. of
the 8th International Conference on Music Information Retrieval, (2007), pp.6166.
29. Y. Liu, Y. Wang, A. Shenoy, W.-H. Tsai and L. Cai, Clustering Music Recordings by
their Keys, in Proc. of Int. Conf. on Music Information Retrieval, ISMIR2008.
Maidn, A Geometrical Algorithm for Melodic Difference, Melodic Compari30. D. O
son: Concepts, Procedures, and Applications, Computing in Musicology. 11 (Cambridge,
Massachusetts: MIT Press, 1998), pp.6572.
Maidn and M. Fernstr
31. D. O
om, The Best of two Worlds: Retrieving and Browsing,
in Proc. of the COST G-6 Conference on Digital Audio Effects (DAFX-00), (Verona,
Italy, December 7-9, 2000).
32. B. Manaris, D. Krehbiel, P. Roos and T. Zalonis, Armonique: Experiments In ContentBased Similarity Retrieval Using Power-Law Melodic and Timbre Metrics, in Proc. of
Int. Conf. on Music Information Retrieval, ISMIR2008, (2008), pp.343348.
33. R.L. de Mantaras and J.L. Arcos, AI and Music: From Composition to Expressive
Performance, AI magazine. 23(3) (2002) 4357.
34. N. Mastroyannis, I. Giannikos, B. Boutsinas and G. Antzoulatos, CL.E.KMODES:
A Modified K-Modes Clustering Algorithm, Proc. Journal of the Operational Research
Society. 60(8) (2009) 10851095.
35. D.L. Medin and M.M. Schaffer, Context Theory of Classification Learning, Psycho-

November 2, 2011

13:11

WSPC/INSTRUCTION FILE

musicimprovl4

Automatic interactive music improvisation based on data mining

23

logical Review. 85(3) (1978) 207238.


36. E.R. Miranda, J. Al Biles, Evolutionary Computer Music, Springer, 2007.
37. D. M
ullensiefen and K. Frieler, Cognitive Adequacy in the Measurement of Melodic
Similarity: Algorithmic vs. Human Judgments, Computing in Musicology. 13 (2004)
147176.
38. F. Pachet, The Continuator: Musical Interaction With Style, in Proc. of International
Computer music Conference, (ICMA Gotheborg, Sweden, 2002).
39. G. Papadopoulos and G. Wiggins, AI Methods for Algorithmic Composition: A Survey,
a Critical View and Future Prospects, (1993).
40. A.N. Robertson and M.D. Plumbley, Real-Time Interactive Musical Systems: An
Overview.
41. P-Y. Rolland, FlExPat: A Novel Algorithm for Musical Pattern Discovery, in Proc. of
the XII Colloquium in Musical Informatics, (Gorizia, Italy, 1998).
42. P.Y. Rolland and J.G. Ganascia, Pattern Detection and Discovery: The Case of Music
Data Mining.
43. R. Rowe, Interactive Music Systems, (MIT Press, 1992).
44. B. Roy, Classement et choix en presence de points de vue muptiples : La methode
ELECTRE, R.I.R.O.. 8 (1968) 5775.
45. M.K. Shan and F.F. Kuo, Music style mining and classification by melody, IEICE
Transactions on Information and Systems. E86-D(4) (2003) 655-659.
46. L.A. Smith, R.J. McNab, and I.H. Witten, Sequence-based melodic comparison: a
dynamic-programming approach, in Melodic Comparison: Concepts, Procedures, and
Applications, Computing in Musicology, 11, (MIT Press, 1998), pp.101117.
47. R. Typke, Music Retrieval based on Melodic Similarity, Doctoral Thesis, (Utrecht
University, 2007).
48. http://www.polyhymnia.gr, (2009).
49. T. Weyde and C. Datzko, Efficient Melody Retrieval with Motif Contour Classes,
(2005).
50. G. Widmer, On the Potential of Machine Learning for Music Research.
51. G. Widmer, A Knowledge Intensive Approach to Machine Learning in Music.
52. G. Widmer, Discovering Simple Rules in Complex Data - A Meta-learning Algorithm
and Some Surprising Musical Discoveries.
53. G. Widmer, Using AI and Machine Learning to Study Expressive Music PerformanceProject Survey and First Report

You might also like