### Scientific
Foundations

Wolfram*Tones* is based on a core discovery of Stephen
Wolfram's *A New Kind of Science*: that in the
computational universe even extremely simple rules or programs can
give behavior of great complexity. Wolfram first found evidence of
this surprising fact in his experiments in the early 1980s on systems known as
one-dimensional cellular automata (now often called Wolfram automata).
Wolfram*Tones* is based on these very same types of systems.

The basic setup for Wolfram's cellular automata is very simple. There
is a row of cells, each black or white. Then there is a rule that
says what color each cell will be, based on the colors of a certain
neighborhood of cells on the row above. What pattern one gets depends
greatly on the rule one uses--which can be specified by saying what
color a cell will be for every possible arrangement of neighboring
cells.

Here's one example, in which one starts with a single black cell--and
gets a simple checkerboard pattern:

replay animation
There are altogether 256 so-called elementary rules, which involve
only one neighbor on each side. Stephen Wolfram's
crucial experiment in the early 1980s
was systematically to run all these rules. Here's the result he got:

enlarge

Many of the rules do only very simple things--or at least make
patterns that may be intricate but are ultimately very regular. The
first one that doesn't is rule 30. Here's a larger picture of it:

If one looks carefully at this picture, one can see some regularity.
But what's remarkable is how complex--and in many ways random--the
whole picture looks. Ordinary intuition would tell one that to make
something as complex as this would somehow require a complicated
setup, with complicated rules. But rule 30 shows it doesn't. And
that's the discovery that launched Stephen Wolfram's *A
New Kind of Science*--and that now seems to shed light on some
of the fundamental secrets of nature, and long-standing mysteries of
science.

It's also what makes Wolfram*Tones* possible. Because what it
shows is that in the computational universe it's easy to find rules
that make complex forms. And that's how Wolfram*Tones* manages
to create so many different complex musical compositions. Each
composition in a sense tells in music the story of some system in the
computational universe. And because the system follows a definite
consistent rule, the compositions inevitably have a certain internal
consistency--which is probably what makes them so effective as music.

### Making
Music

How does one take a pattern generated by a cellular automaton, and render
it as music? The key idea of Wolfram*Tones* is
to take a swath through the pattern:

and tip it on its side, and treat it as a musical score:

Once the cellular automaton pattern has been "tipped on its side" so
that time runs across the page, the height of each black square is
related to the pitch of a corresponding note. The specific mapping
from height to pitch is determined by the musical scale that is used.
Each scale picks out certain of the 12 standard tones in an
octave. The C major scale, for example, picks out the following:

Wolfram*Tones* uses various *Mathematica*
algorithms to form music out of cellular automaton patterns. The most
straightforward is to take every block of contiguous black cells at a certain height, and map it to a single note played
by the same instrument. Here's the result for rule 30, starting from a single black cell, played on a piano in C major:

Wolfram*Tones* supports multiple instruments, as well as
percussion. Everything is always derived from a single underlying
cellular automaton pattern. But different instruments can be set up
to pick off different aspects of the pattern--say to correspond to a
melodic line or a bass track. Wolfram*Tones* also supports a
number of algorithms for deriving percussion from cellular automaton
patterns.

### Searching
the Computational Universe for Music

There's already interesting music to be found just among the 256
elementary cellular automata. But Wolfram*Tones* normally
operates in a larger part of the computational universe. Typical are
rules in which the color of a cell is determined from five neighbors,
rather than three. In the simplest case, there are 2^2^5, or about 4
billion, rules of this type.

Some of these rules generate only very simple behavior that isn't
appropriate as a basis for any ordinary music. But given a target
style of music, what Wolfram*Tones* does is to search the
universe of possible rules for ones that have relevant kinds of
complex behavior.

Without the intuition of *A
New Kind of Science* it wouldn't seem plausible that one could
just search for music in this way. But the remarkable fact is
that--much like in nature--complex behavior is actually common
enough in the computational universe that one can find it just by
searching. Wolfram's phenomenon of computational irreducibility shows you can't
expect to know in advance where you'll find any particular kind of
complexity. But you can always just explore--and Wolfram*Tones*
shows you what you can find.

It's an early glimpse of the immense power of exploring the
computational universe.

*See also the FAQs.*