Midifile markov generator

Categories: Artistic/Visual Project or Installation

Submitted by:Jonathan Frank

24 May 2023

Elevator Pitch

Midifile markov generator

A website that creates Markov chain remixed MIDI files from MIDI files. It also outputs the MIDI events via webMIDI during the creation.

Product Description

Midifile markov generator

The Midifilemarkovgenerator creates markov chains of variable order from MIDI files and saves them as MIDI files in the browser. It also outputs the MIDI events via webMIDI during the creation.

There are two versions: https://midifilemarkov.handmadeproductions.de/

This version uses each MIDI event a Markov state, so a higher Markov order (between 2 and 10) could make sense to keep some of the structure. https://midifilemarkovb.handmadeproductions.de/ This versions uses each event in time as a Markov state (for example a chord and a drum sound). Because of that, a lower Markov order (between 1 and 3) is necessary to get some variation.
Here is the code for the web version:

MidifileMarkovB And here is the code for the Pure Data only version:

How It's Innovative

The approach of using Markov chains for creating musical structures is not really new nor innovative. Its more the result of an ongoing process and an attempt of creating algorithmic musical structures:

Maybe the web implementation and the combination of different technologies, frameworks and programming languages is innovative. The interface is made with Open Frameworks, while the Markov generator is made with Pure Data. It is compiled with Emscripten for the browser. I put a lot of work in the optimization of Open Frameworks for compiling it with Emscripten. I like that it is possible to use Pure Data with webMIDI in the browser and that it is all based on open source software. 

See MIDI Innovation In Action

Most Inspiring Use Cases

It works quite well for MIDI files that have the right balance between repetition and variation. I think the Markov remix from Jaco Pastorious "Donna Lee" sounds interesting: https://www.youtube.com/watch?v=uee9DSVHtVo

Expansion Plans

I want to experiment further in the field of algorithmic composition and like to explore different ways of using the Markov technology as a tool for composing. The Midifilemarkovgenerator itself could be a little optimized and I will write a documentation, but basicallly the project is finished. The integration of webMIDI into Open Frameworks could be further optimized.


I do not have any commercialization plans.