Thursday, June 11, 2009

composing with WolframTones cellular automata

In my research into new ways to compose, perform, and record music, I have tried a lot of tools.

Over the past few years alone, I've used Audacity audio editor, old Casios, plastic musical snowmen, harmonicas, slide whistles, three-string acoustic guitars, digital delay processors, web-based loop machines, online beatboxes, virtual online instrument simulations, and softsynth programs.

Currently, I'm composing music with WolframTones cellular automata. This tool provides some beautiful, gentle tones with lovely melodic parameters and meteoric metier.

Listen/download FREE mp3s on, CLICK HERE:

Str8 Sounds "Other Dimensional"

From the WolframTones website:


When prominent scientist Stephen Wolfram published A New Kind of Science in 2002, it was immediately hailed as a major intellectual landmark. Today the paradigm shift that Wolfram's work initiated is starting revolutions in a remarkable range of areas of science, technology--and the arts. WolframTones is an experiment in applying Wolfram's discoveries to the creation of music.

At the core of A New Kind of Science is the idea of exploring a new abstract universe: a "computational universe" of simple programs. In A New Kind of Science, Wolfram shows how remarkably simple programs in his "computational universe" capture the essence of the complexity--and beauty--of many systems in nature.

WolframTones works by taking simple programs from Wolfram's computational universe, and using music theory and Mathematica algorithms to render them as music. Each program in effect defines a virtual world, with its own special story--and WolframTones captures it as a musical composition.

It's all original music--fresh from "mining" Wolfram's computational universe. Sometimes it's reminiscent of familiar musical styles; sometimes it's like nothing ever heard before. It's a taste of what it's like to explore the computational universe--and a hint of what's to come.

WolframTones 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). WolframTones 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:

Wolfram's Rule 250 Cellular Automaton

Evolution of Wolfram's Rule 250 Cellular Automaton
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:

Wolfram's 256 Elementary Cellular Automata

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:

Wolfram's Rule 30 Cellular Automaton

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 WolframTones 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 WolframTones 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 WolframTones is to take a swath through the pattern:

Slice of Rule 30 Used for WolframTones Score

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

Rule 30 Slice Tipped on Its Side

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:

Musical Scale

WolframTones 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:

playstop playing

WolframTones 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. WolframTones 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 WolframTones 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 WolframTones 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 WolframTones shows you what you can find.

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


No comments: