Since starting this blog, I've had the intention of using it mainly as an outlet for the Inspire Series. Three months in and I feel that it's been a success. I am thankful for anyone who takes the time to check this site out.
Now, I am looking towards a shift in what I want to share. The Inspire Series will still live on through weekly updates, so there's no need to worry about that. However, I feel that I am limiting myself if I only post one form of my creative outlets. I have recently delved deeply into the world of algorithmic and generative music creation.
Algorithmic and Generative music is an incredibly intense and interesting field. The possibilities of content creation are overwhelmingly limitless. A lot of people that I've shared my music with have been intrigued by the processes I use, but I've never really taken the time to explain it. Today, I figured I would being a new chapter in this blog and start sharing some of my work within algorithmic composition. Check back often for updates about my processes, discoveries and creations.
The first track I'd like to share with you is a regenerative algorithmic composition created from Rush's 'YYZ.' The track uses 1st order Markov Chains to rearrange MIDI patterns (if the Wiki link makes your head spin, I'll explain Markov Chains in a second). Take a listen below!
So, what is a 1st order Markov Chain? Essentially, it's a method of determining outcome based on (and only on) the current state given to it. Let's say we have 3 numbers - 1, 2 and 3. We want to determine which way to move between the three numbers. See illustration below:
So our input numbers are on the left and the results are on the right. This means when we receive the number 1, we will always move to the number 3. When we receive the number 2 there is a 50/50 chance of moving to either 3 or 1. And finally, when we receive the number 3 there is a 50/50 chance of moving to either 2 or 1. This becomes completely cyclical. If we start with the number 1 we can continue moving throughout the chain simply based on probabilities. This is how a Markov Chain works!
Now we can apply this to the algorithmic piece above. I started with a MIDI file of Rush's 'YYZ' which contains a pattern of numerical instructions to tell the computer how to play back the song. Using a little computer programming in Pure Data (I'll get into PD later, but for now - just the basics!), I can generate a new set of outcomes simply based on the probabilities contained in the original MIDI file. Thus, creating regenerative algorithmic music! Below is a snippet of the Markov Chained used in this song:
This may look complicated, but it's essentially the same thing as the grid above. Anything here followed by a comma is the input number, anything followed by a semi-colon is the end of a string. So if our input number is 0 we will move to 81 100% of the time. If we start with 33, we can move to 48, 45, 47, 65, 36, 51, or 46 each with a different probability. This is was makes this process so incredible - the amount of outcomes is enormous and can result in some impressive evolution of sound.
This is where I'll leave it for today. As I said, the concept of algorithmic and generative music is incredibly in-depth and it's quite easy to get overwhelmed. However, the basic understanding of a Markov Chain is very helpful to have. Next time I'll go into the process of taking this data and actually outputting it to start making sounds!
Happy Creating!
No comments:
Post a Comment