Transmusical Experiments Reference
| 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.)
|
| 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.
|
Notes
1. Rule Group
- BOT
- "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.
- GB
- "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.
- Cyclic
- 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.
| 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.
|