sdf PhD





Exploring visual representation of sound
in computer music software through
programming and composition



Selected content from
a thesis submitted with a portfolio of works to the University of Huddersfield in partial fulfilment of the requirements for the degree of Doctor of Philosophy

December 2013

Samuel David Freeman

Minor amendments
April–June 2014

5.5 Critique and chapter conclusion

This chapter has introduced and contextualised the CirSeq concept as an archetype for the visual representation of a cyclical duration with harmonically quantised sub-divisions of the whole. It has also been shown that development of a software prototype to demonstrate the CirSeq concept in use as a step-sequencer, with elementary sinusoids as the sound source, led to a configuration (CirSeq Zero) that can itself be viewed as a software composition. Extended methods for performance of CirSeq Zero are suggested in the form of meta-patches. In the construction of, and experimentation with, one such meta-patch, a seemingly new domain of the unified-time continuum has been identified; a domain that is technically based on aliasing, and could be contextualised in relation to a glitch aesthetic.

To conclude this chapter the following discussion concerns where and why the CirSeq avenue of investigation fell short of my aesthetic demands, and how reaction to that helped to clarify specification for what came next in my research. That discussion begins with a description of known bugs in the CirSeq Zero software.

5.5.1 What you see is not always what you get

Spiroidials on the lcd-GUI can become 'out of sync' with the data values that they are a representation of. In particular, it may appear on the lcd-GUI that a node has an amplitude value greater than zero, when that value is actually at zero. This reproducible bug in the software can be remedied within the existing configuration by randomising and the zero'ing the amplitude values of one quantisation system at a time. The cause of this visual asynchrony is generally attributed to the convoluted method of control that has been implemented to connect the lcd-GUI to the actual data that is used in the DSP of patch. While I consider the implementation to be of some technical merit – in most cases it does perform the desired task of allowing both OSC and mouse based interaction with the CirSeq pattern – the quality of the interaction can be undermined by the bug highlighted above. Indeed, the programming is rather 'Heath Robinson' in its ways; the way, for example, that the graphical front-end is linked to the oscillators that are being controlled. That front-end is drawn with an adapted version of the thisis drawing system, and is based on the lcd object; perhaps pushing the limit of what can reliably be achieved with that object as the basis for interaction. The oscillators, themselves, are intentionally simple in the implemented control; there is, for example, no enveloping or smoothing of control values, and this tends to result in audible discontinuities at the temporal boundaries of a node.

A second way in which what you see in the lcd-GUI of CirSeq Zero is not quite what it is that you get in the soundmaking that follows it is to do with the angle and radius mapping of the spiroidial widgets. The issue here is attributed to the origins of the work as a prototype, meant for further work after the proof of concept; it was at first imagined that the (intentionally basic) sinusoidal soundmaking part of CirSeq Zero would be a temporary 'place holder' for a more sophisticated synthesis subroutine. Indeed, there was a synthesis engine being developed in parallel to the CirSeq investigation, and a significant feature of that was to do with its interpretation of the pitch-class and octave-level (pitch-height) values: rather then quantising the octave-level to integer steps, the idea was to allow any value for the pitch-hight and to synthesise sound in a way that would maintain a pitch-class identity while being able to move (on a radius in the spiroid-frequency-space) between octaves.[n5.13]

[n5.13]   The synthesis work being referred to went under the name of 'harmonic grain tables' and is one of many omissions from the portfolio; it is, however, discussed online at

In the sinusoidal soundmaking that was implemented for CirSeq Zero – which was then embraced, rather than being replaced – does not quantise the pitch-height value when combining it with the pitch-class value for setting the frequencies of the oscillators (see Figure 5.26, below). The result is that the visual angle of the pitch-class indication in the spiroidial widget is not necessarily a true indication of the pitch-class that is heard for a given node.

Figure 5.26: cSeqQsys_synth

5.5.2 Remedy in moving on

Fixing these, or any other bugs, in the CirSeq Zero patch, or even reprogramming the entire thing in a more efficient or elegant way, would not alleviate the most significant issue which is that there are too many layers of abstraction at play within the design. The problem is that the layers of abstraction in the programming serve as obscurations for the actual processes that is being interacted with by the human player. The visual representations of the lcd-GUI are of a highly conceptualised nature that do not directly relate to the data that they control. Whereas the idea of unity across layers has been discussed in different contexts within the work of this piece, there is little unity to be found between the on screen and the soundmaking aspects: the circularity shown on screen is only an illusion because the data that is being made into sound by the DSP algorithms is actually formatted in a set of one-dimensional matrices.

Bringing back to mind the conceptual model of a gramophone (§3.4), with its with two-dimensional matrices of data, I decided to move on from working with the CirSeq concept to find ways of working with data in a two-dimensions that could then be displayed – as directly as possible – on the computer screen.

Discussion of the gramophone model patches (at §3.4.5) has also highlighted the problem of interfaces that constantly split the attention of the human: often in computer music software, the eye is required to look away from one representation of an aspect of the sound being made in order to look at another representation of a conceptually separated aspect of the same sound.

Moving on from the work described in this chapter, it was established as an aesthetic priority that all interactive visual representations should be made to cohabit an 'integrated display'.

5.5.3 Fractal potential

Some final thoughts on the possibilities for further work, on the described concepts, that were not pursued within this project:

During the development of CirSeq Zero, one of the ways in which I imagined the work progressing was toward a fractal manifestation of the CirSeq concept. It has been shown that the CirSeq time-space representation is that of a given duration being sub-divided into sets ('systems') of smaller durations. Why not, then, allow a single node to 'contain' another CirSeq time-space to describe the happening within that period? The fractal potential of this idea is stimulating to the mind, and would certainly present a number of interesting challenges in programming, as well as possibilities for composition.

5.5.4 Circle the square

Some preliminary steps were, however, made towards a successor to CirSeq Zero: it would have been called CirSeq Alpha or cirSeq_alpha. The image in Figure 5.27 is called cirSeq_alpha_preview and it was made with a script written for and parsed by thisis_112.maxpat, bringing the discussion of this chapter full circle;[n5.14] it is also seen in this image that nodes have been placed on the circumference of concentric circles, rather than on the squares formed within those circles.

[n5.14]   The origins of thisis were described in §5.1 and the portfolio includes example patches and related files.

coloured dots
Figure 5.27: cirSeq_alpha_preview

The nodes of all the first eight 'grid-unit radius concentric circles' are shown in Figure 5.27; the number of nodes on each circle is equal to the radius value multiplied by four, so there are 144 nodes in total. A video[n5.15] was made of the cirSeq_alpha_preview image being rendered by modifying a thisis patch to introduce a 90 millisecond delay after the parsing of each line in the script; the video thus shows in 36 seconds what would otherwise be instantaneous.

[n5.15] (recorded 20110210) is included in the _alpha_preview_and_thisis folder of the chapter5 portfolio directories, and is online at

[n5.16] (recorded 20110220) is also included, and is online at

Another short video (spiral aliasing)[n5.16] shows a short thisis script that was written to draw an Archimedean spiral being edited, several times, to change the 'time' attribute of the implemented algorithm. In the video we see the spiral being drawn eight times – in millisecond durations of 15, 30, 60, 120, 240, 480, 960, and 19200 – without the lines being cleared each time the script is parsed. This particular sequence of duration values – octave interval steps, until the last step which is tenfold on the logical next – was chosen because of the particular aliasing patterns exhibited. It is up to the reader to decide, for themselves, whether or not this preplanned and rehearsed live coding is performance of a musical composition.

The return to the topic of thisis provides a perfect link from this work to that of the next chapter: sdfsys. Thisis is, indeed, a common element of most my musicking since 2008; having created a set of subroutines for drawing on screen via verbally styled syntax to describe the stepwise processes of putting points and drawing lines in absolute and relative terms, it (thisis) has become the software equivalent to the pens and paper that tend to travel in my pocket.

The title of this subsection conceals a pun, because to 'square the circle' is to 'do something that is considered to be impossible' (Stevenson, n.d.), and – though it may seem like I am trying to do so – it would be impossible to include every aspect of the practice-led research that culminates in sdfsys.


← 5.4 Aesthetic analogies in the exploration of CirSeq patterns

fixme6 →