Generative Composition

Composing with Generative Algorithms

I have been fascinated by making patches in Max MSP to create unique, endless musical compositions through the use of different types of generative algorithms. From L-systems and Fibonacci sequences to Markov chains and Boids, it is incredibly interesting and rewarding to see what type of music these algorithms are capable of creating.

Generative Composition with Stochastic Methods

This Max MSP project uses a Boids, dice rolling, distribution, and Markov Chains to play a synth and trigger different samples. The result is a chaotic but ambient composition, available to listen to on Soundcloud. Below is a look inside the patch.

As seen above, the bulk of the algorithms in this patch are all interconnected and used to control a very simple, sine wave synthesizer. The dice roll algorithm is used to control aspects of the boids, which have certain parameters for their behavior as they move around. The number that is received from the dice roll (2-12) controls the separation of the boids, and the frequency of that number (1-127) controls the coherence of the boids. The boid algorithm outputs four values (x, y, vx, vy) and the y values from this output are scaled to a usable range and then used to control the metro object (speed) of the synthesizer changing frequencies. To control the frequency of the synthesizer, a Markov chain is used to determine the probability for each state change, which then selects the frequency of the synthesizer. I enjoy the irony in using so many different interconnected algorithms to create a sound that on the surface, sounds extremely simple.

The more sonically-complex aspect of this composition is solely controlled by another Markov chain, which defines the probabilities of each state change. Each possible outcome is connected to a different drum sample, which gets triggered by a bang when its number sets sent out of the Markov chain. Overall this patch, succeeds in my desire to create something unexpected; without taking a look inside the patch, the listener would likely assume a very different structure for the algorithms I designed. It sounds as though the variety of samples would be dictated by a much more complex of algorithms, while the simple sine wave is easily dictated. I wanted to find a creative, complex and unique way to combine many different algorithms to do something rather simple, while also maintaining a sense of dynamics and interest in the resulting composition.

Previous
Previous

Games Programming

Next
Next

Sound and Signal Analysis