Creating Polyphonic Sequences in the Form of - RepMus

Creating Polyphonic Sequences in
the Form of Rhythmic and Melodic
Canons
Eric Daubresse and Philippe Hurel
Hors-Jeu is a composition by Philippe Hurel for percussion and electronics that was
commissioned by IRCAM and Radio France. It premiered on the 10th and 11th of June,
2006, during the open days at IRCAM, as part of the Agora Festival, with percussionist
Daniel Ciampolini, IRCAM computer music designer Eric Daubresse, and with the help
of Karim Haddad. Figure 1 shows a picture of the premiere of the piece at IRCAM.
Figure 1. Premiere of Hors-Jeu at IRCAM, 2006. Percussionist: Daniel Ciampolini.
There is an unusual relationship between the percussion and the electronics in HorsJeu. The title of the piece encapsulates the guiding idea behind the project: throughout
the composition the percussion is subjected to a variety of atypical conditions, be it in
the relationship between the solo part and the synthetic virtual parts, in the processes
carried out in real time, or in the different timbres.
A large part of the piece was composed using OpenMusic.
21
Eric Daubresse and Philippe Hurel
Hors-Jeu
Hors-Jeu is a composition for percussion and electronics. For most of the piece the
percussion line consists of computer-generated polyphonies, which were not conceived to
be played by real musicians on real instruments. The soloist is therefore “offside” (horsjeu). On the one hand because the solo line was written in micro-intervals, it cannot
be performed as such on the vibraphone. (The microintervals were rounded up to the
closest semitones complementing the electronic line executed in quartertones.) On the
other hand, because the tessituras are not compatible with the vibraphone and the soloist
only plays what was deemed performable in the score created by the computer. In the
only passage in which the soloist is treated as such (at the end of the second section,
written by hand), the electronic parts which play with the same rhythm as the solo part
consist of samples of instruments on which it would be impossible to play what is actually
written. In a similar way, the first part of the piece contains samples of tubular bells
with a tessitura and intonation that are completely unrealistic and that are played at a
tempo which is unimaginable for a percussionist.
OpenMusic was used to compose the first three sections of the first part of Hors-Jeu
(the second and third parts are variations on the first). The aim was to compose three
polyphonic sequences for five voices – the solo part and its “duplicates” – in canon form.
The “cantus” or upper voice of the polyphonies consists of a simple rhythmic pattern
with a melodic envelope that evolves over time to become an ascending arpeggio in the
first two sections and a descending one in the third section.
Through the progressive suppression of the long values, the rhythmic complexity of
the opening of each section resolves into a homorhythmic passage of thirty-second notes
which sounds like a timbre. The first part is thus centered on the idea of a perceptive
threshold, on the transition from differentiated perception to global perception.
In this following sections we will describe the different stages in the creative process
that gave rise to these polyphonic sequences.
Step One: the acceleration by reduction of the values
of a pattern
The composition process began with an initial rhythmic pattern formed of 12 values
expressed by the following ratios:
(1/16 1/16 1/4 1/4 1/16 1/16 1/12 1/12 7/48 1/16 1/16 1/16)
The value of a 1/4 corresponds to a quarter note, that of 1/12 to an eighth note
in a triplet, that of 1/16 to a sixteenth note, and so on. This rhythmic figure can be
represented symbolically as shown in Figure 2:
Figure 2. Basic rhythmic pattern.
22
Creating Polyphonic Sequences in the Form of Rhythmic and Melodic Canons
A simple rhythmic value (1/32, a thirty-second note) represents the unit of subtraction
throughout the process and corresponds to the minimum output value.
A recursive reduction process is launched from the initial pattern and this minimum
output value. The equivalent of a thirty-second note is subtracted from one of the
elements of the pattern, thereby producing a new pattern, which is in turn joined to the
initial pattern. Durations are thereby recursively subtracted from the patterns, which
duration is progressively reduced to produce a gradual acceleration. The sequence comes
to an end when all of the rhythmic values are equal to thirty-second notes.
In each case, the subtraction is executed randomly on any given element of the pattern,
with the sole condition that the length of the given element is longer than the output
value. If the chosen element is smaller than or equal to a thirty-second note, another
longer element is chosen. Moreover, if the result of the subtraction is smaller than
a thirty-second note, then this result is readjusted to obtain a thirty-second note. The
process is repeated, gradually reducing all the rhythmic values to ultimately obtain solely
thirty-second notes. Figure 3 shows the patch which implements the process described
above.
Figure 3. Acceleration of a rhythmic pattern by reduction and the quantification of the results. The accelerand function performs the iterative process of acceleration. The sub-patch
quantification launches the quantification process (using omquantify) which ensures a simpler
notation.
23
Eric Daubresse and Philippe Hurel
Given that the search for units in the subtraction is random, a different result is
obtained with each execution of the process. With the chosen pattern and output value
of a thirty-second note, the process required approximately 360 computations, which
yielded 30 successive patterns before the sequence came to an end. Figures 4 and 5
show respectively the first six and the last three measures of the results. The process of
reduction is clearly visible in comparison with the initial pattern in Figure 2.
Figure 4. The first six measures resulting from the process of acceleration.
Figure 5. The last three measures resulting from the process of acceleration.
A quantification of the sequence permitted a clearer musical readability of the results.
During the quantification process, the subdivision values that will be used for the rhythmic restitution can be specified (see Figure 3). We chose subdivisions of 2, 3, 4, 5, 6, 7
and 8. All other subdivisions can be rounded out to the closest authorized subdivision.
In this case the time signature chosen for the quantification was 4/8 (four eighth notes
per measure), which ensured the smallest possible number of approximations but at the
same time maintained a fairly good readability.
As one can see, this first step did not generate any pitch but solely rhythmic values
that constituted what will henceforth be called the first voice.
Step Two: the creation of a canon by imitation and
delay of the first voice
The voice that emerged from the first step was duplicated four times so as to form a fivevoice canon. The four new voices are staggered by adding a given offset at the beginning
of each voice. An overall tempo of 72 quarter-note beats per minute was ascribed to the
voices.
At this stage, a temporal expansion/compression of each voice can also be introduced,
which multiplies the offsets of each event by a non-null ratio. Although we implemented
it, in the end we did not use this option for the composition of the piece.
Then, a new quantification occurs when the voices are superimposed, once again with
the aim of increasing readability. We assigned MIDI channels to each voice in order to
listen to them with different timbres.
Figure 6 shows the patch that was used for the realization of the canon. The function
defined in this patch takes as arguments a list of rhythmic values that originated from
step one (inlet ratio), an offset (inlet offset) and a compression/expansion gain (input
compress/expand ) to calculate the new rhythmic sequence, as well as a list of notes (C3
by default). A tempo and a MIDI channel are also ascribed to this sequence.
24
Creating Polyphonic Sequences in the Form of Rhythmic and Melodic Canons
Figure 6. Detail from the delay operation for the creation of canons.
The different voices resulting from this patch are then grouped in the same poly object.
Figure 7 shows the first measures of the resulting rhythmic polyphony. In this version
the delay (inlet offset) of each voice, always expressed in musical time, is the following:
0, 3/16, 5/16, 7/16, 2. (The first voice has no delay and so registers as zero, the second
has a delay of a dotted quarter note, and the last voice is delayed by two quarter notes.)
Figure 7. First measures of the superimposed voices.
25
Eric Daubresse and Philippe Hurel
Step Three: pairing the pitches
When the rhythmic structure of the polyphony is established, the next operation consists
of pairing the rhythmic values of each voice with a particular pitch, following a process
of pitch indexing within a harmonic field.
The pitches are drawn from chord reservoirs which derive from FM-generated spectra.
The chords are created from a pattern of carrier frequencies modulated by an index that
varies over time. These aggregates were calculated beforehand with the help of another
OpenMusic patch. Some of the chords were then slightly modified “by hand” (by rounding
up the too numerous quarter tones to semitones) to obtain a better sounding, while at
the same time controlling the tiling inherent in the succession of harmonies.
There are 42 basic chords, and they cover each of the 42 rhythmic patterns used in
the sequence (30 calculated during the reduction process of step one and 12 which are
repetitions of the last pattern used to prolong the concluding series of arpeggios). Figure
8 shows the first eight chords.
Figure 8. The first eight chords.
For each chord, only certain pitches were selected from another pattern that we define
according to a different principle. This pattern is not rhythmic but based on pitches;
it corresponds to the positions of the notes in a chord. The positions are calculated in
relation to the lowest note in the chord, which is assigned the number 1 in the pattern.
We call this a melodic pattern.
Thus the melodic pattern consists of a series of 12 values. These values constitute
the indices which help retrieve in each chord the pitches assigned to the 12 values of the
rhythmic patterns.
30 melodic patterns were generated, one for each instance of the rhythmic pattern
of the initial sequence (the latter having been repeated 12 times). To construct these
melodic patterns we used interpolation by BPF from the Profile library: bpf-interpolx
(see Figure 9).
As shown in Figure 9, the interpolation goes from an erratic starting pattern towards
a consistently ascending progression. The starting melodic pattern (on the left) is as
follows: 11 7 10 3 9 6 13 7 12 4 5 8. The 12 ranks corresponding to these numbers are
chosen from the pitches that make up the first chord, in the indicated order. They are
then assigned to the values of the first rhythmic pattern.
The final melodic pattern is made of a series of increasing numbers: 4 5 6 7 8 9 10 11
12 13 14 15. This choice eventually produces an arpeggio at the end of the sequence. An
interpolation occurs in the course of the 28 patterns in between the two extremes. The
progression of the interpolation can be visualized using two methods: by superimposing
the patterns (in the bpf-lib editor) or through a concatenation of the patterns that represents the profile evolution over time. Thus the idea is to transform the melodic envelopes
26
Creating Polyphonic Sequences in the Form of Rhythmic and Melodic Canons
Figure 9. Generating melodic patterns by interpolation.
of the patterns over time, so as to redirect the listener’s perception toward a simpler,
more comprehensive, listening experience.
With each new instance of a rhythmic pattern (that is every 12 events) in the first
voice (the voice from which the other voices in the canon are derived) both the chord
and the melodic pattern change.
A transposition of the melodic pattern is programmed for each of the four other voices
in the canon. Different pitches can be selected for each voice, while remaining within the
same harmonic context. For example if the first harmonic pattern consists of the pitches
ranked 11 7 10 3 9 6 13 7 12 4 5 and 8 in the first chord, a transposition of -2 yields the
pitches ranked 9 5 8 1 7 4 11 5 10 2 3 and 6 which are then applied to the second voice.
Thus the first voice is repeatedly analyzed to locate each change in rhythmic pattern
(every 12 notes) and to immediately apply the next reference chord not only to itself but
also to the four other voices. If a slur occurs between two notes in one of the voices at
this very moment, the algorithm delays any changes until the end of the slur.
Figure 10 shows the iterative om-loop patch which assigns melodic patterns (derived
from the BPF) to the pitches (drawn from the selected chords), and which takes into
account the size of the rhythmic patterns and the transpositions of each voice. Input 0
(called accords) receives the lists of chords. Input 1 (called bpf ) receives the lists of
indexes for each melodic pattern from the BPF. Input 2 (called transpo) receives the lists
of transpositions of the melodic patterns in the form of a positive or negative shift of the
transposition indexes.
Inputs 3 and 4 receive respectively the lists of the previously calculated rhythmic
patterns and their durations. The part of the patch on the right-hand side in the figure
verifies that the size of each rhythmic pattern is appropriate so that the changes in
melodic patterns can be precisely synchronized every 12 notes. This procedure ensures
that harmonic changes always occur at the same time in all five voices of the polyphony.
The result of this patch, which appears as a midicent list, is sent to a multi-seq. The
latter pairs the starting rhythmic sequence with the pitches just calculated.
27
Eric Daubresse and Philippe Hurel
Figure 10. Chord mapping and transpositions of harmonic patterns.
The final polyphonic sequence, which was obtained after numerous comparative trials,
was used both as a base for the part played by the vibraphonist and to generate the
electronic sequences containing samples and physical modeling synthesis.
Figure 11 shows an extract from the beginning of the polyphonic sequence ready for
performance. The first voice is the original pattern. The other voices are rhythmically
staggered and, although they are transposed, they remain within the same harmonic field
as the first voice. The harmonic field changes for all the voices on the twelfth note of
the first pattern. The vibraphone line features on the bottom of Figure 11: it consists of
tempered pitches extracted from the third voice.
Figure 12, an extract from the final six measures of the same sequence, shows the end
of the acceleration process up to the final value of a thirty-second note. The percussionist
plays the superior harmonics of each spectrum on the glockenspiel.
Step Four: the use of the polyphonic sequences
After constructing the patches described above, the computer “composed” the polyphonic
sequences by running each of the processes. We then selected the best versions proposed
by the machine and changed the parameters of the starting pattern to obtain the desired
results. This procedure proved longer and more fastidious than composing by hand,
but it also allowed to execute “operations” that would have otherwise been difficult to
perform.
A subsequent step consisted of using the polyphonic rhythms as structures to be processed electronically with pure synthesis (physical modeling synthesis with Modalys software), filter synthesis (cross synthesis with Audiosculpt and filtering with SuperVP), realtime treatments (spectral filtering, spectral delay, frequency shifting with Max/MSP), or
a mix of samples (with Digital Performer). In effect, all of these techniques coexist and
the different electronic layers are thus generated through varying means.
28
Creating Polyphonic Sequences in the Form of Rhythmic and Melodic Canons
Figure 11. Extract from the beginning of the sequence ready for performance.
OpenMusic proved to be useful for harmonically controlling the voices in Hors-Jeu.
However, there are still problems with rhythmic quantification. Further research in this
area is needed, research that takes into account the composer’s anticipation of the approximate durations in the piece when he/she is composing by hand. By anticipation we
mean the capacity to predict the outcome of such an operation. Furthermore, the values
that are posited as acceptable or unacceptable in the patch may not be suitable for the
creation of a truly musical score, and so further research and experimentation will also
have to take into account the playability of the computer-generated rhythms.
29
Eric Daubresse and Philippe Hurel
Figure 12. Extract from the final six measures.
30