Back to noyzelab research
ULAMIZER II : Cellular Automata Music Module
Since the early experiments by contemporary composers such as Iannis Xenakis, interest in the use of CA in music has only increased. ULAMIZER II is the second prototype of a Cellular Automata (CA) music module, designed to be part of the Noyzelab studio environment for both analogue modular and MIDI synthesizers. It is designed from a musicians perspective on CA, using fundamentally new techniques resulting from Noyzelab's many years of research in this field.
Complex systems such as CA produce a myriad of pattern from rule-based interactions of simple cells. CA are capable of producing more patterns than can possibly be observed by a single human in one lifetime. CA have a long distinguished history in computer science, from its foundation to their present day influence in the field of Artificial Life and numerous other disciplines (genetics, digital biology, digital physics, virology, self organising systems). A non-technical overview of CA is given below to give an introductory background to this field of science, along with some preliminary details (more information will be added as I get the time).
Brief Background on Cellular Automata
Technology based music, particularly the generative kind based on algorithms, underwent a paradigm shift over the last two decades of the 20th century with the advent of complex systems research. The different types of behaviour CA produce, whether ordered, complex or chaotic, make them interesting to artists and scientists alike. This wide variety of behaviour represents an important generative tool for the artist. Below are examples of musical visualisations of ordered, complex and chaotic CA behaviour.
Examples of musical visualisations of ordered, complex and chaotic CA behaviour.
CA are dynamic systems in which space and time are discrete. They may have a number of dimensions, one or two dimensional arrays of cells being the most common forms. Each cell can have one of a number of possible states at any point in time. The CA algorithm is a parallel process operating on this array of cells. This simultaneous change of state of each cell is specified by a local transition rule, applied to a neighbourhood around each cell. CA are sometimes considered as having an infinite number of cells, however in application this is somewhat impractical. Cells are commonly wrapped around at the edge of the array during the rule computation, to achieve a conceptual infinity. In this case the array is finite, but unbounded and is said to have periodic boundary conditions. There have been many attempts at behaviour classification, an early and well known attempt was by Stephen Wolfram, consisting of four behaviours :
With one dimensional systems,
spacetime plots are a convenient way to visualise their dynamic behaviour. From
a chosen starting state, commonly termed the seed or initial conditions, different
behaviours can be evolved and identified by visual examination. Individual cells
are usually represented horizontally, and time evolves vertically downwards
in discrete steps commonly termed generations. Seeds are commonly generated
at random or a single cell in the centre may be set to a particular state. An
example of spacetime behaviour self organising from a random
seed is shown below. The system shown consists of 2048 cells with two possible
states, black and white, time is evolving downwards over 2048 generations.
Example of Cellular Automata spacetime evolution from a random seed.
An example of spacetime behaviour from a single active cell in the centre is shown below. Spacetime plots can of course be viewed from other angles, for example time in the horizontal, but vertically downwards represents the most common method.
Example of Cellular Automata spacetime evolution from a single active cell.
Chris Langton's schematic of rule space structure, with example spacetime behaviours.
Chris Langton produced an example schematic illustrating his view of rule space, show in the figure above. I have added spacetime plots for each class to give a visual example of these behavious. It is important to note on this diagram that the boundary between order and chaos contains complex behaviour within it, which Langton termed the edge of chaos.
Pattern Discovery is Limited Only By Your Lifetime!
The number of possible rules can produce more pattern than a human is capable of observing within their own lifetime. Tommaso Toffoli and Norman Margolus (Cellular Automata Machines, 1987, MIT Press) discuss the problems of rule choice and point out that binary rules with 9 neighbours is “the square of the estimated number of elementary particles in the universe!” Li (1989) has commented on the binary one dimensional 5 neighbour rules :
“Even if we can produce a spatial-temporal pattern from each rule in 1 second, it is going to take about 138 years to run through all the rules. Considering the redundancy due to equivalence between rules upon 0-to-1 transformations, which cut the time by half, it still requires a solid 69 years.”
The numbers of possible
rules is extremely large, increasing in a dramatic manner even if only neighbourhood
size or the number of possible cell states is increased. The number of possible
rules can produce more pattern than a human is capable of observing within their
own lifetime. The total number of CA rules is a function of the number of states
and the size of the neighbourhood. The one dimensional elementary CA amount
to a total of 256 rules. Below is a summary of the total number of binary (two
state) rules for 1D CA with neighbourhoods of 3 to 7 cells. As the neighbourhood
is increased there is astronomic increase in the total number of rules. Any
increase in number of dimensions or states will also have a dramatic effect,
increasing the number of rules astronomically.
Total number of rules
256 (the elementary rules)
Stephen Wolfram has proposed twenty key unsolved problems in the theory of CA, the seventh problem asks : How is different behaviour distributed in the space of cellular automaton rules? An extensive amount of research by the CA scientific community has been conducted towards producing behaviour prediction parameters to discern the structure of rule space. Unfortunately, as the number of cell interactions is increased, CA rule space size grows astronomically and the proportion of chaotic behaviour increases dramatically. As the CA rule space is so huge, even the small proportion of it that contains just the complex rules is astronomical in size. To further compound matters, the size of the digits specifying the transition rule number itself becomes very unwieldy. For example a one dimensional 15 neighbour rule table consists of 32Kbit entries, from a possible rule space of 2^(2^15). This is not something expressible by hand and assigning the number at random will most likely result in a chaotic rule for reasons mentioned. The rule space problem continues to engage the scientific community and is the subject of much debate.
My PhD thesis demonstrated how a musicians approach to Wolfram's problem can provide fundamental insights into rule space structure. It is this knowledge that I am incorporating into ULAMIZER-II's design. It can be operated without any in-depth knowledge of CA theory and rule numbers! This means that ULAMIZER-II is designed firstly for music not science and from a musicians perspective. However, not wanting to leave out the scientists, it can be operated in a more scientific friendly manner if required. As a cutting-edge technology CA are stimulating much interest, but musical instrument or software manufacturers have few tangible products. The aim of this project is to produce a generative music module based on CA, with the intention of :
Emulate Existing Music Modules and More...
A number of music modules are known to have identical or very similar behaviours to well known CA, providing a fundamental link between the fields with familiar points of reference for both artist and scientist, see Burraston 2005 (Variety, Pattern & Isomorphism) and Burraston 2006 (PhD thesis) on noyzelab research page. CA clearly show great potential as a versatile music module, taking the composer from the familiar to the exotic, by simply changing the rule. A music module based on CA architecture is capable of replacing a number of existing modules, simplifying the technological requirements of existing and future modular instruments. Example emulations of modules by CA include :
|(left / right shift) trigger sequencer steps|
|sample and hold|
|square/pulse/digital wave generator|
|random control values|
|feedback shift register|
From these basic emulations it is clear that CA are a potent modular element, providing useful existing functions with the capability to produce a wide variety of additional pattern simply by changing the rule. For a more indepth discussion of the ideas behind CA emulating existing modules and their practical application see my PhD thesis, particularly Chapter 4. Some example trigger sequencer patterns are shown here.
Module emulation is a handy thing to be able to do with CA, but the real interest of CA, for me, is departing from emulation to new territory in pattern space. During my early research I found that CA were easier to understand by comparing their behaviour to existing modular elements, thats how I discovered their module emulation capabilities.
The current features of the prototype ULAMIZER-II module :
ULAMIZER-II in the early development stage
Computer monitor on left is for the development environment. Small bit of electronics on the middle of the table is the ULAMIZER-II module prototype board. Novation Remote controller keyboard is for sending MIDI data. Doepfer modular for sending and receiving triggers/gate pulses. MIDI synth above the Doepfer is for receiving MIDI notes.In depth CA research is conducted with Andrew Wuensche's DDLab a specialised tool for investigating CA and discrete networks, and with programs I write using Stephen Wolfram's Mathematica program. Custom code is written for the microcontroller board enabling ULAMIZER-II to run as a standalone module.
Some Example Spacetime Plots from the Elementary Space
The elementary rules are the most studied of all rule CA rule spaces with 256 rules, which after reduction of equivalent patterns e.g. negative/complement/reflection symmetry (well known and discussed in my thesis, and most of my papers) this leaves only 88 different rules. Beyond the elementary space is a vast wilderness of pattern territory, and no single human ever has enough time to experience or explore them all. There are also many other different graphic plots using a variety of plotting techniques other than the spacetime plots seen here : See Noyzelab Research page and some examples are given further down this page.
Example spacetime plots showing a wide variety of behaviour from a selection of three neighbour (elementary) rules.
Beyond the Elementary Rule Space : More Neighbours
Animated gif’s of navigation through a part of the five neighbour rule space. Total possible rules = 4,294,967,296
Beyond Spacetime Patterns : Viewing Global Behaviour
There are many other ways to make graphic plots of CA behaviour patterns, as well the spacetime patterns shown above. See Noyzelab Research page for more graphic plots of CA behaviour.
|Left most column of each plot shows seed value mapped to colour. Seeds evolve left to right along each row.||
|1D spacetime animations of five elementary rules.|
Animated gif’s of navigation through a part of the five neighbour rule space (attractor basin view). Total possible rules = 4,294,967,296
See Noyzelab Research page for more graphic plots of CA behaviour.
NOTE : This is an independent part-time project for use at noyzelab studio, not a commercial venture. Anyone interested in collaborating (or assisting in funding ULAMIZER-II research) email me at dave [at] noyzelab [dot] com with a subject line including ULAMIZER-II. This page is being updated as I get the time to update the ULAMIZER-II.
The next stage for the ULAMIZER-II music module is mounting the board in an enclosure to allow for further development, as well standalone operation. Like most prototypes it begins development on the workbench to prove the basic ideas work which has been successful. It is now time to put it in the studio environment. In addition to using MIDI Continuous Controllers I am planning to have a sysex mode for transfer to a patch memory containing relevent information such as behaviour type, rule, number of cells/neighbours, seed, etc. The main purpose at present is to run at control rates, for generating analogue modular control signals and MIDI event data for notes. The types of MIDI message output will be increased to cover Continuous Controllers messages. The types of output mappings from the CA to MIDI will also be increased, based on experiments with DDLab and Mathematica, to give a more flexible method of composing. At present the board runs any 3, 4 or 5 neighbour 1D binary valued CA giving a vast space of possible patterns. However, there are many more types of CA's, multivalued state, totalistic, 2D and 3D the list goes on...
For the current hardware the simplest route is to code for more of the 1D rule types and continue improving the system in other areas. For example improving the human interface and enhancing Noyzelab's existing powerful Mac/PC desktop tools to communicate to the module. See the images above for example visualisations of CA patterns in traditional spacetime plots and also viewing patterns globally using colour or using animations. Many of the plots contain the rule numbers, this was necessary during research, but is not a requirement for music composition. It is possible to explore the patterns visually, the rule number need only be referenced internally by the code running the algorithm. More graphic plots can be seen on the Noyzelab Research page.
I have investigated informally for many years sound generation directly from the CA cells. Sound generation work has mostly been done with Mathematica, but there is sufficient processing power in the module to generate outputs at audio frequencies. Producing analogue/MIDI signals at control rates currently has precedence. This work on sound generation will still mainly be approached using Mathematica as experimental sounds can be rendered directly to AIF files. ULAMIZER-II can produce a stereo audio output based on assigning cells to a small on board amplifier. At present the frequency is controlled by the boards clock input and can be driven directly from the output of a synth oscillator or LFO etc. (I have tested this with my Doepfer). In audio mode there is not sufficient processing capability to display any video, but this may be addressed in the future.
There is the capability of connecting a standard PC mouse & keyboard to the board via standard connectors. This takes up valuable processing time so at present all control is via MIDI messages or analogue gater/trigger pulses. The present CA pattern display is generated from the board as a colour composite signal - PAL or NTSC (referred to by Bryen Telko as "Never the same colour twice"). A small LCD monitor will be fitted to the case and an external connector will be fitted for display on a larger screen.
Recommended reading :
Burraston, D. (2007) Fundamental Insights on Complex Systems arising from Generative Arts Practice. Leonardo Vol 40 (4). PDF preprint -> here
Burraston, D. (2006) Generative Music and Cellular Automata. PhD Thesis, Univ. Technology Sydney, Australia. PDF's zipped (36MB) -> here
Burraston, D. and Martin, A. (Nov. 2006) Digital Behaviors and Generative Music, “Wild Nature and the Digital Life” Special Issue, Leonardo Electronic Almanac Vol 14, No. 7 – 8. PDF preprint -> here
Burraston, D. (2005) Structuring Cellular Automata Rule Space with Attractor Basins. Proceedings of Generative Arts Practice Symposium 2005.PDF -> here (note that this is formatted for A5!)
Burraston, D. and Edmonds, E. (2005) Cellular Automata in Generative Electronic Music and Sonic Art : A Historical and Technical Review. Digital Creativity 16(3) pp. 165-185 PDF -> preprint
Burraston, D. (2005) Variety, Pattern and Isomorphism. Proceedings of the Third Iteration Conference. Monash University. PDF -> here
Burraston, D. 2005. Composition at the Edge of Chaos. Proceedings of the 2005 Australasian Computer Music Conference.(Brisbane, July 2005). PDF -> here
A selection of stills from a video recording during module testing experiments using some 1D elementary rules :
ULAMIZER-II controlling a Waldorf XT. Novation Remote 25SL controlling the ULAMIZER-II parameters in realtime. I'll post up some music soon. I'll also re-post the video file once I've compressed the file size down.
Back to noyzelab research