14th International Society for Music Information Retrieval Conference (ISMIR 2013)

CHORD-SEQUENCE-FACTORY: A CHORD ARRANGEMENT SYSTEMMODIFYING FACTORIZED CHORD SEQUENCE PROBABILITIESSatoru Fukayama Kazuyoshi Yoshii Masataka Goto
National Institute of Advanced Industrial Science and Technology (AIST), Japan{s.fukayama, k.yoshii, m.goto}@aist.go.jp/ŶƉƵƚ͗ 
нϳ

ŵĂũŽƌ

нϮ

ŵ
ŵŝŶŽƌ

нϱ

'ϳ
ƐĞǀĞŶƚŚ

нϮ

ŵ
ŵŝŶŽƌ

ďĂƐĞƐ
Ϭ͘ϲ Ϭ͘Ϯ Ϭ͘Ϯ Ϭ͘ϭ Ϭ͘ϱ Ϭ͘ϰ Ϭ͘Ϯ Ϭ͘Ϯ Ϭ͘ϲ Ϭ͘ϭ Ϭ͘ϱ Ϭ͘ϰн Ϭ͘ϳǆďĂƐĞƐϬ͘ϲ Ϭ͘Ϯ Ϭ͘Ϯ Ϭ͘ϭ Ϭ͘ϱ Ϭ͘ϰ Ϭ͘Ϯ Ϭ͘Ϯ Ϭ͘ϲ Ϭ͘ϭ Ϭ͘ϱ Ϭ͘ϰнϳĚŝŵ &ŵϳ ƐƵƐϰ 'ŵϳŵĂũŽƌƌƌĂŶŐĞĚ͗ нϱнϱ ŵĂũŽƌ
ŵĂũŽƌ нϵƐĞǀĞŶƚŚ
ƐĞǀĞŶƚŚ
ƐĞǀĞŶƚŚ

&Dϳ

ϳ

'Dϳ

ZZE'DEdWKK>K&^^

Ϭ͘ϯǆ

с

This paper presents a system named ChordSequenceFactory for automatically generating chord arrangements. A
key element of musical composition is the arrangement ofchord sequences because good chord arrangements havethe potential to enrich the listening experience and createa pleasant feeling of surprise by borrowing elements fromdifferent musical styles in unexpected ways. While chord
sequences have conventionally been modeled by using Ngrams, generative grammars, or music theoretic rules, oursystem decomposes a matrix consisting of chord transition probabilities by using nonnegative matrix factorization. This enables us to not only generate chord sequencesfrom scratch but also transfer characteristic transition patterns from one chord sequence to another. ChordSequenceFactory can assist users to edit chord sequences by modifying factorized chord transition probabilities and then automatically re-arranging them. By leveraging knowledge
from chord sequences of over 2000 songs, our system canhelp users generate a wide range of musically interestingand entertaining chord arrangements.

&dKZ/d/KE

Dϳ ŵϳ ϵ

ABSTRACT

Figure 1. Overview of generating chord arrangementswith ChordSequenceFactory.
selves, known as user-generated content (UGC) on video
sharing services, the majority of users are generally music
listeners who do not create much themselves. We aim toencourage such people to create more derivative works bychanging chord sequences. This enables music listeners topersonalize songs by customizing chord sequences without
any special training [4]. Such content personalization wasachieved by Drumix [15], a system for arranging the drum
track in music audio signals, but content personalization
using chord arrangements has not yet been studied.
To generate chord arrangements, it is necessary to modeland manipulate chord sequences. Conventionally, models for generating chord sequences have been represented
by probabilistic models or N-grams [1, 6, 8, 9, 11, 12, 14],
genetic algorithms [2], generative grammars [10, 13], andexploiting examples or templates [3, 7]. Although these
existing models can easily be used to generate new chord
sequences from scratch [2], it is difﬁcult to arrange chord
sequences of an existing song while referring to other existing songs.
In this paper we propose a new mathematical formulation of chord sequences using nonnegative matrix factorization (NMF) and use it to build a system, ChordSequenceFactory, that enables users to arrange chord sequences of existing songs (Fig. 1). The chord sequence ofeach song (a sequence of symbols) is ﬁrst converted intoa chord differential matrix that represents chord transitionsin short regions. The matrix is then decomposed into a setof bases (characteristic chord transition patterns) and a setof corresponding temporal activations using NMF. Chordarrangements can be achieved by interpolating the bases ofa song with similar bases obtained from other songs while
preserving the activations. An arranged chord sequence is

1. INTRODUCTION
Chord sequences are essential when composing and arranging music. Different songs, composers, arrangers, andmusical genres have different tendencies to use chord sequences, which contributes to increased variety in music.
Each song could have different natural chord sequencesthat give different impressions. Although an arranger canchange (i.e., arrange) chord sequences of a song to alter its
mood, this is very difﬁcult for people who lack knowledgeof chord sequences to arrange the chords in an appropriate
way. The goal of this research is to assist people to generate variations of chord sequences from an input original
sequence by leveraging knowledge from a large number ofother existing chord sequences called references.
Chord sequence arrangement is a promising approachto create derivative works from existing songs. Although
amateur creators could create such derivative works themPermission to make digital or hard copies of all or part of this work forpersonal or classroom use is granted without fee provided that copies are
not made or distributed for proﬁt or commercial advantage and that copies
bear this notice and the full citation on the ﬁrst page.
c 2013 International Society for Music Information Retrieval.
457

14th International Society for Music Information Retrieval Conference (ISMIR 2013)ŚŽƌĚ^ĞƋƵĞŶĐĞ

ŵŚŽƌĚdƌĂŶƐŝƚŝŽŶ
d^ĞƋƵĞŶĐĞ ΂ǆ ƚ ΃ ƚсϭнϱ ƐĞǀĞŶƚŚнϮ ŵŝŶŽƌ


ηͬď





ηͬď


нϮ

ηͬď



'ηͬď



'ηͬď

&ηͬ'ď

&





нϱ
'

нϮ ŵŝŶŽƌ


ηͬď

ηͬď



'

ŵ

'ϳ

&ηͬ'ď

&



ηͬď


ηͬď

ηͬď





'ηͬď

ηͬď

нϮ
'


&ηͬ'ď

&

Figure 2. The representation of a sequence of a chord transition used in our method. Each transition is represented as
a combination of the interval between the root notes of adjacent chords and the type of the latter chord.
Figure 3. Representation of a chord transition sequencewith the chord differential matrix representation.

ﬁnally generated from the reconstructed chord differential
matrix as the product of the resulting bases and the originalactivations.
The remainder of this paper is structured as follows. In
Section 2, we present the analysis and synthesis frameworkof chord symbol sequences based on the chord differential
matrix. In Section 3, we present the formulation of chordarrangements. In Section 4, we present experimental results to illustrate the performance of the system ChordSequenceFactory. Finally in Sections 5 and 6 we include discussion and conclusions, which summarize the main contributions of the paper.

is converted into a sequence of chord transitions according to the deﬁned vocabulary, we can recover the original
sequence if the ﬁrst chord of the sequence is given. This
representation has also been used in related work [6] forthe same purpose of normalizing the tonality of chord sequences.
An advantage of this representation is that it can reduce
the number of parameters to be dealt with. The typical approach to modeling chord sequences is to calculate a transition probability matrix over chord names deﬁned in a vocabulary. This approach, however, requires a large numberof parameters, i.e., we need to deal with M × M parameters if M kinds of chord names are contained in the vocabulary. Since the chord type seems to be less dependent on
the type of the previous chord name, we directly focus on
the root-note interval and the current chord type.

2. ANALYSIS AND SYNTHESIS OF SYMBOLIC
CHORD SEQUENCES
2.1 Chord transition sequence
Chord names typically consist of up to three labels: root
note, chord type, and bass note speciﬁcation [5]. Since thebass notes are omitted in many cases, we treat chord information as a combination of the ﬁrst two labels. In general,
chord transitions are considered to be more important than
the absolute pitch of the root note of each chord. This is
supported by the fact that it is possible to transpose chord
sequences into other tonalities without affecting the functions of chord idioms used in these sequences.
In this paper we do not deﬁne a vocabulary of chord
names but rather, a vocabulary of chord “transitions” formodeling how adjacent chords are arranged in music. Let{cn }Nn=1 be the vocabulary of chord transitions, where N
is the size of the vocabulary and each cn is deﬁned as follows:cn ≡ str (INTERVAL) + str (TYPE) ,2.2 Analysis of a chord transition sequence based on achord differential matrix
We now explain the probabilistic representation of a chordtransition sequence {xt }Tt=1 , where xt ∈ {cn }N
n=1 and T
is the length of the sequence. We analyze the sequenceon frame-by-frame basis using an exponentially-decaying
window as shown in Fig. 3. This window is designed basedon our assumption that the characteristics of chord transitions remain the same for some period of time becausemusical pieces are usually composed so that each section
gives a coherent impression. The window is moved one
by one from the ﬁrst chord of the given sequence. In eachframe t, we calculate a probability vector v t ∈ RN suchthat the elements of the vector sum to unity. More specifically, vtn is a ratio of chord transition cn to all possible
transitions in frame t, which is given by−τ0≤τ ≤λ δcn xt+τ e

,
(2)
vtn =
−τ
0≤τ ≤λ e(1)where INTERVAL indicates the difference in semitones
between the root notes of a target chord and the previous chord and TYPE indicates the type of the target chord.
An example chord transition sequence is shown in Fig. 2.
Since we do not need to know the direction of root changes,
the value of INTERVAL is restricted to a nonnegative integer. The operation str(·)+str(·) means the string conjunction (i.e., concatenation). Once a given sequence of chords

where δij is the Kronecker delta, λ is the window length,and e−τ is a temporally-decaying weight. Note that v t indicates a co-occurrence relationship between chord transi-

458

14th International Society for Music Information Retrieval Conference (ISMIR 2013)sŽĐĂďƵůĂƌǇŽĨŚŽƌĚdƌĂŶƐŝƚŝŽŶƐ
;Ŷсϭ͕Ϯ͕͙͕EͿŚŽƌĚŝĨĨĞƌĞŶƚŝĂůDĂƚƌŝǆsdŝŵĞ;ƚсϭ͕Ϯ͕͙͕dͿFigure 4. Regeneration of a chord transition sequence
from a chord differential matrix representation by means
of V and the bi-gram probability obtained a priori fromthe data.

dĞŵƉŽƌĂůĐƚŝǀĂƚŝŽŶƐ

t

,

ǆ

ĂƐĞƐ ;Ŭсϭ͕Ϯ͕͙͕<ͿsŽĐĂďƵůĂƌǇŽĨŚŽƌĚdƌĂŶƐŝƚŝŽŶƐ
;Ŷсϭ͕Ϯ͕͙͕EͿŚĂƌĂĐƚĞƌŝƐƚŝĐŚŽƌĚdƌĂŶƐŝƚŝŽŶWĂƚƚĞƌŶƐ
;ĂƐĞƐͿĂƐĞƐ ;Ŭсϭ͕Ϯ͕͙͕<ͿdŝŵĞ;ƚсϭ͕Ϯ͕͙͕dͿFigure 5. Factorizing the chord deferential matrix: Analysis of the frequent combinations and the temporal occurrences of chord transitions.

tions in the vicinity of frame t. The process of representing
the chord transition sequence as a chord differential matrix
is shown in Fig. 3.
This frame-based vectorial representation of chord transition probabilities has useful properties for chord arrangement as follows:

3. FORMULATION OF
CHORD-SEQUENCE-FACTORY
3.1 Factorization of a chord differential matrix• Mood coherence in short durations
Although chords often change at bar boundaries, themood does not change in such a short time span because we use an exponentially-decaying window oflength λ.

An overview of ChordSequenceFactory is illustrated inFig. 6. The mood of music varies according to sectionsof a song. For instance, some sections often use dominantintervals and other sections tend to use chords with moretension notes. Therefore we aim to identify the characteristic patterns of chord transitions that affect the mood of eachsection. We represent a probability vector v t at each time
t as a convex combination of multiple bases as follows:• Reproducibility of chord sequences
We can approximately reconstruct the original sequence {xt }Tt=1 from a sequence of probability vectors {v t }Tt=1 in a principled manner.
2.3 Synthesis of a chord transition sequencevt =To regenerate a chord transition sequence from a chord differential matrix, we need to consider the transition between
successive chord transitions xt and xt−1 . Using the transition probability P (xt |xt−1 ) trained from the data, we cancalculate the probability of observing {xt }Tt=1 as follows:K

hkt wk ,(5)

k=1

where wk , (k = 1, · · · , K) denotes a characteristic chordtransition pattern and hkt is its weight. In order to decompose {v t }Tt=1 using shared bases {wk }K
k=1 , we exploit
nonnegative matrix factorization (NMF) (Fig. 5), i.e.,T (ξvt (xt ) + (1 − ξ) P (xt |xt−1 )) ,P {xt }Tt=1 =V = (v 1 · · · v T )

t=1

(3)
where ξ is an interpolation coefﬁcient such that 0 ≤ ξ ≤ 1.
The chord transition
sequence{x∗t }Tt=1 is reconstructedT
by maximizing P {xt }t=1 as follows:{x∗t }Tt=1 = argmax P {xt }Tt=1 .
(4)

(6)

is decomposed into matrices W (N × K) and H (K × T )as:V  W H,(7)

where W is the matrix of bases:{xt }T
t=1

W = (w1 · · · wK )Since there are N possibilities for each xt , it is computationally infeasible to test all N T possible sequences with
the naive method of exhaustive search. Fortunately, we canobtain the solution {x∗t }Tt=1 with O (N ) using dynamic
programming. The process for generating a sequence isshown in Fig. 4.

and H is the matrix of activations:⎞⎛h11 · · · h1T⎟⎜
H = ⎝ ... . . . ... ⎠ .
hK1 · · · hKT

459

(8)

(9)

14th International Society for Music Information Retrieval Conference (ISMIR 2013)≃x+5 sus2 +2 major +2 minor +10 major +5 major . . .
Chord Transion Sequence to Chord Diﬀerenal Matrix(ANALYSIS)Characterisc Chord
Transion Paerns(bases)Temporal Acvaons

Chord Diﬀerenal Matrix

W

H

V
≃

x

+a

(1–a)

Preserved

CONVERTED

INTERPOLATION OF BASES=CONVERTED

x
Characterisc Chord
Transion Paerns(Bases)W*=

Temporal Acvaons

ARRANGEMENTPOOL OF BASES

ORIGINAL

FACTORIZATIONFACTORIZATIONREFERENCE

Chord Diﬀerenal Matrix

V*

H(SYNTHESIS)
Chord Diﬀerenal Matrix to Chord Transion Sequence
ARRANGED+3 dim7 +2 seventh +7 minor +11 sus2 +2 major7 . . .

Figure 6. Overview of the process executed by ChordSequenceFactory for generating chord arrangements.
culate the modiﬁed vector w∗i as follows:

3.2 Interpolationw∗i = awi + (1 − a) wrefj(i) ,

We want to modify the V of a target song by referring
to chord transition patterns used in another song. Morespeciﬁcally, to obtain a reconstructed chord differential matrix V ∗ , we reuse the H of the target song and use a set ofmodiﬁed vectors W ∗ = (w∗1 · · · w∗K ) as follows:V ∗ = (w∗1 · · · w∗K ) H

where a is the interpolation parameter such that 0 ≤ a ≤ 1.
The value of a represents how the mood of the original
song is preserved through the chord arrangement.

(10)

∗

= W H.

3.3 Generation of chord arrangements(11)

As discussed in Section 2.3, we can generate an arranged
chord transition sequence from the modiﬁed chord differential matrix V ∗ . We interpolate the transition probability
obtained from all songs in the database Pall (xt |xt−1 ) andthat obtained from the reference song Pref (xt |xt−1 ) withthat obtained from the original song Porg (xt |xt−1 ) as follows:

To obtain each modiﬁed vector w∗i , we interpolate a reference vector wref
i of another song with the original vector
wi . Since the original bases {wk }K
k=1 and reference bases
K
}
are
not
guaranteedtohave
their index aligned,
{wref
k
k=1
we associate each wi with a reference wrefj(i) such that w i
refis closest to wj(i) , i.e.,j (1) , · · · , j (K) = argmax

K

j(1),··· ,j(K) k=1


D wi wref
j(i) ,P ∗ (xt |xt−1 ) = ξ1 Pall (xt |xt−1 ) + ξ2 Porg (xt |xt−1 )+ξ3 Pref (xt |xt−1 ) ,(12)where D is a distance measure based on the symmetric
Kullback Leibler divergence: 
wik
wik log ref
D wi wref
j(i) =
wj(i)k
k
+


k

ref
wj(i)k
log

(14)

ref
wj(i)k

wik

.

(15)

3
where {ξi }
i=1 are the interpolation coefﬁcients that sum tounity, i.e., i ξi = 1. Using P ∗ (xt |xt−1 ), we can calculate the probability of observing {xt }Tt=1 as follows:T (ξvt∗ (xt )P {xt }Tt=1 =
t=1+ (1 − ξ) P ∗ (xt |xt−1 )).

(13)

(16)

The arranged chordtransition
sequence is then obtained by
maximizing P {xt }Tt=1 (see Section 2.3).

Using the aligned indicies j (1) , · · · , j (K), we can cal-460sŽĐĂďƵůĂƌǇŽĨŚŽƌĚdƌĂŶƐŝƚŝŽŶƐ sŽĐĂďƵůĂƌǇŽĨŚŽƌĚdƌĂŶƐŝƚŝŽŶƐ
;Ŷсϭ͕Ϯ͕͙͕EͿ;Ŷсϭ͕Ϯ͕͙͕EͿ

14th International Society for Music Information Retrieval Conference (ISMIR 2013)Ăсϭ͘ϬĂ сϬ͘ϳĂ сϬ͘ϱĂ сϬ͘ϯĂƐĞƐ ;Ŭсϭ͕Ϯ͕͙͕<ͿĂƐĞƐ ;Ŭсϭ͕Ϯ͕͙͕<ͿĂ сϬ͘ϬĂƐĞƐ ;Ŭсϭ͕Ϯ͕͙͕<Ϳ

Figure 7. Examples of the bases interpolated with basesof a reference song: we can see that the chord usages originated in two different songs are combined, depending on
the value of interpolation factor a.

Figure 8. User interface of ChordSequenceFactory: users
can change the interpolation factor with sliders corresponding to each base.

4. EVALUATION

found our system was, in many cases, able to provide musically coherent chord sequence arrangements (Table. 1).
However, our evaluation also revealed some limitations
that should be addressed in our future work. Since the vocabulary of chord transitions deﬁned for the system does
not include the absolute pitch for the root note, the generated results tended to exhibit transposition frequently. In
addition, ﬁnding the optimal number of bases when decomposing the probability should be investigated for better
performances. Finally, a slider for changing the activation
can bring about more effects in the generated sequence.
Although simply adding a seventh note to chord sequences (rather than using our approach) has a similar effect on chord arrangements, dissonance may appear in theconnection between the chords. In contrast, with our system, dissonant chords can be avoided by using the constraints given by the transition probabilities. Furthermore,
there are no restrictions in terms of combining two songs
that have different structures, since the interpolation is done
between the decomposed basis.
Conventional methods based on N-grams cannot control the dynamic characteristics of chord transitions andneed label sequences to reﬂect human intention. In our
method, we can see that the probability is changed for eachtime t and that the activations at time t play the same roleas the label sequences in the conventional methods.

4.1 Experimental conditions
To evaluate our system, we used 2,123 lead sheets downloaded from the Wikifonia (www.wikifonia.org) website.
All lead sheets we used were formatted in the MusicXml
format including information of chord sequence. Each
chord name in a ﬁle included the step (C, D, ...), alternation(#, ) of the root note, and the chord type.
To deﬁne a vocabulary {cn }N
n=1 , we extracted chordtransitions that appeared more than 10 times in the data. A
special symbol “Unknown” ∈ {cn }N
n=1 was used for representing the rest. The vocabulary size was N = 163. Using
the vocabulary, we represented each song as a chord transition sequence {xt }Tt=1 and calculated a chord differential matrix from that sequence by using an exponentiallydecaying window of length λ = 6, corresponding to thenumber of chord changes. The transition probabilities between {cn }N
n=1 were calculated in advance for all 2,123
songs and for each song, respectively. The chord differential matrix was decomposed using NMF based on the
Euclidean distance with K = 5.
We interpolated characteristic chord transition patterns(basis vectors) of a reference song with those of an original song according to an interpolation coefﬁcient a = 1.0,
0.7, 0.5, 0.3, or 0.1. A chord transition sequence was synthesized from a modiﬁed chord differential matrix. Since
the vocabulary of chord transitions only holds informationof relative root positions, we set the root note of the initialchord to the original root note.

5. CONCLUSIONS
We have described a system ChordSequenceFactory that
can assist a user to arrange chord symbol sequences ofa song by ﬁnding latent frequent patterns of chord transitions and modifying them on the basis of other songs.
We proposed a new analysis and synthesis framework forchord symbol sequences, where the temporal changes ofchord transition sequences are represented as a chord differential matrix. NMF is used to decompose this matrix
into bases corresponding to the frequent patterns of chordtransitions and activations corresponding to their temporaloccurrences. The matrix can then be updated for a new arrangement by modifying these bases by mixing them with

4.2 Experimental results and discussions
As shown in Fig. 7, we can combine two different characteristic chord transition patterns by controlling the interpolation factor a on the user interface of ChordSequenceFactory (Fig. 8). The generated examples of chord arrangements are shown in Table. 1. We conﬁrmed that the moodof an original song can be modiﬁed while incorporating themood of a reference song if these songs have some simillar
characteristic chord transition patterns.
Through informal evaluation and listening tests we461

14th International Society for Music Information Retrieval Conference (ISMIR 2013)

ORIGINAL
ARRANGED

reference
A

B

C

D

E

a
0.7
0.6
0.5
0.7
0.6
0.5
0.7
0.6
0.5
0.7
0.6
0.5
0.7
0.6
0.5

Cmin

Bmaj

Esus2

Fmaj

Gmin

Fmaj

Bmaj

Gmaj

Cmaj7
Cmaj
Cmaj
Cdim
Cdim
Cmaj
Cmaj
Cmaj
Cmaj
Cmin7
Cmin7
Cmaj
Cmaj6
Cmaj6
Cmaj6

Fmaj7
Bmaj
Bmaj
Edim
Edim
Bmaj
Fmaj
Fmaj
Fmaj
Dmin7
Dmin7
Bmaj
Fmaj6
Fmaj6
Fmaj6

B7
E7
Cmaj
E7
E7
Cmaj
F7
F7
F7
Dmaj7
Dmaj7
Cmaj
Bsus4Bsus4Bsus4

E7
A7
Dmaj
E7
E7
Dmaj
F7
F7
F7
Dmaj7
Dmaj7
Dmaj
Esus4Esus4Esus4Amaj6+9Dmaj6+9
Cmaj
F#dim
F#dim
Cmaj
Bmaj
Bmaj
Bmaj
Emin7
Emin7
Cmaj
Amaj6Amaj6Amaj6

Gmaj
Bmaj
Bmaj
Adim
Adim
Bmaj
Emaj
Emaj
Emaj
Amaj7
Amaj7
Bmaj
Dmaj6Dmaj6Dmaj6

Bmaj
Emaj
Emaj
D7
D7
Emaj
Amaj
Amaj
Amaj
Dmaj7
Dmaj7
Emaj7
F#7
F#7
F#major

Gmin6
Cmin6
Amin
Gmin6
Gmin6
Bmin6
Gsus4
Gsus4
Gsus4
Cmaj7
Cmaj7
Amin
Bmin
Bmin
Bmin

Table 1. Generated results of ChordSequenceFactory with ﬁve different reference songs (A,B,C,D,E). For each referencesong, three values of interpolation factor a = 0.7, 0.6, 0.5 were used. The arranged chord sequences were decoded fromthe chord transition sequence {xt }Tt=1 , by setting the root note of the ﬁrst chord to C as in the original sequence.
Book Songs,” Proceedings of the ISMIR conference,
pp. 255–258, 2007.

similar bases in the pool of bases obtained from more than2000 songs. The updated matrix is ﬁnally used to generatea new re-arranged chord sequence using dynamic programming. In our experience, ChordSequenceFactory generated musically interesting and entertaining chord arrangements. In the future, we plan to extend our framework to
consider melody lines as constraints on arranged chord sequences. We will also include audio signal processing sothat the chord differential matrix can be used directly onmusic audio signals.
Acknowledgement
This work was supported in part by OngaCREST, CREST,JST.
6. REFERENCES[1] C. Ames: “The Markov Process as a Compositional
Model: A Survey and Tutorial,” Leonardo Music Journal, Vol. 22, No. 2, pp. 175–187, 1989.
[2] J. Biles: “GenJam: A Genetic Algorithm for Generating Jazz Solos,” Proceedings of ICMC, pp. 131–137,
1994.
[3] D. Cope: Experiments in Musical Intelligence, A-R
Editions, 1996.
[4] M. Goto: “Active Music Listening Interfaces based on
Signal Processing,” Proceedings of ICASSP, pp. 1441–
1444, 2007.
[5] C. Harte, M. B. Sandler, S. A. Abdallah, E. Gómez:“Symbolic Representation of Musical Chords: A Proposed Syntax for Text Annotations,” Proceedings ofthe ISMIR conference, pp. 66–71, 2005.
[6] M. Mauch, S. Dixon, C. Harte, M. Casey, B. Fields:“Discovering Chord Idioms through Beatles and Real

[7] F. Pachet: “Surprising Harmonies,” International Journal of Computing Anticipatory Systems, Vol. 4 1999.
[8] J. Paiement, D. Eck, S. Bengio: “A Probabilistic Model
for Chord Progressions,” Proceedings of the ISMIR
conference, pp. 312–319, 2005.
[9] H. Papadopoulos, G. Peeters: “Large-scale study ofchord estimation algorithms based on chroma representation and hmm,” Proceedings of the ISMIR conference, pp 225-258, 2007.
[10] M. Rohermeier: “Towards a generative syntax of tonalharmony,” Journal of Mathematics and Music, Vol. 5,
No. 1, pp. 35–53, 2011.
[11] R. Scholz, E. Vincent, F. Bimbot: “Robust modeling ofmusical chord sequences using probabilistic N-grams,”
Proceedings of the ICASSP, pp. 53–56, 2009.
[12] A. Sheh, D. Ellis: “Chord Segmentation and Recognition using EM-Trained Hidden Markov Models,” Proceedings of the ISMIR conference, pp. 185–191, 2003.
[13] M. J. Steedman: “A Generative Grammar for Jazz
Chord Sequences,” Music Perception, 2:1 pp. 52–77,
1984.
[14] D. Temperley: Music and Probability, The MIT Press,
2007.
[15] K. Yoshii, M. Goto, K. Komatani, T. Ogata and H. G.
Okuno: “Drumix: An Audio Player with Real-timeDrum-part Rearrangement Functions for Active Music
Listening,” IPSJ Digital Courier, Vol. 3, pp. 137–144,2007.

462