Cellular Automata MUSic generator
It has always
been the tradition of this column to explore
and bring out into the open some of the more
unusual Atari MIDI programs that have recently
become available. This month is no different
in that we will be exploring a very interesting
application called CAMUS. CAMUS was never a commercial
program but was the result of a project by composer
Eduardo Reck Miranda.
In my web searches,
I came across Eduardo Reck Miranda's web site
(see link section) where he described
his CAMUS software now developed for Windows.
On his site he mentioned CAMUS was first developed
for Atari. I contacted him regarding the availablity
of the Atari version. He responded very
favourably. In his efforts to revive the source
code, he found it was damaged.
However, he found his "prototype",
which was an early version he
wrote as a part of his MSc thesis. He has given
permission to have this particular
version available on the understanding it is a "prototype".
It is still a very usable version.
has included evolutionary music, music and artificial
intelligence, music and the brain and sound-based communication systems.
What is CAMUS?
to Dr Miranda, "CAMUS
is an algorithmic composition system, which
uses cellular automata to drive the music generating
process. A cellular automaton is an array of
cells, which can exist in one of a number of
discrete states. Periodically, an evolution
rule, which determines the subsequent state
of the automaton's cells, is applied to each
(CA) are computer modelling techniques widely
used to model systems in which space and time
are discrete, and quantities take on a finite
set of discrete values.
were originally introduced in the sixties by
von Neumann and Ulan as a model of a biological
self-reproduction. They wanted to know if it
would be possible for an abstract machine to
reproduce; that is, to automatically construct
a copy of itself. Their model consisted of a
two-dimensional grid of cells, each cell of
which had a number of states, representing the
components out of which they built the self-reproducing
machine. Controlled completely by a set of rules
designed by its creators, the machine would
extend an arm into a virgin portion of the grid,
then slowly scan it back and forth, creating
a copy of itself - reproducing the patterns
of cells at another location in the grid.
Since then cellular
automata have been repeatedly reintroduced and
applied to a considerable variety of purposes.
Many interesting algorithms have been developed
during the past thirty years. In general, CA
are implemented as a regular array or matrix
of variables called cells. Each cell may assume
values from a finite set of integers and each
value is normally associated with a color. The
functioning of a cellular automaton is displayed
on the computer screen as a sequence of changing
patterns of tiny colored cells, according to
the tick of an imaginary clock, like an animated
film. At each tick of the clock, the values
of all cells change simultaneously, according
to a set of transition rules that takes into
account the values of their neighbourhood.
CAMUS uses two
types of cellular automata to generate compositions:
the Game of Life, and the Demon Cyclic Space.
When the system
is running, CAMUS scans the cells of the Game
of Life for live cells. These are the basic
building blocks of the algorithmic composition.
The Game of Life is an array of cells which
can exist in two states, alive (shaded) or dead
(blank). The default evolution rule that is
applied on each timestep is that a live cell
will continue to live on the next stage if it
has either three or four live neighbours (including
itself), and a dead cell will come alive if
it has precisely three live neighbours. All other
cells will die or remain dead. The Demon Cyclic
Space is an array of cells that can exist in
n states, where n is an integer specified by
For more information
of this fascinating subject, please visit Eduardo
Miranda's web site for a detailed explanation
(see link section).
CAMUS sound like?
This program is not
for pumping out techno patterns or creating
ambient prettiness. It creates music in its
own world which can only be described as "CAMUS
music". It resembles very much the 12 row
music of the Schoenberg school. Using the right
voices beautiful textures of sound escape
from the speakers as you are enveloped in a
world, which only CAMUS can produce. You can
create some very interesting "soundscapes",
as I would call them, that are quite fascinating
to hear as well as watching the program generate
the MIDI events.
- Open CAMUS
by double-clicking on CAMUS.PRG. Program loads.
- Set first screen
Setup. The main screen turns black. Next screen parameters
can now be set:
- Life rules/death
rules: for now leave these alone.
decides how many tracks will be generated. Selection
is from 1 to 9. For this
tutorial: Select 4 by using the "-" and "+" buttons.
- Loop limit:
set at 40 (Hint: Using the right mouse button
makes the number change in greater
steps depending on the range, in this
case it will change by the hundred because
the range is in the thousands, so you'll
just have to click the left button 39 times -
set to 20.
Click in the small box by the word "distribution"
to view the different choices:
Uniform, linear and triangular. Select triangular.
Setup again. A grid appears. Using the mouse,
draw into the grid any shape or lines
click Start. The screens change and start
to play the image you have
just drawn into the grid. Listen to the "soundscape"
for a while. It will play
indefinitely until stopped.
Click on Stop,
to stop the music from generating. You now see
two new buttons: Break and Go
on. To continue playing the music, select Go
on. To start again, select Break by right-clicking the button.
- Start step:
leave at 1.
- End step:
set to 10 (using the "-" and "+" buttons).
- Speed: keep
at 9999, with variation at 20.
set to 30 with variation set to 30 as well.
- Pitches: click
into one of the numbers. Change it with the
"-" and "+" buttons. Then right-click
into the same box. It is released. Choose another
number, left-click into box,
change the value with the "-" and "+" buttons,
right-click into the same box, and
- When completed,
You now see
two new buttons: Save and Skip. Left-click
into Save, and at the top of the screen, it
asks for a file name. Give it one and add ".CAM"
as an extension. For example, "STARS.CAM".
If you do not add the extension it will not
save the file. Then press [Return] to save
You are back to the drawing grid. Change the
first screen's parameters again. Then select Setup
again, and you are back to the black screen
for you to enter the second screen's parameters.
Selecting Setup again will present the grid
ready for drawing into. Select Start again
and listen for variations. Stop, then Break,
then Skip as above. You now see the Quit button. A right-click into this button will
end your session with CAMUS, the Cellular Automata
At present, the
only way to record the session is to use an
external sequencer or computer sequencer
to record CAMUS' output.
New on Tim's
Atari MIDI World (TAMW)
Two new pages
as well as a face-lift for the index and front
pages! Atari MIDI forum member, Joseph Wright
created a very nice animated TAMW orb which
was my original vision for the opening pics.
I have also edited and changed the fonts for
easier readability and more of a slick presentation.
I hope you agree! You will also hear a new MIDI
file on the front page created with Dr Ambient's
AEX, Laurie Spiegel's Music Mouse as well as
live playing, all assembled into Atari Cubase
on a TT030. Check them out here:
by Ron Recker, a tracker/MIDI
There is also
HTML documentation in the link section created from the
original hard copy.
The Pro MIDI
Player! by Jeff Koftinoff
Jeff has had
this free for a while, but gave me permission
to have it on my site. I also have to
say there are more programs in the works,
including several algorithmic applications,
so hang on to your MIDI cords!
- The original
CAMUS tutorial by Eduardo Miranda in HTML format.
This is derived
from the original documentation from Eduardo's
MSc thesis, with scans from the
original screen drawings. The original was done
on 1st Word, an early Atari word
processor, and converted to text by Simon Kunath
of Unstable Sounds, an Atari MIDI
forum member. From there, I converted it to
HTML in the TAMW tradition.
- Home Page of
Eduardo Reck Miranda
Find out more
about Eduardo and his publications as well. There
are also links to download the
Windows version of CAMUS. You will see a vast
difference between the Atari and
Windows version but the concepts remain the
- The CAMUS page,
for more information on cellular automata and
the Windows version download.