5 – Starting with Rhythm

The ‘1 2’ Game : the idea of the beat / space: ‘1 2’ as a program for two mallet instruments; the IRCAM software Patchwork and its composers : the ‘pulse space’ program : collecting functions into one expression: Brian Ferneyhough, OpenMusic and rhythmic composition : varying and dividing pulsed rhythm in La Serenissima for violin and strings after Vivaldi : irrational rhythmics.

One of the most common group improvisation warm-ups  is the 1 2 game (or 1 2 3 game if you’re feeling adventurous!). Play it with two people and it’s the quickstevens-sarest way to create rhythms through improvisation. Player 1 says ‘One’, Player 2 says ‘Two’. The distance between Player 1 saying ‘One’ and Player 2 saying ‘Two’ defines the tempo. Keep it going, Saying ‘One, ‘Two’. Now one or both of the players may move their ‘one’ to ‘two’ or their ‘two’ to ‘one’, like this: Player 1 might go ‘One, Two’, and so joins player 2 saying ‘Two’. So now we’ve got just a silent ‘One’  and a spoken ’Two’. This little game gets seriously interesting as you add numbers, because you begin to invent rhythms and  ‘play’ with rhythm. The game emphasises one of the most fundamental structures in all music, but particularly what is common to African and Amerindian musics: the beat/space. This is one of many popular workshop games collected by the improvising drummer John Stevens in his book Search and Reflect.

This is what it might look like in code:

On pencil and paper perhaps, can you think how you might extend the game to be able to play ‘One’, ‘Two’, ‘Three’, but with just 2 players?

It’s this kind of challenge that really helps you start coding with confidence.

The next step is to try the Pulse-Space program. It was created as part of a library of programs for one of the earliest CAC applications using visual-programming, Patchwork. This application has been one of the staple rhythmic tools of composers Magnus Lindberg, Kaija Saariaho and Tristan Murail.

5-2The Patchwork ‘patch’ shown above is by Magnus Lindberg. This composer’s work Twine for solo piano is featured in the section ‘Continuing with Pitch’. Patchwork is an intriguing mixture of visual programming (top centre) box and text-based programme (lower left box) with a notation display. It has been further developed in IRCAM’s OpenMusic and the Sibelius Academy’s PGWL.

What follows is a very simplified example of how to create a sequence of computer-generated rhythmic cells of just one quarter beat in duration. The assignment is an open-string study for classical guitar.

This study is in two voices merged together to make one part i.e. on one midi channel. This is a good example of the kind of sophisticated notational rendering the Opusmodus software can undertake.

In the program it’s probably the first time we’ve seen a bunch of functions coming together in one expression:

This takes a bit of getting used to, but with time you’ll soon take such joined up or sequential expressions for granted. Let’s take each expression apart, starting at the right hand end of the expression:

What’s interesting about this expression is the generating functions gen-binary-rnd and gen-eval. The second, gen-eval (or gen-loop if you have the very latest version of Opusmodus‘calls’ the expression 8 times, getting 8 different binary lists, these the function binary-map turn into lists of 1/16th (s) note-lengths and 1/16th (-s) rest-lengths.

Creating rhythmic material is very often a composer’s way into a composition project. Brian Ferneyhough’s approach to CAC is testament to the rhythm-first approach, and has been well documented in Ross Feller’s essay in A Handbook of Twentieth Century Musical Sketches. The composer has also spoken more generally about his working method in an interview on the Finale blog where he explains how he composes across two screens with Patchwork or Open Music open alongside the notation software Finale.

“The way I work at the moment is, perhaps, of some relevance. I have two screens. On one screen I have a music calculation program, which is usually PatchWork GL or OpenMusic. On these I calculate rhythms, chords, and densities. I can take the rhythmic notation and, using OpenMusic Syntax, port it to Finale. I clean it up in Finale, and I can add a pitch layer. I don’t do everything at once as a rule. I’m a layer man.”

Here is a fragment from Ferneyhough’s Bone Alphabet for solo percussion:


Regarding his workflow and working from sketch to score, Ferneyhough says that he rarely works from a fully-realized handwritten sketch to a full score. While he will sometimes write out fragments of compositions, he largely works directly into the computer.

“My flow of paper is radically diminished. On the one screen, I can set up whatever element of the music I’m dealing with at the moment, let’s say rhythmic density, and I can transfer that to a first stage full score. It’s just got the rhythms in it, or some rhythms in it. And then you simply add different layers on top of that until you get the final product… Finale’s facility for interfacing with other music generational programs is important.”

Whilst we may not wish to go down the road of rhythmic complexity found in Ferneyhough’s scores, particularly in his use of compound irrational rhythms, but the basic ‘patches’ or processing algorithms for rhythm present within most CAC software are there in some form or another.

As we’ve seen, the Pulse-Space formula creates a pulse of note-lengths into which ties and rests can become a part. And starting this way with a pulsed sequence of equal note-lengths can become the basis for further editing by erasure, deletion and division into smaller note-length units.

An example of such editing and processing of a pulsed sequence of note-lengths can be found in the opening movement of my concerto for violin and strings La Serenissima (after one of the concerti L’Estro Armonico  by Vivaldi). Here is the opening code from the score.


What we’re looking at here is the rhythmic material for the first twelve bars of the music scored eventually for a string ripieno group (violin 2, viola, cello and bass).

  • With r-pulse, an initial collection of identical note-length pulses is generated – 64 8th duration note-lengths.
  • With e-pulse 12 out of the 64 lengths are chosen at random and these lengths are divided in two to produce a collection of 1/8th  and 1/16th.
  • This collection is then grouped up into six (we’ll call them lists, but they are, in effect, bars).
  • Now the order of the e-pulse material is further randomised in f-pulse and g-pulse.

To produce more spacious underlying rhythms in the viola and cello parts note-lengths are turned into note-rests at a series of positions along the flow of the pulsed rhythm. This series of rest positions is further randomised in each expression va-pulse and vc-pulse. The result is seen here in the first two bars:

5-5The solo and first violin part uses a further function to process the very basic e-pulse stream of 1/8 and 1/16 lengths. The function is length-rest-weight and controls the weighting between note and rest lengths. The output for the first two bars is shown. Now match the output of the first two bars against the violin-1 part in the score excerpt above.

Whilst complex irrational rhythmics can be seductive in their approximation of rhythms found in improvised music, or as the pianist Ian Pace has perceptively suggested ‘as a way of divorcing the performer from traditional and embedded stylistic gestures’, there are many composers whose rhythmic ‘world’ of action remains relatively constrained. It’s even possible that this constraint may be linked to the very technology they use in their composing work as they seek to avoid problems with the translation of complex rhythms from MIDIfile output.

5-7Irrational rhythmics processed by OpusModus Notation (OMN).


References, Links and Further Reading
Gerard Assayag et al: Computer-Assisted Composition at IRCAM: From PatchWork to OpenMusic
Brian Ferneyough: Bone Alphabet
Magnus Lindberg: Twine
Ed Martin: Harmonic Progression in Magnus Lindberg’s Twine
Nigel Morgan: La Serenissima
OpusModus: Website
John Stevens: Search and Reflect

Leave a Reply