Magnus Lindberg and Twine; creating a Study after Twine : working with intervals and pitch class sets : creating primary structural chords : making a rhythmic vocabulary after Lindberg : writing a program as an improvising machine : defining a ‘case’ : a serial Invention after Bach – working with interval sets : Lindberg’s Cantigas.
One of the most committed exponents of Computer-Aided Composition has to be the Finnish composer Magnus Lindberg (b.1958). Since the late 1980s he’s been working with a harmonic system based on progressions of primary structural chords. Lindberg has adopted pitch intervals recognised in CAC systems as integers, and which can be brought into a computation to generate pitch-class sets. These sets were designated and ordered into a unique notation system by Alan Forte who extrapolated them from the Mathematical Set Theory of composer Milton Babbitt. The intention here was to provide a method for the analysis of both serial and non-serial atonal music. This means that Forte’s system can equally describe the music of Ives and Stravinsky as the music of Schoenberg and Webern.
Linderg’s pre-composition workings out have been studied by the American composer Ed Martin who has had the opportunity to interview Lindberg at some length about his composing strategies. Martin has produced an impressive paper on titled Harmonic Progression in Magnus Lindberg’s Twine.Published in the American journal Music Theory Online this gives a keen insight into Lindberg’s way of composing, even though it does not dwell specifically on the aspect of computer-aided composition. As much of Lindberg’s output has centered on music for large orchestra, to be able to get in close to a work for solo piano reveals much that might go unnoticed in the complexity of an orchestral composition.
“Primary structural chords” from Ed Martin’s analysis of Lindberg’s Twine
Sometimes it’s a valuable exercise for a composer working with a CAC system to make a short study exploring another composer’s approach and technique. Having long admired Lindberg as a kindred spirit in composing with computer-aided systems, I was keen to see how Ed Martin’s revelations might be turned into a piano work of my own making. It also provided an opportunity to demonstrate how intervallic composition of pitch might be handled in a CAC environment.
My Study After Twine begins with choosing a Pitch Class Set. Using functions already present in the Opusmodus system it was possible to output two hexachordal sets. Whereas Lindberg made his harmonic progressions with 12-note chord collections, I decided to use a single hexachord, a 6-note form and its complement from which to generate similar primary structural chords as Magnus Lindberg’s.
In the integer model of pitch, all pitch classes and intervals between pitch classes are designated using the numbers 0 through 11. It is a common analytical and compositional tool when working with chromatic music, including twelve tone, serial, or otherwise atonal music. A pitch-class can be one of 12 pitch-classes designated by integers 0 11. Pitch-class 0 refers to all notated pitches C, enharmonics B-sharp, D-double-flat. Pitch class 1 refers to all notated pitches C-sharp, D-flat, B-double-sharp, and so on.
The next stage was to turn the pitch rows into chords, or as the function in the first expression suggests, to chordize the pitch rows.
By randomising the order of transpositions I can mirror Lindberg’s own approach to organising a chord from a linear row. Having done this I decided to use a further pitch-transpose function able to transpose a given number of randomly selected pitches in a list by a specified value or values.
With this material in place the rhythmic content can be considered. This is not something Lindberg always computes. He is a fine pianist and improviser, and in this piece it would seem ‘his hands on the pitches’ led the way towards a rhythmic rendering and a mapping of pitch. However, I was keen to use something of the rhythm vocabulary I identified as present in Twine.
In the code example below each note-length collection (written in the OMN script) is set as a variable. I’ve placed a test list of these variables headed by a function able to apply evaluate the content into notation.
My intention from here on is to use the CAC system as a kind of improvising machine. I can’t play or improvise at the piano like Lindberg but I can get close to the spirit of his improvisation by setting up structures that pick and chose from three parametric elements (rhythm, dynamics and pitch) simultaneously and make correct alignments. Not only can this be achieved, but the ‘improvisation’ process can be run many times over by setting and changing different random seeds. The process is governed by two integer lists:
This expression looks like we’re defining a function. In fact the expression is defining a ‘case’, an instance where something happens (or not) when an integer is presented. But it’s something that happens here within a random ‘pick’ operation. Integer 2 says pick at random r3 or r4 (that is 2 1/16ths or 2 1/8ths).
This process is repeated with the parameter of dynamics and then pitch. If integers 2 to 5 are presented then short melodic figures are triggered. Otherwise if the integer 1 is read pitches of 2 3 4 or 5 are chosen and then chordized.
The finishing touch is to bring all three parameters together into an OMN list. Notice in the output of such a list that each ‘bar’ or list contains in order : length, pitch, dynamic. Compare the OMN list against the notation:
What follows is quite a different approach to working with 12-note technique. A little Invention, included in the Opusmodus Tutorial sequence Stages, is not so much about harmony as intervallic melody. It takes the idea of Bach’s two-part inventions as its starting point. What it demonstrates is not only how intervallic material can be prepared for composition, but how it is laced into rhythm.
The pre-composition follows a common model, that is devising a rhythmic sketch prior to finding the pitches. This can be done by writing a rhythmic score in two parts or, as in the After Twine study, putting together a vocabulary of rhythmic groupings of note-lengths. The list that heads the code was devised from sketching the invention on paper and then examining all the rhythmic grouping used. It seems rather a laborious process, but it is most effective because it can easily be revised and ‘played’ with, and even be ‘reused’ as part of a library. Here’s a few bars of the rhythmic sketch, which because of the parametric separation possible in most CAC systems can be shown without pitch content.
Notice that the row here is that same four-note Slonimsky pattern featured in the section ‘Starting with Pitch’. The subsequent compositional processes look like this:
In order to get more variation some of the bars have had their pitch orders randomised. Notice the use of :section. This keyword selects the bars whose pitches will be randomised. Here are the opening bars. See the code and full score in the Appendix at the end of this section.
Although a composer experienced with serial composition could easily have constructed this short Invention on paper, the way computer-assistance can handle the interval generation and processing and its blending with rhythm could assist the composer in larger and more complex projects. What is intriguing is the way composers such as Lindberg have modified their musical language from dissonant and complex serial scores (like Twine) toward a quasi-tonal and even spectral harmonic world. Orchestral compositions like Cantigas show composing from interval sets is still a formative activity and computation of such interval material (as shown below), albeit not linked to serial structures, contributes to the making of this composition.
Appendix: A 12-tone Invention (after J.S.Bach) for piano
Opusmodus score file [OM-Invention]