=Paper= {{Paper |id=Vol-1139/paper11 |storemode=property |title=Towards a Harmonic Complexity of Musical Pieces |pdfUrl=https://ceur-ws.org/Vol-1139/paper11.pdf |volume=Vol-1139 |dblpUrl=https://dblp.org/rec/conf/dateso/MarsikPI14 }} ==Towards a Harmonic Complexity of Musical Pieces== https://ceur-ws.org/Vol-1139/paper11.pdf
        Towards a
        Towards a Harmonic
                  Harmonic Complexity
                           Complexity of
                                      of Musical
                                         Musical
                        Pieces
                        Pieces

                 Ladislav Maršı́k1 , Jaroslav Pokorný1 , and Martin Ilčı́k2
                 Ladislav Maršı́k1 , Jaroslav Pokorný1 , and Martin Ilčı́k2
            1
            1
              Dept. of Software Engineering, Faculty of Mathematics and Physics
              Dept. ofUniversity,
             Charles   Software Engineering,
                                  MalostranskéFaculty of Mathematics
                                                nám. 25, Prague, Czechand Physics
                                                                        Republic
             Charles University,  Malostranské
                            {marsik,            nám. 25, Prague, Czech Republic
                                       pokorny}@ksi.mff.cuni.cz
                  2        {marsik,
                     The Institute     pokorny}@ksi.mff.cuni.cz
                                    of Computer   Graphics and Algorithms,
                  2
                     The Institute
           Vienna University        of Computer
                              of Technology,      Graphics and9-11,
                                             Favoritenstraße    Algorithms,
                                                                    Vienna, Austria
           Vienna University of Technology,  Favoritenstraße
                                   ilcik@cg.tuwien.ac.at      9-11, Vienna, Austria
                                   ilcik@cg.tuwien.ac.at


           Abstract. Music information retrieval (MIR) is small, but fast grow-
           ing discipline. It aims at extraction of relevant information from music
           in order to improve the work with multimedia information systems. A
           popular approach in MIR is to apply signal processing techniques to ex-
           tract low-level features from a musical piece. However, in order to create
           helpful applications, high-level concepts, such as music harmony, need
           to be examined as well. In this paper, we present a new model for un-
           derstanding music harmony in computer systems. The proposed model
           takes the challenge of filling the gap between music theory and mathe-
           matical structures. Inspired by the computational complexity, we then
           derive a new term, harmonic complexity, that can be evaluated for a
           musical piece, and we test it on a genre classification problem.


       Keywords: music information retrieval, harmonic analysis, harmonic complexity,
    chord transcription, chord progression


    1    Introduction

    A massive distribution of digital media has made music information retrieval
    (MIR) a wanted field of study. Musicians and non-musicians both benefit from
    applications that ease their work with music, such as notation software or in-
    ternet radios. One of the recent challenges has been to develop an intelligent
    retrieval of musical piece based on user preferences (Schönfuss [13]). However,
    information systems are still not able to understand the music in its full depth
    and more research is needed in this field. In this work, we narrow our focus
    on content-based recommendation and classification tasks. Rather than giving
    a complete solution, we define a new term, harmonic complexity, and a model
    of music harmony, to help future research in both tasks, and provide tools for
    other harmony-related problems.
        Content-based recommendation or classification can be addressed using rules
    of music acoustics, by computing the Discrete Fourier Transform (DFT), and


J. Pokorný, K. Richta, V. Snášel (Eds.): Dateso 2014, pp. 1–12, ISBN 978-80-01-05482-6.
2        Ladislav Maršı́k, Jaroslav Pokorný, Martin Ilčı́k

dealing with the frequency-domain features (Li [8]). To achieve even more ac-
curacy, some knowledge of higher-level concepts can be used, such as chord
progression or key analysis (Absolu et al. [1], Sapp [11]). That leads us to the
use of music theory and tonal harmony.


Tonal harmony. Music theory is a highly developed field that provides us
with a framework for working with musical structures. In our work, we choose
music theory, and in particular, tonal harmony (TH), to help us understand
one of the important aspects in music. Our focus on tonal harmony comes from
understanding, that acoustic sounds (tones) sounding simultaneously form struc-
tures, which even listeners without explicit musical training implicitly recognize
(Krumhansl [4]). Brief definitions of TH can be found in Section 2.


Harmonic complexity. With music classification and recommendation tasks,
naturally a question arises: What features can we use to determine the music
genre or to match the music with user’s preference? There have been several
attempts to select the relevant musical features resulting in useful applications
(Schönfuss [13] or Pandora music radio3 ). However, in the most successful sys-
tems like Pandora, the extraction of relevant features is still a domain of human
analysis. We propose a new feature, harmonic complexity, that simulates the pro-
cess a trained musician would use to analyze the musical piece. Whenever the
music obeys simple TH rules, we assign it a lower value of complexity, whereas
if the rules are complex, or the harmony does not obey any known rules, we
assign it higher values. For this purpose, we have created a model of harmonic
complexity based on formal grammars.

    We are motivated by the fact, that although TH is a stable theory based
on music acoustics (e.g. Schönberg [12]), there is still a gap between the for-
malizations of music theory and mathematics. We believe that new models can
clarify the connection between the fields. Moreover, TH provides us an universal
approach to analyze music, which is independent from any genre or any given
dataset, as opposed to machine learning.
    To summarize, the main contributions of this paper are:

    • Defining a new term, harmonic complexity, that can be used as a new musical
      feature to aid the content-based music recommendation and music classifi-
      cation tasks
    • Proposing a mathematical model based on tonal harmony, reusable for future
      harmony-related tasks
    • Testing the proposed model and harmony complexity evaluations on a music
      classification problem

   After providing definitions of TH, we summarize the results of the related
work in Section 3. We then describe our model of harmonic complexity in Section
3
    http://www.pandora.com
                         Towards a Harmonic Complexity of Musical Pieces          3

4. Afterwards, we propose its usefulness for music classification challenge in
Section 5. In the end we provide conclusion and discuss the future work, as well
as the connection of our research to music recommendation task.


2   Tonal harmony

In this section we provide brief definitions of TH, based on Schönberg [12] and
Riemann [10]. We consider the following terms to be known to the reader and
reference Schönberg [12] or Krumhansl [5] for clarification: tone, octave, acci-
dentals (sharp ] or flat [), semitone and whole tone intervals, chord, chord root,
scale, key and degrees of the scale or key.
    We further make use of the concept of basic harmonic functions character-
istic for each key. The harmony in music usually starts in the tonic, a function
of harmonic steadiness and release. Optionally, it deviates to the subdominant.
Finally, the harmonic movement culminates in the dominant, a function repre-
senting the maximal tension, requiring a transition back to the tonic. According
to Zika [16] it is the skeleton of every music motion in musical pieces in the TH
system.




                Fig. 1. Basic harmonic functions in the C major key


   In addition to the three basic harmonic functions, there are also variants, or
parallels of the basic harmonic functions. We provide a simplified definition of a
function parallel based on the original definition by Riemann [10].

Definition 1. Function parallel is the chord created from the basic harmonic
function either by extending the highest tone (i.e. fifth degree in the tonic, first
degree in the subdominant and second degree in the dominant) by a whole tone,
or by diminishing the root tone by a semitone. We denote a parallel by adding a
  P“ subscript to the function (T → TP )
”
    An example parallels for the C major chord c, e, g are c, e, a or b, e, g.
4        Ladislav Maršı́k, Jaroslav Pokorný, Martin Ilčı́k

   We also add a definition from one of the modern interpretations of TH,
described by Volek [14] and based on Leoš Janáček’s conception of added disso-
nances to the chord. We will use it in accordance with the original concept.

Definition 2. Chord with an added dissonance is a chord enriched with tones
that did not originally belong to the chord (non-chord tones), thus creating a
whole tone or a semitone dissonance.
    An example of a chord with an added dissonance is c, e, f , g, with the tone
f added to the original C major chord c, e, g.
    Some well-known tunes have a simple harmonic structure, for example Happy
Birthday: T – D – T – S – T – D – T . However, more complex compositions,
such as Smetana’s Vltava from Má vlast can be interpreted as: T – SP (D)
– TP (T ) – S – T – D – T . We can notice the use of the function parallels.
Moreover, some functions can have multiple meanings, if we consider switching
to a different key (functions in the parentheses). We capture this principle in the
next section.


3     Related work

In this section we provide the summary of the work most related to ours.
    De Haas, Magalhães, and Wiering [2] have described, how music harmony
analysis can improve chord transcription algorithms (detecting the correct chord
progression for a musical piece). The authors have found statistically significant
improvement, when the tonal harmony analysis was used. The presented Haskell-
based system HarmTrace4 is capable of deriving a tree structure explaining the
tonal function of the chords in the piece. The number of errors in creating the
tree can be considered as a possible way to calculate the harmonic complexity
using tonal harmony, even though it was not the aim of the work.
    Lots of works have been done on tonal tension (see Lerdahl and Krumhansl
[7]). Tonal tension focuses on the distance from the tonic in every moment and
so describes the harmonic movements of a musical piece. However, speaking
about complexity, we may want to consider tonic, subdominant, and dominant,
all three as the fundamental parts of a musical piece with a simple harmony
structure.
    Finally, the works on chord distance are closely related to our research. In
his inspiring work, Lerdahl [6] introduces the term tonal pitch space, a model
describing distances between pitches, chords, and keys. The model of a space
starts with the layer of semitones, upon which other four layers are built. The
number of transformations of the basic space measure the distance between the
chords.
    If new concepts are to be designed, they need to be in accordance with
previous research.
4
    http://hackage.haskell.org/package/HarmTrace-2.0
                         Towards a Harmonic Complexity of Musical Pieces         5

4     Model of harmonic complexity

The basic idea of our model is simple: The use of basic harmonic functions does
not increase harmonic complexity. However, every single use of a parallel or
added dissonances increase the complexity of a musical piece. We can recognize
the use of complex harmonies by evaluating each pair of succeeding chords –
evaluating their harmonic transition. If we shape the three basic transitions (be-
tween T , S, D) in a triangle, the idea of increasing complexity can be illustrated
as in the Figure 2.




Fig. 2. Increasing complexity of a harmonic movement: The transitions T – D – T or
T – S – D – T are assigned zero complexity, but the transitions T – SP and SP – D
are considered more complex.


    We base our model on the overtone series and consequent harmony rules by
Schönberg [12] and Riemann [10]. We further chose not to differentiate between
the transitions S – D, or D – S, and the rest of the transitions between the basic
harmonic functions. In particular, the transition D – S violates the rules of the
original TH. However, there are some exceptions described by Zika [16] and the
mentioned transition is appearing more often in today’s music. Moreover, we
chose the modifying of the basic harmonic functions to be our primary target
in evaluating the harmonic complexity. The transitions between the basic har-
monic functions itself are principally different from creating parallels or adding
dissonances and therefore should not be considered complex in this concept.
    We also merge the concepts of a function parallel and a chord with an added
dissonance defined in Section 2, since both are a way to modify the basic har-
monic function. The aim here is to generalize the process of creating complex
harmonies, while focus on specific aspects will be a subject of our future work.


4.1   Formalization of transitions

We now want to evaluate the transition from the basic harmonic function to
its parallel (e.g. T → TP ) and in between the parallels (e.g. TP → SP ). That
alone can give us information how much the music deviates from the simplest
6         Ladislav Maršı́k, Jaroslav Pokorný, Martin Ilčı́k

progression and translates to harmonic complexity. We use a linguistic approach
to evaluate these transitions.
    First of all, let us consider the simplest case: T → TP . We wish to create
a parallel either by adding a tone or modifying a tone. Formally, we define a
sentential form as a form of chord notation and two different parametric rules
to modify the sentential form: add(t) and alter(t,alt).

Definition 3. A chord is written in sentential form t1 t2 ...tn if it consists of the
tones t1 , t2 , . . . , tn , and for i 6= j: ti 6= tj , moreover t1 . . . tn are ordered in the
order of the chromatic scale.
    The sentential form is therefore only an ordered enumeration of chord’s tones,
neglecting the duplicity (working in one octave). We further define the transition
rules between the sentential forms in the same fashion as Hopcroft, Motwani,
and Ullman [3], but with notable differences. We design our own types of rules,
applicable to the whole sentential form. We also try to avoid excessive formalism.
In the following we assume, that the derivation starts with the sentential form
representing the (original) basic harmonic function – an analogy with the start
symbol of Hopcroft et al.

Definition 4. The add(t) rule between two sentential forms h and g is defined
as follows: h −−−−→ g ⇔ (h = t1 , t2 , . . . tn ) ∧ (g = t1 , . . . tj , t, tj+1 , . . . tn ), where
                   add(t)
t belongs to the same key as t1 . . . tn , and ∀i : t 6= ti .
    We wish to simulate both adding dissonances and creating Riemann’s par-
allels. We choose an approach which can be confusing at first – both transfor-
mations can be achieved using the add rule. If we set, that the basic harmonic
function that we start with does not necessarily need to contain 3 tones, but pos-
sibly also a single tone or two tones (substituting the basic harmonic function),
using add rule we can indeed get a Riemann’s function parallel. For example,
we can get a parallel cea as ce + a, where ce substitutes the tonic ceg in C ma-
jor. The alter rule will therefore have a different role – moving the tone outside
the key, and so creating sharp dissonances and alterations in the way that TH
describes them [12].

Definition 5. The alter(t,alt) rule between two sentential forms h and g is
defined as follows:

h −−−−−−−→ g ⇔ (h = t1 , . . . ...ti , t, ti+1 , . . . tn ) ∧ (g = t1 , . . . ti , talt , ti+1 , . . . tn ),
    alter(t,alt)

where t belongs to the same key as t1 . . . tn , talt does not belong to that key,
and talt is created from t by augmentation (alt = ]) or diminution (alt = [)
by a semitone. Moreover, t can not be one of the tones of the original basic
harmonic function of h (the basic harmonic function that the whole derivation
started with).
    The constrains we cast on the add and alter rules yield the rules of TH. First
of all, we can not modify the original tones, because we do not want to lose the
sense of the basic harmonic function. If we wish to weaken the basic harmonic
                           Towards a Harmonic Complexity of Musical Pieces             7

functions, we always have the possibility to start with only a subset if its tones.
Secondly, we can add the tones, but only from the same key. And thirdly, we
can alter the tones to a different key, but only after they have been added. Such
hierarchy agrees with Lerdahl’s definition of tonal pitch space [6].
    Note that, using add and alter rules we are able to create arbitrary harmonies.
The only thing we need to keep in mind is, that given a sentential form h, we first
have to find out, which key h belongs to. There are 24 possibilities, comprising
12 major and 12 minor keys. Then we can apply the add and alter rules.
Remark 1. In a simple example we derive the tonic parallel (TP ) cef ]g] from the
original tonic (T ) ce, in the key C major : ce −−−−→ cef −−−−−−→ cef ] −−−−→
                                                   add(f )      alter(f,])        add(g)
cef ]g −−−−−−→ cef ]g].
      alter(g,])
    We first define a chord complexity for a simple chord. Then we proceed to
define a transition complexity between two chords.
Definition 6. A chord complexity (in the given key) c(h) of chord h is the
minimal length of derivation of the chord’s sentential form (in the given key).
Remark 2. For our example tonic parallel: cef ]g], the chord complexity in the
key C major is 4. However, overall chord complexity for this chord can be even
lower. If we choose the key G major and treat the form ce as a subdominant in
G major, we will have 3 as the resulting chord complexity (due to the fact that
the tone f ] can be added in one step – it is a part of the key G major.
    Understanding that the chord h can be treated in multiple keys, have mul-
tiple derivations and multiple chord complexities, we always use the shortest
derivation (lowest complexity) to define the chord. We label such chord com-
plexity c(h). We use similar approach in our final definition – chord transition
complexity.
Definition 7. Let us have the sentential form of chord h1 and the sentential
form of chord h2 . We define a chord transition complexity tc(h1 , h2 ). We dif-
ferentiate between these possibilities:
1. Let us assume, that there is a common ancestor in both derivations of h1 and
   h2 – a sentential form a, that h1 and h2 can be both derived from, h1 in k1
   steps, and h2 in k2 steps. Then if k1 +k2 ≤ c(h1 )+c(h2 ), the chord transition
   complexity tc(h1 , h2 ) equals to k1 + k2 . Otherwise, tc(h1 , h2 ) = c(h1 ) + c(h2 ).
2. Let us assume, that there is no such common ancestor. ∃r1 , r2 , kh1 , kh2 : h1
   can be derived from an original basic harmonic function r1 in kh1 steps, h2
   can be derived from an original basic harmonic function r2 in kh2 steps.
   (a) Let us assume that r1 , r2 are such basic harmonic functions, that are
       from the same key and the sum kh1 + kh2 is minimal. Then the chord
       transition complexity tc(h1 , h2 ) equals to kh1 + kh2 .
   (b) The common key for r1 and r2 does not exist. Then the chord transi-
       tion complexity tc(h1 , h2 ) equals to u1 + u2 , where u1 is the number of
       steps required to derive h1 from the empty sentential form, and u2 is the
       number of steps required to derive h2 from the empty sentential form.
8       Ladislav Maršı́k, Jaroslav Pokorný, Martin Ilčı́k

    In other words, we define the transition complexity between two chords as
the amount of steps needed to disassemble the first chord into its basic harmonic
function (rolling back the derivation), then we switch the function and count the
number of steps to assemble the new chord. The resulting number of steps is the
transition complexity. If there is a common ancestor in derivations, closer than
the basic harmonic function, we disassemble and assemble only to and from this
common ancestor. Finally, if no common key can be found for the two harmonies,
we choose to disassemble the first chord all the way to an empty sentential form,
and construct the second chord from an empty sentential form.
    In all of these cases, it is only a simple constructing and destructing the
chords, using our derivation rules. This is when the analogy with computational
complexity comes in – the chord transition complexity can be understood as the
computational complexity of reconstructing the chord h1 to h2 . The illustration
of chord transition complexity can be found in the Figure 3.




Fig. 3. Chord transition complexity: The chords SP 1 and SP 2 have a common ancestor
in the derivation, and are assigned a chord transition complexity of 5. The chords SP 2
and DP do not have a common ancestor in derivation, therefore their chord transition
complexity is equal to the sum of their chord complexities.




4.2   Harmonic complexity of a musical piece
Finally, we can proceed to evaluation of harmonic complexity for a whole piece.
We have a musical piece M . We can use different algorithms (some of them
                         Towards a Harmonic Complexity of Musical Pieces        9

are described in the Section 5) to extract the sequence of chords {Ci }i≤l of
the length l. Keeping in mind the analogy with the computational complexity,
we are interested in obtaining an average number of steps needed to construct
a chord from the basic harmonic functions. We average the values because we
want to abstract from the length of the progression, in the same fashion as the
computational complexity theory abstracts from the length of the input. Other
interesting statistical values for harmonic complexity will be the subject of our
future work.

Definition 8. An average transition complexity (ATC) for a musical piece M ,
a sequence of chords {Ci }i≤l of the length l and a sequence of its transition
complexities {ti }i≤l−1 is defined as follows:

                                            l−1
                                            P
                                                  ti
                                            i=0
                               AT C(M ) =
                                            l−1




4.3   Implementation methods

Understanding that, for a given chord, multiple basic harmonic functions can
be found, along with multiple different keys, the model can become difficult
to implement. We propose two methods of implementation, based on internal
representation of musical data:

1. Query method – The fundamental rules of TH (keys, basic harmonic func-
   tions) are saved in a database and a number of queries precedes the calcu-
   lation of transition complexity for chords.
2. Graph method – We can also abstract from the ambiguity of keys and func-
   tions and avoid complicated queries. Working within the bounded space of
   all possible sets of tones in the octave, we have designed our derivation rules
   in such fashion, that for a given chord it is easy to calculate all chords with
   transition complexity of 1 from a given chord. That approach can result in
   constructing a graph representation of the problem, with edges represent-
   ing a transition complexity of 1. On such a graph, queries can be easily
   implemented using the breadth-first search algorithm.


5     Experiments

In our experiments, we focused on determination, whether the newly defined
concept of harmonic complexity can be a good descriptor for music classification
task. The aim is to show that ATC values (see Definition 8) can distinguish the
different genres, artists in one genre, or even the songs from the same artist.
10     Ladislav Maršı́k, Jaroslav Pokorný, Martin Ilčı́k

    The dataset was selected from the top 5 best-selling artists in 2013, according
to renowned worldwide music charts and separate for each genre: Rock and Pop5 ,
Jazz6 and Classical music7 . In each genre, 25 different pieces were analyzed.
    For obtaining a chord sequence, Vamp-plugins NNLS Chroma and Chordino8
version 0.2.1 by Mauch [9] were used. We used Chordino plugin to find where the
harmony significantly changes. Then we used NNLS Chroma plugin to obtain
the tones sounding in each time interval. For the purpose of these experiments,
we have selected the 4 most significant tones in each interval to form a chord
representation, allowing (multiple) dissonances.
    We split the experiments into 3 parts.

 1. First we measure the mean ATC for different genres. Since the Classical
    music developed historically and particular music periods are known to obey
    certain composition styles, we show the same type of analysis for music
    periods of Classical music.
 2. Second we measure the mean ATC for different artists from the Rock genre.
 3. Third we measure the ATC found for different songs selected from the 2
    artists of Rock music: The Beatles and Queen.

    The Figure 4 shows the result of the analysis. ATC values around 1 means
that the transitions were not complex and aligned with the basic tonal harmony
theory. On the other hand, values above 3 meant that the transitions needed on
average more than 3 steps. We can see how our model gives the highest ranking
to the Jazz music. Rock music averaged around 2 and the lowest rankings were
assigned to Pop songs. This aligns with the expectations. There is an ambiguity
between Rock and Pop genres, that is understandable, because the genres may
overlap.
    In Classical music periods we can observe how the music has developed
through the centuries. This also corresponds with the theoretical knowledge,
knowing that after Romanticism, the composers began to break the established
harmony rules.
    We have also discovered some interesting results about the concrete artists
and songs. Queen songs were analyzed to be considerably more complex than
the rest of the Rock artists, that can be attributed to their famous ensembles
sounding together in an unusual way. Some particular songs have the ATC value
that is out of the area where the songs of the same genre belong to with high
probability (highlighted). In one particular case (Radio Ga Ga by Queen), we
can conclude that, in correspondence with our results, the harmonic movements
of the song are really considered to be less complex, since the song is known
to have more popular genre than the rest of Queen’s production. The song Let
It Be by The Beatles is also known for its repetitive chorus containing 4 basic
chords.
5
  Source: http://www.billboard.com
6
  Source: http://www.artistsdirect.com
7
  Source: http://www.classical-music.com
8
  http://isophonics.net/nnls-chroma/
                              Towards a Harmonic Complexity of Musical Pieces          11




Fig. 4. Mean ATC for genres, music periods, Rock artists and ATC for individual Rock
songs. The grey interval marks the typical complexity of Rock songs.


6   Conclusion and discussion

In this paper we have proposed a new term that can be evaluated for a musical
piece – harmonic complexity. We have presented a mathematical model based on
tonal harmony, for evaluating harmonic complexity. Lastly, we have successfully
conducted a series of experiments to prove that the new feature is relevant for
music classification task. The results correspond with the expectations. Knowing
that our model can evaluate the harmonic movements precisely we propose using
this technique to obtain music descriptors for future music classication attempts.
    In the discussion we would also like to propose an idea of content-based music
recommendation based on harmonic complexity. As Zanette pointed out [15], the
complexity and change in music together with the repetition of pleasant stimuli
are two fundamental, but contradictory, principles that the listeners are looking
for in music. That translates to the initial idea that drives our research – the
expectations of music listeners are different and subjective. One listener may
prefer simple harmonies, while other might prefer more complex or more specific
music (e.g. jazz or modern classical music). The model of harmonic complexity
therefore presents a new way of understanding the need of listeners and can be
used to recommend him music according to his/her needs.
12      Ladislav Maršı́k, Jaroslav Pokorný, Martin Ilčı́k

    For future work, we propose music classification experiments with the use of
harmonic complexity as one of the music features. We also realize that harmonic
complexity as described is only one of the possible implementations of the broad
term of complexity in music and much can be done in specifying other simi-
lar measures (space complexity, complexity of modulations, the use of seventh
chords, etc.). We hope that by showing this point of view we have induced some
new ideas for the future research.

Acknowledgments. The study was supported by the Charles University in
Prague, project GA UK No. 708314.


Bibliography
 1. Absolu, B., Li, T., Ogihara, M.: Analysis of Chord Progression Data. In: Advances
    in Music Information Retrieval, Studies in Computational Intelligence, vol. 274.
    Springer (2010)
 2. De Haas, W.B., Magalhães, J.P., Wiering, F.: Improving Audio Chord Transcrip-
    tion by Exploiting Harmonic and Metric Knowledge. In: Proceedings of the 13th
    International Society for Music Information Retrieval Conference. ISMIR 2012
    (2012)
 3. Hopcroft, J.E., Motwani, R., Ullman, J.D.: Introduction to Automata Theory,
    Languages, and Computation. Addison-Wesley, Boston, second edn. (2001)
 4. Krumhansl, C.L.: The Cognition of Tonality – As We Know It Today. Journal of
    New Music Research 33/3 (2004)
 5. Krumhansl, C.L.: The Geometry of Musical Structure: A Brief Introduction and
    History. Computers in Entertainment 3/4 (2005)
 6. Lerdahl, F.: Tonal Pitch Space. Oxford University Press, Oxford (2001)
 7. Lerdahl, F., Krumhansl, C.L.: Modeling Tonal Tension. Music Perception: An
    Interdisciplinary Journal 24/4 (2007)
 8. Li, T., Ogihara, M., Li, Q.: A Comparative Study on Content-based Music Genre
    Classification. In: Proceedings of the 26th Annual International ACM SIGIR Con-
    ference on Research and Development in Informaion Retrieval. SIGIR ’03, ACM
    (2003)
 9. Mauch, M., Levy, M.: Structural Change on Multiple Time Scales as a Correlate
    of Musical Complexity. In: Proceedings of the 12th International Society for Music
    Information Retrieval Conference. ISMIR 2011 (2011)
10. Riemann, H.: Harmony Simplified. Augener Ltd., London (1896)
11. Sapp, C.S.: Visual Hierarchical Key Analysis. Computers in Entertainment 3/4
    (2005)
12. Schönberg, A.: Theory of Harmony. University of California Press, Los Angeles
    (1922)
13. Schönfuss, D.: Content-Based Music Discovery. In: Exploring Music Contents, Lec-
    ture Notes in Computer Science, vol. 6684. Springer (2011)
14. Volek, J.: The Structure and Figures of Music. Panton, Prague (1988)
15. Zanette, D.H.: Music, Complexity, Information. The Computing Research Repos-
    itory 0807.0565 (2008)
16. Zika, P., Kořı́nek, M.: Tonal Harmony for 1st-3rd Class of Music Conservatory.
    SPN, Bratislava (1990)