Pure Data – Endless King Crimson Riff Generator

A few days ago I started learning the visual programming language known as Pure Data. I’ve never programmed anything before (though I have done a lot of html coding in my day), so starting from square one was a bit of a daunting prospect, but it turned out to be really enthralling. My experience as an audio engineer really helps, since it has given me a solid understanding of signal flow.

This is the first patch I have made that I would consider a satisfactory v1.0. It was incredibly fun to design this system and my mind is really reeling with the possibilities of what else can be done with this software. It really makes me want to learn how to program commercial music apps.

Under the hood.
A small section of what’s under the hood. More in the video.

The patch first generates a one-measure riff (reminiscent, to me, of 80’s-era King Crimson) in a random time signature which plays for 8 repeats. Then it plays another newly generated riff in the same time signature. This process repeats 6 more times, for a total of 8 riffs in a given time signature. At that point, it switches to a new time signature and starts the process again. The result of all the riffs together reminds me a lot of some Philip Glass compositions. Not every riff is outstanding, but there are plenty of more-than-usable musical ideas in there!

In this version the non-drum instruments are just sine waves generated by PD, but I am currently modifying it so that they generate MIDI events that can be sent out to a DAW. My larger vision involves incorporating this patch’s functionality into a much larger music generation program. More to come later…