top of page

Markov Complications


I've worked with Markov Chains many times before, but this project will be an opportunity to really dive deep into using them in a practical way. I've used them in the past for everything from generating melodies, chopping up drum loops and generating drum beats, to structural elements, background textures and white-noise transitions. Despite this, I still feel like I've never used them to the maximum potential, so I can't wait to dive deep into exploring further ways of using them, and to use my new interfaces to unify them within the system.

As I am diving deep into the realm of Markov Chains, I felt it may be appropriate to study the mathematics behind them. I have found plenty of resources including this Cambridge study guide, and although there is certainly some accessible information explained in laymans terms that will be useful, a lot of the mathematics is extremely complex. This troubled me a little - how would I develop new ways of using Markov chains without the mathematical background to understand the foundations of the algorithm? I was assured by supervisors however, that an understanding of these complex ideas is not necessary. It will certainly be useful to understand the basics and push my understanding further, but ultimately I am dealing with the creative application of Markov Chains in Electronic Dance Music.

Another concern of mine was that, using the [prob] object, I am only using first-order Markov chains. I have used higher order chains before by using the [anal] object to analyze midi files and generate histograms with these to generate nth order Markov chains, but I do not feel like this method will work within the framework of my project. I am working with real-time generations based on user interfaces, as opposed to loading MIDI files. Again, I came to the realisation that these kinds of technicalities are only important in a creative context if they are causing hindrance to the project. In this case, first order Markov chains are creating exactly the kind of generations that I envisioned, therefore there is no need to introduce higher order chains for the sake of it. I will consider using MIDI files for higher order chains in the future, but for now first order chains via the GUI is enough to deal with.


bottom of page