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)