Due to the nature of live-coding, the compositional process for Bearing Zero was different from my two previous fixed-media pieces. TidalCycles works by continually looping patterns of samples, which the performer edits live. When using TidalCycles, I often like to work with a handful of similar sound layers, all of which combine to create a complex texture. I also make a note of the sound transformations I would like to make during the performance. Many live coders such as Alex McClean will perform fully improvised sets, however, I prefer to have a piece in mind and will write myself instructions for the live performance. As such, it is similar to following a score. During a live coding performance, the performer is typically in front of the audience typing the code, which is being projected for the audience to see. I have done many live coding performances in the past and many non-coders have commented to me that they enjoy watching the code being typed as, even if they do not understand it exactly, they can loosely relate the code to changes in the sound. For Bearing Zero, I wanted to capitalise on the audience’s semi-understanding of what is happening while addressing the dissonance between performer action and resulting sound. This meant keeping the processes as transparent as possible to allow some of the mystery of the code to dissolve. I chose to use the samples of an instrument as my main sound source. Having unearthed a guzheng from the University’s storage cupboards recently, I was eager to sample it and use it in a piece. I was aware that few people in my western audience would be able to identify the exact instrument, however, its melodic quality and identifiable plucked nature would be enough of a sonic cue to identify it as some harp-like instrument. Again, after using S.O.A.P. analysis I noticed a focus on agency. I also noticed a focus on the restriction of objects as, whilst, I had not consciously decided to use only two types of samples, I had subconsciously decided that the piece did not need more.
Many elements of an instrumental performance are present such as a live performer, the sound of an instrument, and the performative agency behind the plucking action. However, in Bearing Zero there is no physical instrument and the performer is not plucking anything. Instead, they are typing on a laptop. The code is displayed on the screen so that the process of composition can be as transparent as possible. Although the meaningfulness of the projected code depends upon the viewer’s expertise, in my opinion TidalCycles is one of the more transparent live coding languages. Although it is not always the case, the code and the resulting change in sound are often harmonious. This synergy allows the audience to relate what the performer is typing to what is happening in the music. Humans develop schemas when we perceive the same cause and effect multiple times. Therefore, if the audience consistently perceives a fragment of code having the same impact on samples repeatedly, they will develop a sense of expectation. Whenever this code is evaluated, they will expect similar results each time. Bearing Zero uses this to its advantage, using four layers of very similar sound. Each layer – one at a time – undergoes the same manipulations, and the audience learns what to expect as the manipulations systematically occur. This gradual process allows the piece to build from very simple to very complex over its fifteen-minute duration. As the samples I use are of individual string plucks, the piece begins by sounding as if it could be a recording of someone performing rather than just one sample after another (0:15).
As the texture starts to build, the music oversteps the boundaries of human performance (1:00).
The sense of performative agency starts to fade, and the beautiful sound of the Chinese harp becomes almost mechanical. If the listener had any perception of a performative agent remaining, the introduction of reversed samples seeks to change that (2:03).
Halfway through the piece, the samples gradually change to a synthesised sound (5:50).
This shift moves the live coder more in line what you would expect a laptop musician to sound like in an attempt to heal the cognitive dissonance between the real-world agent and the perceived digital agent.
3.3.1. Programme Note
Bearing Zero (2018) is a live coding piece for one performer. There are two main types of samples used in this piece: a selection of single guzheng notes and a synthesised pitched sound. The piece builds methodically from a simplistic beginning of guzheng plucks, establishing a mental image of a performative agent. There are four layers of sound, all playing the same pattern of notes but at different speeds. As the layers of sound grow in complexity, the idea that a human could perform this music begins to fade.
The process for developing the piece is very methodical. At any given point, all code is visible so that the audience can easily see changes to the patterns of the sound. Each layer is manipulated in the same way, one after the other, allowing for transparency of process.
With TidalCycles being one of the more unambiguous live coding languages in terms of syntax, the audience might find themselves able to predict the changes to the sound before the performer evaluates the code. The first significant sound alteration happens at (2:03) where the guzheng samples start to play in reverse.
This process happens slowly over the next three to five minutes until the piece decrescendos into the calm middle section. The reversed samples give an ethereal atmosphere. At this point, the samples slowly switch over to the synthesised tones, and the piece fizzles out over the remaining four to six minutes.
3.3.2. S.O.A.P. Analysis
Digital Environment – Agency
In addition to the visible performative agent, an implied agent is present in the guzheng samples. This implied agent is an exciting aspect to discuss in this piece. At a basic level, we can imagine a human plucking the instrument when the samples were recorded. Even though it may be evident to the listener that the performer is calling samples of single guzheng notes, musical structures and phrases are still present in the composition. This recognition of phrases combined with our experience of live musical performances can easily lead to an implied agent – that of the guzheng performer skilfully playing the piece as it sounds to the audience. Of course, this performer does not exist. However, because that kind of performance is arguably the norm for instrumental music, it is effortless to reimagine this as an instrumental performance given how the piece sounds. As the piece progresses in complexity, it gradually becomes harder to imagine that a single instrumentalist would be able to perform this piece. This stage in the piece is where the composition sonically begins to separate from our previous experiences of instrumental music. Bringing in altered sounds of reversed and bit-crushed notes creates further separation until the end of the piece where all notion of an instrumentalist has gone.
In the closing section of the piece (6:22), the guzheng samples are swapped for synthesised notes, putting the sonic material of Bearing Zero more in line with what the audience might expect from a laptop performer. This attempts to heal the cognitive dissonance between the visuals of the performative agent at the laptop and the sounds of an implied performer.
Digital Environment – Object
There are recognisable sounds in Bearing Zero. Even if the listener is not familiar with the main sounding object (Guzheng), it is still highly likely that they have some experience of the sound of other plucked stringed instruments and will be able to place these sounds in the same category. As the piece progresses, the guzheng samples gradually change. Changes include slowing down and speeding up sample playback speeds, altering the pitch of the samples, chopping the samples into small fragments, reversing the samples, cutting off higher frequencies, and finally degrading the samples until nothing remains.
Digital Environment – Space
There is very little in the way of spatial manipulation in this piece. Whilst this was not a conscious decision, keeping the sound mostly stationary adheres to the norm of guzheng performances as the performer is unable to move around the venue. Once many changes to the sound have been made, Bearing Zero uses the cutoff effect, which cuts all frequencies above a certain threshold (8:06).
The value of the threshold is automated to change over time between the stated minimum and maximum values. In the first layer, these values are 200Hz and 1000Hz respectively. The speed at which the sound layers are changing their threshold values varies from layer to layer. This gives the impression of all layers taking turns to come into the foreground and then fade into the background.
Performance Environment – Agency
The performative agent is evident. The performer sits in front of their laptop in the stage area and their actions are made visible to the audience through a mirrored projection of the laptop screen. The performer’s actions, depending on the familiarity of the listener to TidalCycles, can range from being very clear to very unclear – such is the nature of live coding performances. It is impossible to judge whether the audience will be able to make sense of the code, however, to aid the listener’s understanding, I tried to keep the code clearly laid out and use easy-to-guess manipulations such as rev (reverse), chop X (chop the sample into X equal parts), slow (slow the pattern down), and speed (alter the playback speed of the samples).
Performance Environment – Space
While the acoustics of the space will be different for each venue, they will remain constant for the duration of the piece. No special measures have been taken to alter the physical listening environment during the performance. The performative agent is placed between the front stereo pair as we orientate ourselves towards the performer, directing our sense of front, back, left, and right.
3.3.3 The Effect of the Analysis
While conducting S.O.A.P. analysis on Bearing Zero I again noticed that playing with agency was a key feature. There is first the live performer at the laptop and then the imagined guzheng player. Then perhaps an image of several guzheng players before the sounds change and these implied agents fade. At the end, the abstract nature of the synthesised sound attempts to bring the sound world more in line with what we would expect from a laptop performance. This heals the cognitive dissonance between the visual of a live laptop performer and the audio of the implied guzheng performer.