The real experimentation began when I started sonifying my Cellular Automata in Mathematica. The first step was to apply the simplest idea for sonification -- treat each row like the keys of a piano, and play all of the black keys.
This functionality is actually also programmed into the display1DBW function -- you can enable it by setting the Sound option to True.
if you only want to hear the sound, without the graphic, then you can set Visual to False:
This functionality is also added to the display1DRGB function as well. In sonification of this function, I made a rather arbitrary decision: I decided that any time two colors were present (eg. Red and Green or Blue and Red, etc.) a sound would be played.
Clearly, the above example had lots of room for more experimentation. Rather than making the arbitrary decision on sonification, it seemed like I should parameterize all the various possibilities and experiment with various forms of sonification.
But I didn't, because I ran into two major problems. Mathematica had been a great environment to experiment in so far, but it really wasn't the greatest environment for sound creation and I was starting to push it. First, I found it rather hard to create more complicated sounds. I spent a lot of time working on it, and I wasn't really very satisfied with my results. The problem was that I always had to deal with raw wave functions, and I didn't have a deep enough mathematical understanding of sound to do what I wanted.
But even more importantly, the biggest problem was memory. Mathematica does not create sounds in a memory-friendly way. During my experimentations with sound, every so often I would run into memory problems and I'd have to restart -- this was a huge pain.
For more details on my Mathematica code, please see my Mathematica code & examples. (Note that if you are viewing this document as a Mathematica document, the above functions will not execture properly until you have run the code in my other Notebook.)