A Symbiosis of Familiar Content With Generative Form


J. Freeman, BA, MA

Department of Music, Columbia University, New York, USA.





MetaMix (2003) is a cross between a musical composition, a digital audio player, an interactive environment, a software tool, and a work of conceptual art. An algorithmic DJ of sorts, the program remixes a user-selected audio track in real time, using a simple generative process based on an infinite integer sequence. MetaMix demonstrates that within the context of an interactive environment, generative processes can form a symbiotic relationship with familiar, pre-existing source material. The familiarity of the source material enables users to more easily follow the generative process, while the transformation of that material by the process encourages users to experience the source from a new perspective.

1. Overview

MetaMix [1] is software art for Windows and Mac OS X. A simple generative process remixes an audio track, using an infinite integer sequence to reorder and layer chunks of the original audio. The graphical interface enables users to select an audio track from their own music collection to remix, to view information about the generative process, and to configure several parameters of that process.

1.1 The Integer Sequences

MetaMix superimposes new structures onto existing audio tracks via infinite integer sequences. The program includes twelve such sequences, chosen from Sloane’s exhaustive collection, The On-Line Encylopedia of Integer Sequences [2]. Most of the sequences are self-similar, and several of them may be interpreted to describe properties of binary or ternary representations of numbers.


For example, one sequence used by MetaMix is the Ones Counting Sequence, sometimes also referred to as the Thue-Morse Sequence; MetaMix designates it Exponential Slow because its progress through the natural numbers slows down exponentially as the sequence progresses. It begins:


          0, 1, 1, 2, 1, 2, 2, 3, 1, 2, 2, 3, 2, 3, 3, 4, 1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5…  (1)


and can be computed by the following recursive formula:



The sequence describes the number of ones in the binary representation of n. It is also self-similar; taking every alternate element in the sequence yields the original sequence. (See Sequence A000120 in [2] for a more thorough discussion.)


1.2 The Remix Algorithm

To remix the audio track based on an integer sequence, the software first marks the audio track at equal-length time intervals and labels those markers with the natural numbers. Each time it obtains the next number in the integer sequence, it begins audio playback at the correspondingly-numbered marker.


When a new number from the integer sequence triggers audio playback at a marker, one or more previous layers of audio playback may continue uninterrupted. This layering renders the discrete generative process in a smoother, more fluid manner. To further this effect, MetaMix also gradually fades each playback layer in and out over the course of its lifespan, creating gradual crossfades between old and new playback layers.


Here is a simplified version of the algorithm:


Step 0. Set LENGTH to the length of the audio track.

            Set INTERVAL to the amount of time between successive events.

            Set LAYERS to the maximum number of simultaneous playback layers.

            n = 0

            currentTime = current system time

Step 1. While stopping condition is false, do Steps 1-7

                        Step 2. playbackTime = INTERVAL • | f (n) |

                        Step 3. If playbackTime > LENGTH, then set stopping condition to true.

                                    Else continue:

                                    Step 4. Start a new playback layer beginning at time playbackTime.

                                    Step 5. If more than LAYERS playback layers are active, stop the layer which has been active for the longest amount of time.

                                    Step 6. n = n + 1

                                                currentTime = currentTime + INTERVAL

                                    Step 7. Wait until current system time equals currentTime


In practice, this algorithm almost never terminates. Most of the sequences used by MetaMix move through the natural numbers at an exponentially slowing rate. In many cases, it would take longer than the age of the universe for the software to reach the end of even a five-minute audio track.


1.3 User Interaction

Figure 1: The Mix tab of the MetaMix GUI.


MetaMix’s GUI enables users to manipulate parameters of the algorithm and helps them to follow the generative process. The MetaMix GUI is not meant to be continuously manipulated; users are instead encouraged to interact with it during an initial period of experimentation and to then let the program run without further intervention, so that the large-scale musical structures it produces have ample time to unfold.


Users control basic parameters of the generative process by selecting the audio track, the integer sequence, and the INTERVAL and LAYERS parameters of the algorithm. They can also set the software to start from any point within the audio track and can determine conditions under which the algorithm triggers backwards playback. MetaMix also provides standard tape-transport controls, including fast-forward and rewind buttons which skip exponentially through the integer sequence. User interaction causes immediate, real-time changes in audio output.


To help clarify the generative process, the software includes short descriptions of each of the integer sequences which explain their derivation and structure; users browse these descriptions while selecting a sequence. It also displays information tracking the current state of the process. The current values of n and f (n) are always displayed, along with a scrolling counter which shows the f (n) value and position (in minutes and seconds) of each active playback layer. As playback layers fade in and out, their respective counters do as well.


2. Discussion

I created MetaMix to be heard for long periods of time and to allow users to easily move along a continuum between active and passive listening. I wanted users to grasp some aspect of the generative process regardless of their level of engagement.

To accomplish this goal, I chose an extremely simple and straightforward generative process which is easy to aurally and visually follow. The repetitive, often self-similar integer sequences inject some structural redundancy into the experience; even if a user were to miss hearing a portion of the music, he or she would still be able to follow the large-scale form. In fact, since the music is virtually infinite, every user does “miss” a large portion of the piece.

I also chose to use the process to operate on a pre-existing, familiar audio track which listeners choose themselves. They quickly and easily recognize each chunk of sound output, and they can usually even identify its original location within the source material. As the integer sequence weaves through the natural numbers, listeners quickly grasp the corresponding manner in which MetaMix weaves through the original audio track. Because listeners recognize the content, they can focus more on the new, unfamiliar structure. And the very familiarity of that content makes the environment less intimidating and more inviting; it is something concrete which listeners can hold on to in an unfamiliar world.

The use of familiar content also helps render the process in an interesting way. The subtle and unexpected interactions of the audio track’s original structure with MetaMix’s generative process create a more interesting musical environment than the process could alone produce, full of prolonged expectations, fascinating juxtapositions, and unexpected coincidences.

My design approach was influenced less by recent interactive works than by some older compositions which predate digital technology. For example, Alvin Lucier’s I Am Sitting In A Room [3] generates its material by playing and re-recording a spoken voice recording again and again until the voice eventually gives way to “the natural resonant frequencies of the room.” Like MetaMix, this work is an interactive environment in which a predefined process operates on user-selected source material. The algorithm is fixed, but the score allows the performer to select the content (the spoken-voice recording) and some parameters of the algorithm (such as the room to be used and the number of iterations).

Ultimately, MetaMix thrives on the symbiotic relationship between familiar, pre-existing audio content and unfamiliar, generative form. The content helps listeners grasp the form, while the form encourages them to approach the content from a new perspective. At its best, it can lead people to discover new things about music they love.

3. References

[1] J. Freeman, MetaMix (2002), available as a free download at

[2] N. J. A. Sloane, editor (2003). The On-Line Encyclopedia of Integer Sequences, published electronically at

[3] A. Lucier, I Am Sitting In A Room (1970), reprinted in Sound By Artists (1990), ed. D. Lander and M. Lexier, Toronto: Art Metropole and Walter Phillips Gallery.