Dynamics as parametric material: MIDI velocity and custom dynamics : A composition for sextet structured by a dynamic scheme: mapping parameters with substitution : generating clusters and cluster melodies : gen-cluster a function with arguments: scoring : orchestration by using an ambitus function : de-mixing and generating pauses.
One of the challenging aspects of composing to describe is that of the structuring of material, and here, parametric material. The section ‘Being Non-Linear’ explored the potential of collage, of improvising with small fragments of material, using programming to ‘play’ and experiment with structure In looking ‘Further Afield’ structuring takes on another aspect, and an even more speculative and unusual one.
Dynamics are collectively a significant parameter within the parametric world of music. It isn’t one that has figured as a structural device in music of the past, except as a by-product of the use of echo effects common in music composed for large spaces such as the basilica of St Mark’s Venice. In this extraordinary building there developed a tradition of composition that utilised the positioning of singers and instrumentalists in different locations throughout the building. Andrea and Giovanni Gabrieli and Claudio Monteverdi structured their music for this large building to create echo and antiphonal effects. Their legacy remains today in the use of sound projection and the positioning of performers to emphasise and clarify musical statements.
As the Baroque sensibility in music moved into the Classical period dynamics took on a mode of emphasis, an adjunct to orchestration, a form of expressive colouring that became more and more closely linked to timbre and texture.
At a more intimate level in sound recordings the listener has become used to the stereo image and the idea that structural emphasis can be achieved by dynamics. The music of Wolfgang Rihm and George Freidrich Haas is testament to this where there’s evidence that they have often mapped out a play of dynamics and location at an early stage of their compositional planning.
Computer-aided Composition allows the composer to take this parametric phenomenon as a starting point. The example considered here is a short study for a sextet of instruments (alto flute, bass clarinet, violin, cello, piano and percussion). It comes from a sequence of study pieces titled Starting Points commissioned for the Dr K Sextet to test the Opusmodus composing environment. Each of the six studies takes a different parameter as a starting point: pitch, rhythm, dynamics, tonality, chords, intervals. Here, we’ll look in a little detail at how the study on dynamics was composed.
One of the most agreeable facets of programming in most computer languages is the ability to make conversions between parametric material. In music of the past dynamics held a rather vague idea for composers and performers. It was loud or soft, forte or piano. Gradually other gradations of dynamics developed and these became understood through the practice of performers. What, after all, quantitatively, does forte represent? With advent of digital technology in music the concept of velocity was introduced into the specification for MIDI. It’s now possible to attach an integer value to piano or forte or mezzo piano or pianissimo. Such values can be set up by the composer using the MIDI resolution of 0-127 and attached to the dynamic symbol. So we could create a structure for a composition using such symbols:
In order to manipulate this structure of dynamics we need to separate each dynamics, place each into a separate list:
The term map is an important one in most programming scenarios, but most particularly with music. The example above uses a two LISP primitives to ‘map’ the pair of parenthesis (making a list) to surround each dynamic symbol.
The idea of the showing these two parallel lists is to emphasise a visual association between a dynamic value and a length value. So ff for example is going to be mapped with 1/16th note-lengths. The letters featured in the variable len are the Opusmodus shorthand for these rhythmic values:
And this is where it gets interesting. Due to a commonplace programming procedure of substitution (sometimes known as association) the composer can begin to make powerful connections between parameters that allow for parametric generation.
There are now 3 variables established, three words the computer knows to mean specific things. The variables len and dyn defined above are two corresponding lists, the linear position of each list is taken to match up so that fff, for example, is match with (t -) (1/32 -1/32). The – symbol means a note-length rest. The variable vel-1 was our 22-bar list or structure. So with the function substitute-map to help us, we get this rhythm output. Let’s put dynamics and note-length values side-by-side so we can see clearer how the substitution works:
The notion of a pitch cluster has become a vital part of the 21C sound world. It began to appear in the music and theoretical writing of Henry Cowell, was used by Charles Ives in his Concord Sonata, became of structural significance in Penderecki’s Threnody for the Victims of Hiroshima , and now is an integral part of the composing language of modernist composers such as Karlheinz Stockhausen (in Klavierstüke X),Helmut Lachenmann (in Serynade) and Rachel Saunders (in Choler).
The idea of a function that is in essence a program in itself has appeared in ‘Being Harmonious’ . The function gen-chord is discussed there at some length as demonstrating the role of arguments. Let’s look at gen-cluster in the same spirit by viewing, as we did with gen-chord, some of its documentation.
The function at the heart of this study is set up to create a mix of 22 clustered chords (eg. c3db3d3) with melodic phrases that are in clustered order (ex. c4 cs4 d4). The :type of these forms is subject to randomisation.
- :seed 76 is to enable the randomised cluster content to be recalled
- :transpose randomises the compass of transposition for each of the 22 clusters or cluster phrases
- (rnd-sample 22 ‘(2 3 2 4 3)) selects different chord size at random.
Bringing length and pitch together using the function make-omn we can view the output in the notation snippet:
The composition now has a metric structure and the beginnings of pitch content. It’s time for the first scoring / orchestration decision: the piano will play throughout. Below a list of integers is generated to transpose each chord or pitch set.
From the material of the piano part, the vibraphone is selected next, again to play throughout the 22 bar piece: The vibraphone has a smaller compass than the piano so it’s necessary to allow for this with some gentle rearrangement of pitch. This is where computer-assistance can be powerful and time-saving. The :ambitus keyword or ambitus function allows an instrumental range to be set and whatever collection of pitches it prefigures will be reorganised within that range, by transposition or inversion. And, because the tranpose-lis has been reversed with the gen-retrograde function, there will be a different pitch series from that of the piano.
Remember that this whole piece derives from the chds material, so the ambitus function will be invaluable to assist further with scoring the pitches for the remaining ensemble. Taking the alto-flute part as an example, the ambitus is set to the instrument’s range of ‘(g3 c6) and then the chds part de-mixed with the function pitch-demix:
The pause-lis is a list of section numbers in which the alto-flute will take a ‘pause’. The section number is, in effect, a bar number, but counting zero instead of one from the first bar. Remember ‘bars’ in most CAC systems are lists. In the section ‘Sextets’ there are examples of automation of this process of pausing, a similar kind of swallowing of material that features in ‘Starting with Pitch’. But let’s see the opening bars of the full-score of this sextet structured from a list of dynamics:
Remember, the complete composition features as a movement in A Selection of Sextets (2013) [pdf].