Probability
Hacking a version of Brian Eno's generative music techniques.
I first learned to code in the 8th grade, learning BASIC on an Atari 8-bit computer at my school, eventually graduating to an Apple IIe at school and a Commodore VIC-20 at home.
But aside from learning HTML in the early ’90s, I never continued my coding skills. I have long wanted to work with REAPER’s JS plugins (or sometimes called JSFX), and now with the advent of AI, I have a pretty good teacher.
Of course, I went a little crazy and had Claude AI create some very complex plugins (and Claude AI didn’t get everything right, leading to a lot of testing and rewriting).
After watching a video of Brian Eno showing a BBC reporter how he creates generative music, I wondered if Claude could help me with a basic MIDI plugin that would create music based on a number of variables. With this plugin, I can set up a series of MIDI note triggers and decide the probability of repetitive patterns and the probability of a note being triggered at all. Add in velocity and duration randomness, and it’s easy to let the plugin trigger MIDI notes that get passed to an instrument plugin.
TL;DR – I had AI create a program that would create music for me, based on my specific instructions.
The first piece I completed is called “Slightly Unsettled,” which you can stream or buy on Bandcamp.
I instructed the plugin to use the Harmonic Minor key of F#. The note trigger probability was set to 1%, allowing for a lot of space. I set the project tempo at 5 BPM, which allowed for a perfect ambient pacing. I then added a drone underneath the generative notes, which slowly morphed into a different drone for the second half of the piece.
All that had to be done was hit Play.
The plugin is called Probabilistic MIDI Note Generator. If you are a REAPER user and would like to see the code, I’ve made it available on GitHub. It’s in Beta now, but once I make some additional changes, it will be released under the GPLv3 license.


