sdf PhD

overview

links

portfolio

thesis

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

thesis§1§2§3§4§5§6§7tocbib

§5.1§5.2§5.3§5.4§5.5

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.1 CirSeq and thisis

Development of CirSeq is closely related to my practice of geometrical drawing which has led to a software system that I call thisis. The shared origins and software overlap of CirSeq and thisis will be described here. These origins also form part of the roots to the model of composition that was exemplified in §3.7.3, particularly the idea of taking abstract thought and then specifying concepts as visual representations.

The idea of technê is again brought to bear because seeking knowledge and awareness of how things are made and done is central to the philosophy that underlies this work. Over periods of days, drawing for several hours each day, I would 'get to know' certain geometrical constructs in the same way that I had spent time 'getting to know' soundmaking systems or collections of recorded sound in the composition of music. To bring the growing sense of geometrical technê into play with computer music the objective became to make precise measurements of distances between points on the plane. If one begins with a particular length of line, then a host of different lengths of line can be created that are somehow related to the first, and at that time the idea was to use such sets of measurements, along with the positions of identified points on the plane, as parameter values in composition of music through software. To do this I needed a software representation of the drawing process.

Existing computer-aided design software, although powerful beyond my needs, did not seem to offer the work flow that I had already internalised through paper based sketching, and to learn how to translate my processes into the processes that had been programmed into software – by someone else – would significantly alter the nature of the work that I had already started. Introduction of new ideas about how to make and do things can be good, but it can also detract from the creative objectives at hand. Knowing exactly what data I was looking for, and also knowing what to do in order to find that data, the task was to program the computer to be able to receive and interpret the instructions that described that process.

The first version of the thisis system was therefore made to take textual input describing where to put points on a plane, either at absolute coordinates (using a cartesian system similar to that of OpenGL, with [0,0] in the centre and extending, square, to ±1) or at positions relative to points that have already been put (such as at an angle on the circle defined by one point drawn around another). Commands for drawing lines from one point to another, and as one line around another were added along with 'where is?' and 'how far?' query commands that return precise numerical values. The resolution of the drawing did not need to be high because it was the numbers being stored by the system that were of main interest.

An lcd object – or in some versions, jit.lcd – was used for the visual manifestation of the commands and the named point coordinates are stored in a coll. The first versions of the system employed a live coding paradigm with commands being typed in to the patch itself, but the use of external text editing software came to be preferred with a script being automatically parsed, by the system in MaxMSP, every time the file is saved in the text editor.

The figures presented in the following section were, as were many of the figures throughout this document, made with a version of the thisis drawing system; they are the png format exports from lcd renderings of text file scripts written in the thisis scripting language.

 

← 5 CirSeq

5.2 CirSeq inception →