Skip to main content

piano & guitar 3 - orchestration

[general apologies for the images in this post, which don't always link easily to the text. My parameter names kept changing over the few days spent composing this, which looks confusing now because the parameter names (descriptors) aren't always the same.]

Having generated the phrases for the guitar and piano, I need to decide how this 5-mins of duet will relate to the rest of the ensemble. I decided to use the Xenakis rotating-cubes technique to generate a phrase-by phrase orchestration behaviour. Crucially, this only defines the type and size of orchestration, not the specifics: I could have generated very specific limitations on instruments etc but wanted to keep this free to save time really, and allow a more intuitive shaping of that aspect. I also wanted to avoid this being too 'blocky' and only mirroring the phrasing of the duet, so I allowed for some orchestrations to reach forward or backwards into neighbouring phrases. My first thoughts on this is that I need cubes to decide:
  • Type [not a great descriptor in hindsight...]: whether or not that phrase is orchestrated or just a duet. I use four options for this; nothing/something/something-forward/something-backwards.
    • 'something-forward/backward' means that the orchestration extends into the next or previous bar.
  • Number of instruments in the orchestration. Free selection.
  • Number of notes taken from the source phrase in the duet which for the focus of the orchestration.
  • How changed [again, poor descriptor]: Relationship of the orchestration to the source. This can be amplification of the source material (doublings, sustaining etc.), negation (unrelated pitches/timbres, such that the orchestration sounds in tension to the source), mask (overpowering the source in some way).

Ex.1 shows the cube corners, and also the overlaying of these four parameters and how they rotate.

Ex.2 shows the values of each corner, and the first two-and-a-bit rotations of the four cubes. The values of the number cubes were chosen to oscillate between focussed (low numbers) and complex/diffuse versions of the behaviour types.

Ex.2 four overlaid cubes (8-corner properties) and the 1st and 2nd (and a bit...) rotations
The next question is how to traverse the cube. I need something with the possibility for reading the sequence of eight corners straight (1 to 8), and also the possibility of deviations: this means treating the network simultaneously as a looping linear sequence 1–8, but also as a non-linear network where each node (corner) is connected to two others (1 input and 1 output) out of sequence. Because the sequence is constructed in a sharply defined two-halves where the first 50% of the sequence is 'nothing' (no orchestration) and the second 50% is orchestration of some sort, if I just read the sequence straight then I'll get a predictable texture of 4-bar blocks of duet followed by 4-bar blocks of orchestration every time. I went back to my Markov Chains (see previous post on Piano + Guitar duet 1) to generate a random walk across the cube. I made another max patch (see ex.2) follows a simple Markov chain for each of the eight corners where:

  • there are three possible outputs (reflecting the three vertices extending from each cube corner:
    • next corner in sequence (50% probability)
    • previous corner in sequence (25% probability)
    • the 'other' corner (25% probability); not linearly back/forwards along the sequence, but non-linear jumping to some other point on the network.
  • Uses a variable (0–9) that moves the midpoint of the distribution. '4' gives the 50/25/25 above, higher values increase probability of linear motion, lower values increase probability (equally) of either backwards motion or non-linear jumping.
Ex.3: markov-chain Max patch to generate variation in the sequence of corners

Ex.4 shows examples of outputs of the markov-chain for various values of the probability variable. The higher values clearly show the prevalence of 1–8 motion (though often interrupted), while lower values are more chaotic: with the '2' value showing marked prevalence of either backwards or jumping behaviours.

Ex.4: 5 different random walks with decreasing probability of the 1–8 sequence being followed linearly.
Of course this is further complicated by the fact that the cubes are rotating every 8 or 16 bars, so the behaviours above will play out on a shifting ground: not to mention the fact that these orchestrations are only sparsely dotted across 5–6 minutes of slow quiet piano and guitar duet, so these relationships are already something in the background of the piece.


After doing all this work, I realise that my duet is actually only 25 phrases long, which is three cube rotations, and not enough for the difference between straight and chaotic readings of the cube to be meaningful. I have a few options here:
  • I can just make the duet twice as long:
    • either generating more material (tricky because of the now short deadline), or just copying what I have but adding in some variation in some way.
  • I can make double the speed of the cube reading by using two corners per phrase.
  • I can do two passes together, orchestrating first with a high probability reading, then a low.
In the end I did two of these. I made the duet almost twice as long, extending it to 44 phrases, and I also did two passes, one of probability-9, which tends to read the cube linearly, and a second pass with probability 2, which is very jumpy. The second pass is more sparse, only the latter half of the phrases are processed, and I made intuitive choices in places to alter some of these so that I don't lose 'all' of the non-orchestrated phrases: mostly this meant moving the orchestration to starts/ends of otherwise empty phrases so that it became part of something from the first pass.


Popular posts from this blog

cello solo v1

Cello solo v1 The cello solo will use my prepared cello: not a million miles from a prepared piano as mentioned in previous blog post. The preparations make pitch quite indeterminate, so rather than generate a stream of pitches (like for the guitar/piano) what I wanted to generate was essentially a tablature score for the cellist to create a stream of actions that would limit the indeterminate pitches in different ways to create loose patterns. Tablature notation differs from standard notation be being more about telling the player what do (what actions to carry out, where to put fingers etc.) rather than what sound/note to make. It can be especially useful in situations where the specific pitch result is indeterminate so instead the notation deals with timing, positions etc. See Aaron Cassidy's scores and writings on this as a good example. Below is a page of his solo for any bowed-string instrument, with staves for: (top) fingerings and bowing on the four strings; (middle) fing…

About the project

I'm a composer and lecturer at the University of Leeds, UK. As part of our undergraduate composition teaching we introduce various flexible generative techniques, and an expectation that students write a commentary that outlines their compositional process. To give the students another example of how this can be done, I've decided to compose a piece [jump to final piece] for the student new-music ensemble that explores several of these techniques; to augment existing examples, and give a more first-person account of using them. This blog follows my process as I compose using some techniques that I've taught often but wouldn't normally used myself: see here for examples of what I do usually.

[Impatient? go straight to the finished score, or watch the video]

Here's what I begin with:
the ensemble is unusual to say the least, but I like a challenge!3 fl, 2 cl,  sax, tpt, cornet, euphonium, perc, piano, guitar, celloRehearsals begin in February 2018 with performance in…