Transmusical Experiments Reference

Table I - Musification Parameters

T (base tone) The MIDI key number of the lowest tone.
N Total number of tones in the mapped-to tone-set.
Map Type linear Input is simply scaled to the closed interval (0, N - 1).
modular Input is confined to the above target interval by "wrapping around" rather than scaling, i.e., by taking the remainder of an integer division. Which is to say, the formula applied is y = x MOD N.
TIV (tonal-interval vector) My rather stiff-sounding term for a series of semitone intervals, such as a scale or chord. For example, the major scale (mode) can be encoded as 2,2,1,2,2,2,1. So, to get our output tone, we use the result of the linear or modular operation as an index into an array of MIDI key numbers built from the TIV information, starting at T. (The TIV is repeated as necessary to provide N tones.)

Table II - Cellular Automaton Rules

Name Group(1) H(2) C(3) Encoded Table(4) Description
Parity BOT 5 2 614 (B-1,3 S-0,2,4) A cell will be 1 in the next step if and only if there is an odd number of 1-valued cells in its neighborhood. The status of the cell itself is included when making the count.

This rule is credited to Edward Fredkin. It's the original what-goes-round-comes-round rule. If you start with random strife and ferment, you get it back in spades. But a small ordered seed flourishes, multiplying kaleidoscopically.

The musical potential of this rule seems limitless.

Brain BOT with decay 9 3 16 (B-2) If we name the possible cell values based on a simplistic neural analogy, viz. 0 = "ready", 1 = "firing", 2 = "refractory", then the rule can be stated as follows: Only a cell in the ready state may fire and it will only do so if exactly 2 of its neighbors are firing. After firing for one step, a cell spends a step in the refractory state before regaining readiness.

Brian Silverman gets the credit for this remarkable rule. It should definitely be on everyone's top 5 CA list. I wish the GOLers would give it some attention, it seems sadly neglected.

Maybe the problem is that Brain is too alive. It's so alive it's scary. The ceaseless movement. The to-ing an fro-ing. The implacable will to motion, to going-nowhere. The determined but pointless fecundity of "lives" that become fodder for their own offspring. The sheer restless energy of it all. This is a decidedly Schopenhaueran take on Life, and it ain't for the squeamish.

Be that as it may, Brain, like Parity, has great musical potential. If CA bands ever abound, you won't have to look far to find Brain on base.

Cyclic CA Cyclic 5 12(5) N/A Let's say you are a cell in state x. If at least one of your neighbors is in state x + 1, you will be promoted to that state at the next step. The states "wrap around" such that the state with the highest numerical value (C - 1) is "less than" the first state (0). That is to say, modular arithmetic is used in computing the next higher state.

This class of CAs was discovered by David Griffeath. The Cyclic CA is justly famous for its self-organizing properties. And my own "research" suggests that, when your primordial brew happens to end up with a periodic delta count, this CA can also drive a mean rhythm section.

Conway's Life BOT 9 2 224 (B-3 S-2,3) Traditionally, 0 is "dead" and 1 is "alive". A living cell remains alive only when surrounded by 2 or 3 living neighbors ("otherwise it dies of loneliness or overcrowding"). A dead cell comes to life when it has exactly 3 living neighbors.

This most-famous of CAs was first described by John Conway. Often known as "The Game of Life" (GOL), it has spawned a community of virtual taxonomists (and ethologists, and ecologists, and...) seemingly as riotously prolific as the denizens of the CA they explore. See Callahan's Life page for details.

I can't really comment on the rule's musical potential. I guess I was too lazy to construct the various complex periodic structures so as to survey them. (This was before I endowed Flea Circus with the ability to import LIF and BMP files.) It's sort of a tough sell, since with Parity, Brain, Banks, CCA, and many others, you can get an endless supply of music for "free".

Banks GB 5 2 FEC2C2AAh Unlike the rules above, this one discriminates between neighbor configurations. If a 1-cell has exactly two neighbors, and if these neighbors are adjacent to one another rather than opposite one another, the cell goes to 0. A 0-cell with more than two neighbors goes to 1. In all other cases, the cell remains unchanged.

Edwin Banks came up with this one. They tell me this is a good rule for constructing the logic elements of a virtual computer. (Hmmm...a big computer running a CA instantiating a small computer. Then, I suppose, the small computer could run a CA? If J. Swift could only see us now.)

From random beginnings, I've captured a lot of nice Bankstunes. OK, maybe the CA doesn't look like much that way (as opposed to the engineered way) - but actually, the music is often so captivating, with a buoyant tendency, that the little squares dancing and jittering around in their crazy "rooms" sort of grow on ya.

Fractal Beads GB 5 2 10010h The rule table that originally generated the orbit musified on Isle Ex as "Loose Ends" was obtained by a brute randomize-and-test process. (The payoff ratio is on a par with the slots in a Nevada gas station :) I've only recently examined the table, and have found that, as expected, the same orbit can be generated by a much simpler rule. Indeed, in this case Occam's razor provides a ludicrously close shave. That being the case, in this revised reference I've substituted the more essential rule for the other, and have provided it with a name that suits my findings.

The other rules discussed here are sensitive to the number (totalistic rules) and/or relative positions (Banks rule) of neighbors, but this is the only one that takes absolute position into account. Using "life" terminology, we can state the rule as follows: A dead cell comes to life if it has a single living neighbor, and if that neighbor is either its Eastern or its Southern neighbor. In all other cases, it stays dead. If a cell is already alive, it dies.

Of course, there are four equivalent rotations of this rule, in which the "beads" propagate in different directions. One might ask whether rotation affects the subjective experience of the CA and its musification. In the E/S rotation, the beads propagate up and to the left, a bit "backwards", at least for Westerners. One could argue that this subtly increases the "strangeness" factor.

As it turns out, this CA belongs to a large family of what we might call "Sierpinski rules", in virtue of the fact that they produce structures closely related to the so-called Sierpinski gasket, a well-known classical fractal. Our rule's membership in this club is easily demonstrated: if you give the beads some decay states (by increasing the cellsize parameter, in my system), the resultant ghost cells trace out an ever-growing gasket. Whether this self-similar object can properly be said to "be" a Sierpinski gasket (under the assumption, of course, of an infinite number of iterations in an open universe) is a question for the mathematicians, but it dang well looks like one.

I've only lately started to appreciate as such these fractal tendencies of CAs. Of "interesting" patterns encountered while testing randomly generated rules on single-cell seeds, it's my impression that some form of "Sierpinskism" shows up with much the greatest frequency. And this ubiquity is reflected in our musical mirror: "Sierpinski melodies" crop up again and again, sometimes in surprising ways and places. One can't help but think that there is a deep universality to this structure, and to its simple yet evocative music.


1. Rule Group
"Binary outer totalistic". These are counting rules. The number of 1-valued neighbors are tallied up and the next value of the center cell depends on its last value and this neighbor count. "Outer" totalistic rules distinguish the center cell in this way from the other cells in the neighborhood. In my own rule-definition scheme, any binary rule can have "decay", which means that when a cell goes from 1 to 0 it passes through C - 2 intermediate states, one at each CA step. Note that these decay states are "refractory" -- that is, a cell has to cycle back to 0 before it can be "turned on" again as per the look-up table. This scheme allows us to obtain a plethora of interesting nonbinary rules from a binary table, by merely parameterizing C.
"General binary". This group encompasses all possible binary rules for a given neighborhood. As such, it includes the BOT rules, but would be a more cumbersome way to specify them. So the interest here is of course in non-BOT rules -- rules where not all neighbors are created equal, so to speak. Where, for instance, the rule distinguishes opposite from adjacent neighbors or North neighbors from South ones. There are an immense number of GB rules. For 5-hoods there are 232 (> 4 billion) unique lookup table configurations, while for 9-hoods the number explodes to a staggering 2512 (> 10154). Moreover, we can, as with BOT rules, further expand the number of rules by simply specifying values for C greater than 2, with the understanding that the additional states are refractory decay states.
This group, as implemented elsewhere on Isle Ex, goes beyond the "classic" C-parameterized H5T1 Cyclic CA to also parameterize H and T, where T (the "threshold") is the minimum number of superior neighbors necessary to trigger promotion.
2. H ("hoodsize"). Each CA rule showcased on Isle Ex uses one or the other of the following cell "neighborhoods", where the N's are the neighbors of cell X. Since the neighborhood consists of all cells which might influence the value of X at the next step (via the CA rule), it includes X itself. Thus at Isle Ex, H is always either 5 or 9.
     von Neumann neighborhood      Moore neighborhood

               N                        N N N
             N X N                      N X N
               N                        N N N
3. C ("cellsize"). This is simply the number of possible cell values, which are normally numbered 0 to C - 1.

4. Rule codes

BOT rules
The encoding used is the one published in Stephen Wolfram's article, "Two-Dimensional Cellular Automata". (Note: A few of the codes specified in Wolfram's paper seem to be misprints. For instance, some codes in the captions to Figures 7 and 9 exceed what I take to be the largest possible value for a 9-cell code, 218 - 1 = 262143, which denotes a table with all bits set. The code 174766 appears to generate the pattern depicted in Figure 7(e); I haven't attempted to correct any others.)
GB/H=5 rules
As with BOT rules, the GB code is obtained by packing the lookup table bits into a numerical value, this time in hexadecimal format for the sake of compactness. The ordering of the table entries is that provided by an ascending walkthrough of the neighborhood states, where the cell states are mapped to the table index bits as follows (from high bit to low bit): E W S N C. As for the packing order of the table entries in the code, the table index is mapped directly to code bit-significance. My neighbor-ordering is the same as that given in the book Cellular Automata Machines by Tommaso Toffoli and Norman Margolus, but my packing order is opposite to that used in their code examples on page 33. (BTW, their code for the Parity rule is in error - binary 1001 is hex digit 9, not D. So using their packing order the code should be 69969669.) My ascending bit-significance packing order makes the GB code consistent with the BOT code.

5. The Cyclic CA rule normally has C parameterized. The musical examples at Isle Ex were generated with C set to 12.

Table III - CA Demographics

Demographic Definition and comments
0 count The population of 0-valued cells in a CA state.

One could of course also measure the populations of other cell values. Binary CAs have just one degree of freedom, so you don't get independent information counting 1s in addition to 0s, but their inverse relation might sometimes be musically useful. Nonbinary CAs, of course, temptingly expand our counting horizons. Though a special situation obtains with binary-with-decay rules, where 0s, 1s, and 2s may often be good to count, while counting any decay-state values greater than 2 is redundant with 2s. (Quiz: why aren't 2s necessarily redundant with 1s?)

delta count The number of cells in a CA state whose values have changed with respect to their values in the previous state.

For binary CAs, this measure is equivalent to the Hamming distance between a state and its predecessor, but I knew of no term that would also cover the case of nonbinary cells (which is far from saying none exists), so I took the liberty of coining one, using 'delta' in its typical mathematical sense denoting difference or change.

You may have noticed that most of the musical examples use the delta count. That may be more my own personal rut than an index of comparative musical utility, since, if I remember right, it was the first scalar metric I implemented in developing Flea Circus. It is an interesting measure, however. Some folks have related the Hamming distance to the "entropy" of the CA.

Page contents created 4-Feb-1998.  See map for file modification date.