IRCAM - Centre PompidouServeur © IRCAM - CENTRE POMPIDOU 1996-2005.
Tous droits réservés pour tous pays. All rights reserved.

Analysis and Computer Reconstruction of a
Musical Fragment of György Ligeti's Melodien[*]

Marc Chemillier

ISMM Bucarest (Roumanie), 1994
Copyright © ISMM 1994

A pitch-time representation of the piece Melodien by György Ligeti is shown in Example 1. It is a piece for small orchestra which was written en 1971. My presentation will concentrate on the analysis of a passage taken from this piece. We will give more details about the diagram represented in Example 1, but before we consider this piece by Ligeti, we would like to say a few words as an introduction.

EXAMPLE 1. Melodien by Ligeti (pitch-time representation)

1. Introduction

As you will see, there will be no mathematics in my presentation. Considering the title of the Symposium "Music and Mathematics", I must confess that my presentation is mostly music oriented. But I shall try to explain how it could be related to more theoretical and mathematical problems. I would like to explain too how the things I am working on could be related to the very interesting and brilliant lectures that we have already heard during the Symposium, concerning music theory. To that purpose, a classical distinction could help me clarify matters.

Xenakis defines three domains:

I think that we can relate the study of modes, diatonicism, chords structure, and so on, to the outside time domain. For this reason, the theoretical questions which have already been discussed during the Symposium are mostly concerned with the outside time domain. The time domain concerns the study of durations. My own work is related to the inside time domain. What I shall present here will then illustrate a quite different approach than the ones which have already been presented, and I hope, a complementary one.

To explain what I mean by inside time domain, let us say first that a score, for instance, belongs to the inside time domain. The most basic thing that we can say about a score, from my point of view, is that two relations can defined between events:

The score belongs to a level where those two relations can be clearly identified. But in the inside time domain, one can study those two relations at other levels.

By "other levels", I mean weaker representations of the musical content of a score; that is to say that you can forget some information. Let us take an example: suppose you are studying the basic rules of serialism; from this point of view, you need to know that a pitch occurs before another pitch, but you don't need to have information about durations of the pitches, nor about registers of those pitches. So you can forget durations and registers, but you need to preserve the fact that events are successive or simultaneous.

To formalize those two basic relations, I use a theoretical framework which is known in computer science as formal language theory. The corresponding algebraic structure is the free monoid, with an operation called concatenation. It is possible to extend the structure with a new operation which is called superimposition. The resulting algebraic structure is a lattice. We will not develop this point now, but we consider an example to make it more intuitive. Let us assume that two occurrences of an event a are successive; then you can distinguish these two occurrences. But if the two occurences of the same event a are simultaneous, you cannot distinguish them. For this reason, the superimposition is an idempotent operation, whereas the concatenation is not. The idempotent property is one of the basic properties of the lattice structure (for more details see Chemillier 1989).

In the traditional formal language theory, what is studied is sets of sequences which can be computed by different kinds of machines. Since the works of Turing, one has a theoretical and even mathematical classification of machines. We are interested in adapting this point of view to the study of music. That is to say, we try to considere music sequences (which belong to the inside time domain) as the result of abstract computations, and we try to study the process of such computations.

The example by Ligeti we shall study will be considered from this point of view. We shall try to discover the process which is involved in the passage we shall analyze. But there will be no theoretical considerations about this process (which is quite simple). We shall only try to represent this process by means of the programming language Lisp, which provides, as we shall see, powerfull functions which are convenient to describe the process. Gérard Assayag and I have made a computer reconstruction of the example in PatchWork which is a Lisp environment with graphical and musical interface.

2. General remarks about Melodien

Let us go back to the piece by Ligeti and make a few remarks about it. The diagram which is shown in Example 1 is a representation of the piece Melodien in the pitch-time domain. At the middle of the piece (measure 72), one have a C played by the full orchestra, in different registers from C1 to C8 (middle C is C4). This provides a clear cadence point, which divides the piece into two parts. These two part are quite symmetrical, because both of them ends with a beautiful solo played by two French horns coming in the foreground: the first solo takes place at the end of part one, and the second solo takes place at the end of part two. The piece begins with an introduction (from the beginning to measure 13), and ends with a coda (measure 142). A large empty space in the pitch domain can be seen in the coda, the pitches played by the orchestra being restricted to the very high and very low registers.

In the pitch-time domain represented in Example 1, one can see two special types of areas. The first one is marked by cross-hatching. This corresponds to what could be called textures. A texture is a musical surface of the pitch-time domain resulting from the superimposition of different melodic lines, in which a short motive is repeated and progressively transformed. Many examples of such textures can be found in Ligeti's compositions. The other type of areas represented in black in Example 1 corresponds to sections of the piece in which a part of the pitch space is filled chromatically. The fragment of Melodien I shall try to analyze is the texture which begins the first part of the piece, from measure 14 to measure 30.

Textures of this type have been studied in a recent paper written by Jane Piper Clendinning (Clendinning 1993). This paper focuses on a few pieces composed by Ligeti in 1968-69, which are called "pattern-meccanico" compositions: Continuum for harpsichord, Coulée for organ, the fifth movement of the Second String Quartet, and the eighth of the Ten Pieces for Wind Quintet. They all share a specific feature of construction, which is analyzed in detail in the paper. As we shall see, the principles involved in our analysis of the texture from measure 14 to measure 30 of Melodien are not very different from those described by Jane Piper Clendinning for the pattern-meccanico concept.

3. The texture from measure 14 to measure 30

Let us make a few general remarks about this texture. It results from the superimposition of four parts: namely the piccolo part, the xylophone part, the celesta part, and the violin B solo part (see the score). Along these five pages of the score, the texture is combined with a string background. Short melodic elements are progressively added to the polyphony, as we can see measure 22 in the trumpet part. Most of these melodic elements begin with a chromatic motion (for instance, the E of the trumpet measure 22 moving down to the D#). At the end of the section, the texture disappears in a diminuendo, and the musical surface changes into an intricate polyphony in which the melodic elements are combined.

From a rythmical point of view, the notes in each part of the texture have equal durations, but these durations are different from one part to the other, so that the texture consists in the superimposition of different speeds. At the end of the section, an accelerando is applied to each part of the texture.

In each part of the texture, rests are inserted to delimit motives. These motives are progressively transformed from the begining to the end of the section. At the begining, the transformations are simple: notes are progressively added to the motives; for instance, the first motive of the piccolo part is F6 A6, then it becomes Eb6 F6 A6, then Eb6 F6 F#6 A6, and so on. One can also mention that the notes of the motives are the same in the different parts of the texture: for instance in measure 17, the notes are Eb6 F6 F#6 A6 in the piccolo part, F6 A6 Eb6 Gb6 in the xylophone part, Eb6 F6 A6 F#6 in the celesta part, and A6 F6 Gb6 Eb6 in the violin B solo part. Let us consider this passage of Melodien.

The maximal number of notes in a motive is ten notes. This maximal number is reached measure 22 for the xylophone, celesta and violin B solo part. In the piccolo part, no motive has more than nine notes. After this point (measure 22), the notes of the motives in the different parts of the texture are not the same, and the evolution of the texture becomes more complicated. We notice that at the end of the process (measure 29), the motives are nearly in ascending order for the piccolo and xylophone parts, and in descending order for the celesta and violin B solo parts. We shall explain the full process in action during this section. As we shall see, this explanation relies on what we shall call virtual reference motives, that is to say motives which are not necessarily played in the different parts of the texture.

4. Virtual reference motives and operators

In Example 2, one can see the evolution of the xylophone part, from state 9 which occurs in measure 21 (the first state has number 0), to state 22 which is the last state of the process. The last note to be added to the motives, i.d. the tenth note, is the E5 which appears in state 10 between the C6 and the G5. For this reason, this position is marked by a nil symbol in the previous state (state 9), i.d. two empty parenthesis. Generaly speaking, we shall not consider that notes are added to the motives at the begining of the process; we prefer to say that these notes are undeleted. Actually, as we shall see, they can be deleted again during the process. When a note is deleted, it is replaced by a nil symbol at the same position. This situation introduces our first operator:

1) FIRST OPERATOR: deletes notes.

At the begining of the process, most of the notes are deleted, because the only notes which remain in the motives (see measure 16) are the following ones:

F6 A6 Eb6 ( ) ( ) ( ) ( ) ( ) ( ) ( )

and progressively notes are undeleted up to measure 22.

EXAMPLE 2. Xylophone part

When the last note E5 arrives (state 10 measure 22), a new operator is activated. As we can see in Example 2, the B5 in state 9 is decreased a half step down to the Bb5 in state 10. In the next state (state 11), one can see that some other notes are decreased: D#6 and D6 are decreased one step down to respectively C#6 and C6, and C6, E5 and Ab5 are decreased a half step down to respectively B5, Eb5 and G5. We can also notice that the delete operator is once more activated, because in state 11, the G5 has been deleted and replaced by a nil symbol. In fact, this G5 is virtualy present in the motive, because in next state (state 12), it is undeleted again, and at the same time decreased one step down to F5. This situation leads us to introduce our second operator:

2) SECOND OPERATOR: decreases notes (one step or a half step down).

As one can see in Example 2, the decrease operator always decreases notes one step or a half step down, excepted in state 12 and 14, where notes are decreased a minor third down. These are the only two exceptions to the rule in the xylophone part process.

In state 15, one can find a new transformation. In order to explain the whole process, we need to introduce a new operator. Recall that at the end of the process, the motives in the xylophone part are in ascending order. This means that the highest notes must be pushed to the right of the motives. For this reason, we have to introduce a third operator which displaces notes to the left hand side of the motives (or to the right hand side in the case of the celesta and the violin B solo parts where the final states are in descending order):

3) THIRD OPERATOR: displaces notes.

This operator is activated to produce the state 15: Bb5 is displaced so that A6 is pushed to the right. Example 2 shows the process up to state 22. The three operators are activated. For instance, the C#5 in state 13 is deleted, and appears again in state 16 as a C5, being decreased a half step down.

The four parts of the texture can be analyzed in the same manner. They all rely on a ten note motive, and these four reference motives consist of different permutations of the same ten notes. These reference motives are virtual in the sense that they do not necessarily appear in the corresponding part. For instance, as we have seen in the xylophone part, when the last note E5 arrives (state 10), the B5 is decreased a half step down to Bb5, so that the reference motive is never played in this part:

EXAMPLE 3. Reference motive for the xylophone part

The same holds for the violin B solo part: when the last note of the motive arrives, other notes are decreased so that the reference motive is not played. The only part in which the reference motive is actually played is the celesta part: it appears as state 15 at the end of measure 21. In the piccolo part, something interesting should be mentionned. As we have already pointed out, the piccolo part contains no motive with more than nine notes. This means that at every stage of the process, at least one note is deleted. In fact, the reference motive for this part is represented in Example 4:

EXAMPLE 4. Reference motive for the piccolo part

When the E5 arrives (measure 22), the F6 is deleted (and other notes are decreased). Then the E5 is decreased down to D5 ; the F6 comes back as an Eb6, but another note is deleted. Then the E5 (which has become a D5) is one more time deleted, and will never be undeleted again until the end of the process, so that there will never be a ten note motive in this part.

5. Representation of the process

In order to give an appropriate representation of the process, we must point out an important distinction between the operators. The delete operator operates on the present state, whereas the decrease and displace operators operate on the previous state. For this reason, we must distinguish two levels:

The whole process can then be represented by the following diagram (Example 5). The reference motive is denoted m0. It is transformed by the decrease and displace operators to produce states m1, m2, m3 and so on, at the underground level. The delete operator is applied to each state of the underground level to compute the sequence of states w0, w1, w2, w3 and so on, at the surface level.

EXAMPLE 5. Representation of the process with two levels

6. Computer reconstruction in Lisp

The simple process described in Example 5 can easily be computarized using a functionnal programming language such as Lisp. The basic elements in functionnal programming languages are functions. Our three operators can be considered as functions, taking a state of the motive as argument, and returning a new state as value. But Lisp also offers powerfull programming devices which are well adapted to our problem: second order functions, which are functions taking other functions as argument. The two basic functions of this type in Lisp are generally denoted map and reduce. For instance, the map function takes as argument a function and a list, applies the function to each element of the list, and returns as value the list of the results. By considering the process represented in Example 5, one can see that the task realized by the map function is exactly what we need to describe the action of the delete operator. In this case, the arguments of the map function are the delete operator, and the list of states at the undergroung level. The result is the list of states at the surface level, i.d. the list of motives actually found in the instrumental parts of the texture. The other classical Lisp function generally denoted reduce, corresponds to a process which is closely related to the action of the decrease and displace operators, as represented in Example 5. But in this case the reduce function must be adapted. This has been done by Gérard Assayag to provide a complete computer implementation of the process, in a quite simple manner by means of the powerfull tools specific to functionnal programming.

The Lisp environment used for the computer reconstruction of the process is PatchWork. PatchWork combines a Common Lisp interpreter, an elegant graphical interface in which functions are represented as boxes with input/output, and special boxes for music notation and Midi connexions. This system running on a Macintosh has been developped at Ircam. In Example 6 one can see the full process represented as a patch. The four virtual motives are stored in chord boxes. One can verify that the ten notes are the same in the four boxes. These boxes can be open, and an arpeggio representation of the chords would then appear, showing the different permutations of the ten notes used in each instrumental part of the texture. The process described in Example 5 is represented in this patch by the box named processus. It takes as input the virtual motive of the corresponding instrumental part, and the data for the action of the three operators, which are stored in files represented in the patch by the boxes piccolo, xylo, celesta, violon. The output value returned by the processus box is the sequence of notes played by the corresponding instrument. It is then processed by the rythme box, which computes durations for this instrumental part of the texture. The final accelerando is not computed: it is stored as data in the const boxes. The four instrumental parts of the texture are collected in the trame box. Some melodic elements have been added to the resulting polyphony: they are stored in the melodies box. Part of the string background is stored in the tenues box.

EXAMPLE 6. Computer reconstruction in PatchWork

More informations about this patch can be found in a paper written by Gérard Assayag (Assayag 1993). A simulation of the passage has been played on a Yamaha SY77 synthesizer connected to PatchWork running on a Macintosh.

7. Two remarks to conclude

The first remark concerns the melodic elements, which seem to be closely related to the texture. As we have already pointed out, the trumpet plays a short melodic element in measure 22, consisting in a chromatic motion from E5 to D#5. If we considere the two states of the xylophone part which are played at the same time, one can notice that the first one (state 10 which ends at the begining of measure 22) contains the E5, and that the second one (state 11) contains the D#5 (denoted Eb5). This means that the decrease operator has been activated (a half step down). We could then say in this case that the melodic element played by the trumpet emphasizes the decrease operator.

As a second remark, I would like to mention the fact that the process described in this presentation does not pretend to be the exact description of what Ligeti did to compose this passage. It only gives a coherent explanation of the musical content of the passage. However, Ligeti has heard the computer reconstruction of the passage (at Ircam). He said "it is correct". But he also made some comments about the way he composed Melodien. The whole pitch content of the piece was defined as an harmonic skeleton. From this harmonic skeleton, he then chose the pitches actually played by the different parts of the full orchestral score. I think it would not be too unrealistic to assume that this informal operation (to chose pitches from an harmonic skeleton) can be related to the delete operator that we have described, and to the decomposition of the process into two levels we have introduced: the underground level, and the surface level.

8. Addendum to the present paper

An interesting question was pointed out by Eytan Agmon during this presentation at the Symposium: is the derivation proposed in Example 2 the only solution to explain the process? In fact, the answer to the question is no. Example 7 shows a derivation from state 15 to state 19 of the xylophone part, which is different from the one proposed in Example 2. The E5 in state 19 comes from the F5 in state 17, whereas in Example 2, it came from the E5 in state 15. The derivation in Example 7 can be substituted to the corresponding derivation in Example 2, to produce a new description of the process, different from the previous one, but correct according to the principles we have introduced.

EXAMPLE 7. Another derivation (xylophone part, state 15 to state 19)

It is possible to compute all the possible derivations describing the process involved in each part of the texture. This can be done by introducing the notion of subwords of a word, i.d. words obtained by deleting letters in a word. For instance, the word aba may be obtained as a subword of ababa in different ways: aba(b)(a), ab(a)(b)a, a(b)(a)ba, and (a)(b)aba. There exists a simple recursive formula which computes all the different ways a given word is obtained as a subword of another given word. The notion of subword may be adapted to formalize the relation between the motives wi occurring in the instrumental parts of the texture, and the corresponding ten note motive mi at the underground level. One can then write a program computing all the underground sequences which can be associated to the surface sequence corresponding to one part of the texture. Unfortunately, there are many thousand solutions!

Our analysis of the texture should then be improved. One of the problems could be the fact that we have treated separately the four parts of the texture. A more precise analysis can be obtained by considering the surface level as the sequence of all the motives occurring in the four instrumental parts. If we compute all the underground sequences which can be associated to this new surface sequence, the program gives a surprising result: there is only one possible solution. The uniqueness of the solution means that the delete operator does not lose too much information: it is possible to restore the underground level in a unique way. This underground level produced by the computation could be considered as the "harmonic skeleton" of the passage. A full description of this analysis would exceed the limits of the present paper.


Assayag, Gérard. 1993. "CAO : vers la partition potentielle." Les cahiers de l'Ircam. Recherche et Musique no. 3: 13-41.

Chemillier, Marc. 1989. Structure et méthode algébriques en informatique musicale. Thèse, Université de Paris VII.

Clendinning, Jane Piper. 1993. "The Pattern-Meccanico Compositions of György Ligeti." Perspectives of New Music 31, no. 1: 192-234.


[*] This paper is an extended version of a conference presented at the International Symposium on Music and Mathematics, Bucharest, May 29-30, 1994, which was published in Muzica VI, no. 2: 34-48 (1995). Many thanks to Suzanne Winsberg who corrected my english. The computer reconstruction of Ligeti's fragment has been done in collaboration with Gérard Assayag (Music Representation Group, at Ircam).

Server © IRCAM-CGP, 1996-2008 - file updated on .

Serveur © IRCAM-CGP, 1996-2008 - document mis à jour le .