[Tim's Atari MIDI World banner]
CAMUS: Cellular Automata MUSic generator


[Screen-shot: Camus opening screen]

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.

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.

Eduardo's research has included evolutionary music, music and artificial intelligence, music and the brain and sound-based communication systems.

What is CAMUS?
According 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 cell simultaneously.

Cellular automata (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.

Cellular automata 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 the user."

For more information of this fascinating subject, please visit Eduardo Miranda's web site for a detailed explanation (see link section).

What does 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.

[Screen-shot: CAMUS in action]

CAMUS tutorial

  1. Open CAMUS by double-clicking on CAMUS.PRG. Program loads.
  2. Set first screen parameters:
    • Life rules/death rules: for now leave these alone.
    • Orchestration: 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 - Ed).
    • Articulation: set to 20.
    • Distribution: Click in the small box by the word "distribution" to view the different choices: Uniform, linear and triangular. Select triangular.
  3. Click into Setup. The main screen turns black. Next screen parameters can now be set:
    • Start step: leave at 1.
    • End step: set to 10 (using the "-" and "+" buttons).
    • Speed: keep at 9999, with variation at 20.
    • Dynamics: 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 so on.
    • When completed, click OK.
  4. Click into Setup again. A grid appears. Using the mouse, draw into the grid any shape or lines you want.
  5. When completed, 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.
  6. 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.
  7. 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 the file.
  8. Select Skip. 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 MUSic generator.

At present, the only way to record the session is to use an external sequencer or computer sequencer to record CAMUS' output.

[Image: TAMW's groovy orb - yeah, baby!]

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:

Music*Micro by Ron Recker, a tracker/MIDI hybrid application

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!



Useful links

  • 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 same.
  • The CAMUS page, for more information on cellular automata and the Windows version download.

Top of page ]

MyAtari magazine - Feature #8, July 2002

Copyright 2002 MyAtari magazine