16 – Duos, Trios, Quartets

The legacy of MIDI :  new directions from Michael Van der Aa and Nick Collins : Reinventing the Classical Duo, Trio and Quartet : Boolean editors to Real-time composition systems : Touched by Machine? : Duo Batterie and Serenade : Trio Lyrique and working with MIDI percussion : Trio Lento for Piano Trio : Le Jardin Sec for string quartet : visual scanning in score-scripts :  a prelude to automated scoring and control of activity and silence : the rest in scoring of pitch : Objects of Curiosity (SuperCity) – a commission for the Kronos.

‘The past is another country : they do things differently there’. This quote opens both the novel by L.P.Hartley and David Lean’s film The Go Between. It is strangely apposite when considering the 30-year development of visual programming connected with the MIDI protocol. This data protocol has been taken as a given in this text so far because, despite the many techno-sages who denounced its future and relevance to music composition in the 1990s, it has survived if only as an effective control mechanism for parametric elements in music. It also remains because it is now embedded within the operating systems of computers, and most composers are conversant with its language as an adjunct to enabling effective simulation and referencing of the standard musical instrument library of digital samples. And, as this instrument library has developed to include every nuance of string, wind and percussion technique in a sampled form, so there has been an intriguing convergence in new and web media realisations of music between human performance with ‘real’ instruments and sampled ‘additions’.

The music of Dutch composer Michael Van der Aa exemplifies such a convergence in his multimedia work Up-Close, winner of the 2013 Grawemeyer Award for Musical Composition. This work makes use of a unique software application called the Double A Player able to handle to playback of samples in a musical and flexible way.


The composer and software developer Nicholas Collins has taken a similar step in technological terms with his work Concerto for Accompaniment for oboe and automatic accompaniment system. He has also used Open Sound Control (OSC)  to link to the real-time synthesis  of SuperCollider in a duet for harpsichord and computer called Sustituet.

16-2Excerpt from Concerto for Accompaniment

Audio clip: Adobe Flash Player (version 9 or above) is required to play this audio clip. Download the latest version here. You also need to have JavaScript enabled in your browser.

The idea of the duo, the trio, the quartet now goes beyond the Classical nomenclature of the Duo for violin and piano, the Piano Trio and the String Quartet based predominantly on Sonata, Ternary and Variation forms. From the contemporary reinvention of these forms there is much for composers to learn and emulate. In the Duo domain, works such as Elliott Carter’s Enchanted Preludes, The Axe Manual by Harrison Birtwistle and Magnus Lindberg’s Gran Duo take a wholly new look at the concept of the Duo.

In this section of Composing How and Why you’ll discover there is a looking backwards alongside a contemporary update in writing for these, now freer, combinations of Duo, Trio and Quartet.

One of the advantages of working with a CAC system with an open architecture, one that allows the composer to make bespoke composing tools, is that a measure of continuity can be achieved as the technology develops. If a composer has been using a particular tool or function, it can usually be replicated. This has certainly been the case as I’ve attempted to move with the technology since the 19080s.

My interest in CAC came out of experiments with Boolean editors found in the editing screens on early MIDI sequencers, those complex pages of AND, OR, NOT templates which allowed, to my fascination,  whole-scale transformations of material.

I began composing pieces from tiny pieces of data made with step time or quantised entry (i.e pitches with perfect note-lengths). The next step was discovering and working with real-time composition environments such as David Zacrelli’s M, Jam Factory and Real-Time. These were the precursors of today’s Live Coding applications and allowed sophisticated composing operations that brought together the ‘off-line’ and the ‘real-time’. Before my final move into programming languages, and script-based programming in particular, I found Emile Tobenfeld’s DR.T suite of applications. Of these the Programmable Variations Generator (PVG) introduced so many of the function types I was later to find present, and even be able to build myself, in script-based applications.

A sequence of compositions called retrospectively  Touched by the Machine? was result of this transitionary stage from the Boolean editor to the mix of a menu-driven programming able to interact with real-time on-the fly decision-making (improvisation by another word). The title came from a paper in Computer Music Journal (1995) by the composer Stephen Travis Pope in which he collected responses from four composers to questions he had devised on the impact of  MIDI  technology. Had these composers been ‘touched by the machine’ ? In a series of four extended compositions I set about answering Pope’s questions: DUO, TRIO, QUARTET, EDGE. Whilst I still have the computer (an Atari ST), the software and all the relevent files it would prove a mammoth task to annotate this work, though I have been intrigued whilst reviewing these musical scores just how much I can recognise as distinct CAC processes and generation techniques.


Duo Batterie is a short study for piano and marimba. It features a mix of scales, rhythms articulated by the use of diminution and augmentation, and carefully positioned pauses and dynamics. It is published as one of the Duo pieces in A Selection of Sextets as it features two of the sextet’s instrumentation.

The score-script reveals that the entire rhythmic scheme, in three sections, was devised first. Piano and marimba play in rhythmic unison throughout. The first section takes a 5/8 phrase and generates twelve variations of different metric sizes. The expression is surrounded by a length-diminution function  making changes to the fifth and eighth variants, turning 1/8ths into 1/16ths.

16-3The second section adopts another approach to rhythmic generation using substitute-map. This time a rhythmic sequence in metric groupings is written in OMN rhythmic symbols and numbered one to eight. An arrangement of integers (between 1 and 8) is created and using the substitute-map formula evaluated, with sections (5 9 14) processed by length-augmentation to the power of 2 (doubled):

16-5In the third and final section the marimba finally separates rhythmically from the piano, only to play tremolando figures against sustained piano chords:

16-6The pitch element is then laid out to operate throughout the three sections, all three referencing a Slonimsky pattern:

16-7This pattern is spanned to the metric groupings, each grouping transposed according intervals that reflect those in the pattern itself. The first expression shown below is by way of an experiment: to audition the effect of the Slonimksy pattern being transposed sequentially. The actual transposition  list belongs to variable rows-1. This material for the piano left-hand has each metrical group (bar) reversed by the function gen-retrograde and the pitch c4 removed from selected sections by filter-remove. This creates a heterophonic accompaniment to the marimba and piano right-hand:


16-9An important and necessary feature of this duo is certainly the play of dynamics. The technique used throughout each section of the duo is to span a dynamic marking to each metrical group:

16-10The function mclist adds a parenthesis around each dynamic. The use of span aligns the list of dynamics with the metrical groupings.

A further duo from the Selection of Sextets is titled Serenade and scored for alto-flute and bass clarinet. This is an example of how computer-assisted composing can realise a very mixed coming together of gestural ideas, then extended and transformed by parametric functions. The score contains several functions not mentioned so far in this text. It also makes considerable use of tempo changes and gentle polyrhythms. 16-11

These opening bars are an exact rendering of the score-script as it appears in Opusmodus. Although it’s possible in some CAC systems to code all legato and staccato detail – so necessary in music for wind – it is such a mammoth task that there’s a lot to be said to putting in such detail at the score writer stage:

16-12Notice above the music is now transposed for performance and dynamics are included. Let’s take a look at these opening bars:

16-13This approach to making transpositions has been met before, only here the transposition series is being read from the pitch-series itself – as a series of intervals between pitches. As intervals, the variable sl-34 would read 0 1 3 6 8 11.

The variable source-1 takes the Slonimsky pattern and turns into two rising scales, of one octave, and of two octaves:

16-14The function gen-curve enables the composer to produce a wedge-like symmetrical arrangement of pitches, a device common to the music of Harrison Birtwistle and a particular feature of his first published work Refrains and Choruses. The function pitch-ornament helps avoid any repeated pitches in the output. Here’s a simple description of how gen-curve operates as a symmetrical process:

16-15Or in the context of the composition under discussion:

16-16To create the drone in the first bar of the clarinet part, the function length-condense is used to calculate the drone’s length. It’s this kind of calculation that saves a lot of physical ‘counting-up’, and should the content of the source material be changed the length of the drone is automatically adjusted. Let’s place both expression together to see how they work. Both outputs are in OMN format:

16-17Here is the complete code for the first section of just two bars! All the final variable names are coded with and affix c or f. Such naming helps when assembling the parts that make up the final score:

16-17 16-18The next section to explore is from bar 19 to 31 where both instruments hocket between each other. The tonality created by the Slonimsky pattern is shifted here upwards by a major third. The two instruments share the same play of pitches but are then separated into two parts by filtering three of the six possible pitches. The independent rhythms are created by the gen-binary-remove function. The extract below picks up from the last bar of the previous section:


16-20The original tonality reasserts itself at bar 39 where until bar 51 the music is a graceful  ‘serenade’ , a melody with a gentle accompaniment in triplet figures,  swapped over between the instruments at bar 45:


The flute part from bar 45 is created using a special extended repeat function, pitch-repeat3. What happens here is that a repeat figure (the triplet arpeggios) is repeated twelve times, but on each repetition the repeat figure is shuffled. In the code below the melody and accompaniment figures are set up in each instrument, and then on the’ swap over’ the melody is inverted and the accompaniment repeated, albeit on a different instrument. The music example shows where the swap-over occurs and the inverted melody begins:



Trio Lyrique is a miniature for alto-flute, bass clarinet and percussion (marimba and small drums). In four sections the music evolves from the pattering rhythms of a percussion part:

16-23Mapping to alphabetic symbols makes it possible to almost  ‘play’ each bar as the symbols are entered from the computer keyboard. Each line in the code ‘is’ a bar / metric grouping. The result is this:


Of course no percussion part would be written like this! The mapping of percussion samples in the General MIDI way of things may allow us to audition what we write, and make performance on a piano keyboard controller easier, but such pitch arrangements makes a nonsense of the conventions of percussion scoring. We have to go to a scorewriter to effect a further remapping, as the example below demonstrates:


Here is the completion of the code of the first section of the  percussion part:


For the pitch material the Slonimsky Thesaurus gives the composer what amounts to a whole-tone scale:

16-27But this scale is then extended using a bespoke function extend-scale:


16-29An extended whole tone scale.

The extend-scale function gives the composer an extended tonality. This is further developed with another home-made function random-outside based on an idea by the Norwegian composer Jesper Elen. See and hear this function used in the opening movement of Nigel Morgan’s  Sense of Place:


16-31But we need to return to the rhythmic side of things to see how these pitches are mapped to the note-lengths assigned to alto-flute and bass-clarinet. Against the pattering sixteenth-beat rhythms of the percussion part, the wind instruments play slower and syncopated rhythms. The pattering rhythms give the length of each metrical group (or bar) but we want to see how different rhythms of note-length might ‘play’ inside these groupings. The function length-span allows the composer to do this:


16-33In the following expression the extend-scale sequence is used as the map for the 33 vectors from the gen-white-noise fractal. The rhythm above is mapped with the function span onto the pitch stream, and then the function gen-curve  is applied as a melodic ‘wedge’:


16-35Here’s the remaining code for the bars 1 to 19. Notice that the keyword :seed is different in the bass clarinet part producing a very different pitch trajectory than the flute.


16-37The opening of Trio Lyrique at pitch.

This completes a view of the first of the four parts of Trio Lyrique. Parts 1, 2 and 4 are similar in structure with part 3 being a series of short duets between one of the wind instruments and marimba.

Trio Lento is the second trio that features in A Selection of Sextets is for the Classical Piano Trio of violin, violoncello and piano. Again, it features a Slonimsky pattern, but this time the pattern is used to generate harmonic sequences played as arpeggio patterns by the piano. The violin and cello play sustained pitches picked up from each arpeggio.

16-38Let’s see how the transformation from a scalic pattern into a wide-ranging arpeggio happens:

16-39The key function here is pitch-transpose-n. The function takes the list of transpositions and applies each value into turn to the pattern:


In this expression above there’s pitch-transpose-n again but it’s rotating the pitches (but not their octave position) through six repeats. Thereafter, gen-palindrome-rev takes over at bar 7, reversing the transposition list:


Meanwhile the violin and cello search the piano’s arpeggio figure in each bar and pick a note to sustain:

16-42In part 2 of the trio a very slight variation in the organisation of pitch and rhythm is made to the piano part:




For an example of composing for quartet we’ll examine a work written in 2003 in the computer-aided composition system Symbolic Composer (SCOM). Le Jardin Sec was one of a group of compositions that prepared the ground for the composer’s Six Concertos for self-directed orchestra.

Symbolic Composer has proved itself to be a very efficient and robust CAC environment with an open architecture, making much of the code for system functions  available to the composer. Unlike Opusmodus, which is a closed system in that respect, Symbolic Composer allows composers to  extend and customise existing functions and invent bespoke functions based on learning how the many systems functions are written. You have to know a lot of LISP to write functions in Opusmodus!

There has already been discussion of the limitations script-based programming has for composing large ensemble or orchestral music. With Symbolic Composer’s unique visual timesheet, building and viewing large-scale structures becomes a possibility. But could both instrumental activity (the play of sound with silence) be brought together with the algorithmic selection of instrumentation? In the first section of Le Jardin Sec this became a reality, the program ‘choosing’ where and how the music should play and in what scoring combination of four instruments.

Alongside the downloadable published score of Le Jardin Sec there is a detailed annotation by Phil Legard of the first section of the work. In this, the music is a single organic melody created from a stream of vectors generated from a white-noise fractal, and thus is similar to many pieces already featured in previous sections of this text. This annotation reveals that a major difference in approach to the style of parametric composition with Opusmodus. In Symbolic Composer there is an additional parameter of tonality. This enables the composition to take place with alphabetic symbols rather than seven pitch letters (with sharp or flat signs) and carrying octave identifiers. Initially daunting for the composer this can be immensely liberating once the idea is grasped.

16-45A quick look at the score above will reveal that all the instruments are playing in unison! The relationship with the ’nuclear’ stream of pitches is shown in the diagram reproduced below:


This diagram also reveals that the melodic stream, a kind of ’nuclear’ melody often found in Balinese gamelan music, is ornamented. These ornaments are created in a similar way to those in the String Trio (2012). Here’s a further diagram from Phil Legard’s annotation:


One of the unique aspects of this score is the way that in partitioning the symbol stream (with a function called create-lists) the annotation describes how repetitions of phrases found in the stream can be developed. This makes for a valuable component in the composition process, particularly in styles of composition where repetition is valued.

In previous examples where a fractal generation has featured a binary conversion has been used to identify where phrase boundaries occur. In Symbolic Composer this is unnecessary because in symbolic notation there is a rest symbol which can be included in a pitch stream. So a vector phrase converted to symbols might be (l l d e f g g h) would when scanned by the function find-change produce (= l d e f = h), where in Opusmodus that change would be (0 1 1 1 0 1). More significant still with this rest symbol present it is possible to align symbolic material more easily. As many composers know well, visual scanning of material, be it staff notation or code, is very important. Sadly, the lack of such visual alignment is one of the few problems found in reading Opusmodus score-files. Here’s a further example from the annotation that highlights the advantage of the rest in a symbolic display of pitch:

16-48Compare the above display with the opening bars of the full-score. As we go further into this section we’ll meet this form of symbolic notation again in a discussion of how scoring and the play of sound and silence can be algorithmically controlled.

For another, and larger view of such composing for string quartet within a CAC environment see the composer’s Objects of Curiosity (SuperCity) written for Kronos in 2005:


Links and References
Harrison Birtwistle – The Axe Manual, Refrains and Choruses
Elliot Carter – Enchanted Preludes
Nick Collins – Website
Magnus Lindberg – Gran Duo
Nigel Morgan – Touched By Machine?, Opusmodus Scores, Sense of Place, Le Jardin Sec, Six Concertos, Objects of Curiosity, String Trio
Opusmodus – Website
Symbolic Composer – Website
Stephen Travis Pope – Touched By Machine? – Composition and Performance in the Digital Age
Michael Van de Aa – Up Close, Double A Player

Leave a Reply