[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|
- 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.
Problem...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.