Procedural

As I’ve been building a library to create music procedurally, so that I can use the Kinect as a musical instrument, I find that my focus is shifting. I am becoming fascinated by the idea of building music entirely from the ground up, starting with the most “blank” canvas I can.

Just as I was drawn in past years to construct a complete computer graphic modeling, rendering and procedural animation package — starting with nothing but the ability to set the color at each pixel of an image — I find the equivalent question in music to be equally compelling.

As far as I can see, the “equivalent question in music” is to start with, say, a place to write something like 40000 samples every second (big enough to contain any audible waveform), and then write computer programs that specify the sound waves to into those samples, adding those waves together to make suitable harmonics that represent one musical instrument or another.

Then on top of that, build the attack and decay of individual notes, allow multiple channels for harmony, add pitch bend and vibrato, write procedures to lay one voice against another in syncopated rhythm, and gradually build toward creating entire musical compositions.

I know this sounds like a lot more work than just using an existing software package, but it’s also a lot more exciting. Kind of like building your own car from the ground up, and then seeing whether you can drive it across the country.

2 thoughts on “Procedural”

  1. World-building for its own sake. How refreshing! I know too many programmers who would do this but feel the need to justify it by claiming that all the existing packages are broken. Curiosity and “because you can” are much nicer reasons!

  2. Thanks! One of the primary reasons I do this is that it’s a great way to learn. Building things from the ground up forces me to learn how they really work (as opposed to just a general hazy idea of how they work).

Leave a Reply

Your email address will not be published. Required fields are marked *