Aleatoric Algorithms

"C'mon man!"

Made by Ivan Wang, Jacob Weiss, Judy H and Francisco Rojo

Using various algorithms (both computer-programmed and human-based), we experimented with varying levels of randomness in music through human error.

Created: September 22nd, 2014



While discussing which methods we wanted to use, we came to a point where we did not know whether to use two different sets of songs for the first two compositions, or use the same set of songs. We flipped a coin and let that aleatoric process decide for us to use the same set of songs for the first two compositions.



We each individually chose a song to use, met as a group, and performed three different aleatoric processes to mix our songs, producing three different compositions. We each used the same song for the first two compositions.

Songs that we chose:

Judy: Howl's Moving Castle (Joe Hisaishi)

Ivan: Katamari on the Rocks (Katamari Damacy OST)

Jake: Mama Said Knock You Out (LL Cool J)

Francisco: Lavender Town Pokemon Dubstep Remix (Stephen Walking)

We then used the results of the first two compositions to make the third composition.


First Process (Human Chance):

For our first composition, we wanted to see how natural human randomness would influence chance, indeterminacy, and entropy.

We started playing our songs at the same time. Individually, we waited for what we each felt to be 5 seconds, and then used the RNG from to generate either a 1 or a 0. This determined whether to mute or unmute our song for the next 5 seconds. We repeated this process for roughly 5 minutes.


This had a low level of chance because although we did not know exactly what songs each of us were going to choose, there was a good chance that they would be influenced markedly by our shared culture. However, we were all able to individually and randomly choose any song or piece of sound. There could also potentially be a large variation in how long each of us chose to wait before muting/unmuting a song.

This had a medium/high level of indeterminacy for each of us and for the audience too. However, we did not know the exact choice of songs, and we also did not know how the final piece would sound because of the inherent randomness in the process that we were using.

The end result had a medium level of entropy. At points, only one or two songs played and sounded like they fit well together. Also, after listening to the composition for a while, the general flow and rhythm of songs interleaving becomes familiar. However, switching songs periodically and randomly overlaying them made musical elements clash (especially tempo, rhythm, and tone), greatly increased the entropy.

Second Process (Computed Chance):

For this composition we wanted to see how computer-generated randomness and control would affect the chance, indeterminacy and entropy of the composition.

Using Javascript, Ivan wrote a program that:

Started playing the songs at the same time. Play all songs for 5 minutes.

Every five seconds,

        For each song:

                Use an RNG to determine whether to mute or unmute that song (0.5 chance of muting/unmuting).

Code Sample:

function playMusic() {
  var PLAY_TIME = 60 * 5; // 5 minutes
  var PLAY_CHANCE = 0.5;  // probability of playing
  var WAIT_TIME = 5;      // seconds before executing loop
  var timePassed = 0;
  var songs = [document.getElementById('song1'),

  for (var i = 0; i < 4; i++) {
  var playRandomly = function() {
    timePassed += WAIT_TIME;
    for (var i = 0; i < 4; i++) {
      if (Math.random() < PLAY_CHANCE) {
        songs[i].muted = true;  // mute song
      } else {
        songs[i].muted = false; // unmute song
    if (timePassed < PLAY_TIME) {
      setTimeout(playRandomly, 1000 * WAIT_TIME);
Click to Expand

The level of entropy for this process was lower than for the first process. Since the computer was able to much more accurately synchronize the muting/unmuting the songs, there was more order in this process. Additionally, the volume was more equal across songs, which decreased entropy.

However, there were many moments of abrupt silences (when all four songs were muted), leading to increased indeterminacy. These silences sounded quite unnatural, as they lasted exactly 5 seconds. Despite the increase in order, the abrupt synchronization of muting and unmuting made the experience much more jarring.

Third Process (Synthesized Chance):

For this composition, we took the results of the previous two processes and used them to make a new composition. We also used a method that was in between the first process and the second process in terms of human- and computer-generated randomness.

Now instead of using the original four songs that we chose, two of us used the first composition, and two of us used the second composition. Then we did the following process:

We had a centralized timer that we all looked at that repeatedly counted 5 seconds.

We started our songs at the same time.

Every time the timer hit 0 (every 5 seconds) we used the RNG from to generate a 1 or 0 and in that way we determined whether to play or pause or song for the next 5 seconds.

We repeated this process for roughly 5 minutes.

In this way we tried to lower the chance/indeterminacy/entropy of the piece by having a central timer, but we still had room for human error. This was somewhere between the first and the second composition.


The entropy for this composition was definitely higher than the other two. Although using a central timer did decrease the entropy slightly, using individual songs that already were pretty high in entropy resulted in a mix with high entropy.


There are a lot of choices that we’re making, which increases the level of chance but lowers the indeterminacy. We also noticed a trend in our group in trying to find or impose some kind of order in the chaos and randomness in this assignment. We think we were naturally inclined to try to decrease the entropy.

Share this Project


Using various algorithms (both computer-programmed and human-based), we experimented with varying levels of randomness in music through human error.