Up in the right corner I've added a new link to a page that is pretty bare right now. One of the things I'm interested in that I want to feature prominently in my games is generative music, and I've put a lot of thought and research into different ways of generating music out of individual elements. One of the stranger methods I've come across is something called "Bytebeats."

This method takes the concept of generative music to its purest, most minimal form. The entire piece of music is defined as a function of time, and the output is just the sound of that function applied 8000 times per second. The results have quite a lot of variation, and can become quite complicated. The functions that describe these pieces of music are so simple that people often talk about "discovering" them rather than "composing" them.

The Compositional Process

There are certain atomic operations that can be composed, which contribute different qualities to the resultant music. You can't put these together in any of the ways familiar to composers: you can't string them together into a melody, nor can you even really play two of them at the same time. It is more like you only have effects to work with, and no sounds; you apply effects to silence, and the result is somehow music.

Some of the more important elements turn up in many different bytebeat pieces, often multiple times. The one I used most often in the piece above is something called "sierpinsky melody" after the shape that the waveform makes when you graph it. (You can play around with these sounds and see them visualized here.) The basic form is (t&(t>>k)) where t is time and k is some constant. The '&' is a bitwise "and" operator, and '>>' is arithmetic shift-right.

Just with this one building block, there are quite a variety of different effects. Different values of k can have wildly different sounds, and the 't' on the left side can be multiplied by a constant to give subtler variations. (3*t)&(t>>8) was one of the first Bytebeats to be discovered.

Another important building block is the pattern t*(x&t>>k). The specific example t*(42&t>>9) was another early discovery that has a distinctive melody. It should be remembered though that these are distortions of a line, they aren't fixed melodies. They can only be combined with mathematical operations, not musical operations.

The Music

The music produced is generally harsh and electronic sounding, as might be expected. Some of it might not even sound like music at all to some people; I have always had a taste for very abrasive music, so it fits with my taste quite well, but I know that I am unusual in that regard. It also tends to be fairly repetitive, I'm quite proud of the piece I linked above because it is less repetitive than most of what is possible with this technique, but it is still a very harsh and repetitive piece of music by any other standard.

It reminds me quite a lot of the music of Masami Akita, who performs under the name "Merzbow." It's actually a little bit hard to call what he does music, but it is a deliberate arrangement of sound to create an intentional aesthetic experience, so it's pretty darn close. I quite like listening to his stuff; he's very prolific but my favorite of what I've heard is an album called "Cycle". It has the same harsh electronic sounds of Bytebeats, but with a more deliberate organization, and he often incorporates non-electronic sounds like car horns, dogs barking, and other stuff like that.

This kind of abrasive noise-music is appealing to me for a few different reasons, but the one I find easiest to articulate is the way that it changed my relationship to noise in general. Listening to these deliberately chosen noises has tuned me in to hearing the background noises of the city in a new way. Rather than tuning out things like passing cars and rattling air-conditioners, I can listen to and appreciate the sounds they make as though it were music. It isn't the same as listening to music, but it's the same kind of deliberate, careful listening to all of the sounds being made, and the way that they interrelate.

This sort of pure listening is very important to the way I appreciate music. It isn't the only way that I listen, nor is it the most important part of listening to music, but it informs both the kinds of things I listen for and the kinds of things I compose. In creating generative music, one of the things that is very important for me personally is that the sonic texture does not get stagnant. It is easy for generative music to fall back on the same sonic textures every time, because the resources from which the music is built are necessarily limited. Bytebeats are somewhat promising in that regard because the music is built up from parts that are smaller than timbre and tonality. They all end up having the same sonic character anyway, but they do so for different reasons, and they may yet prove a fruitful source for new generative sounds.

Leave a Reply.