Logic Pro’s Scripter plugin is often overlooked and unexplored. But generative music pioneers like Brian Eno have used this powerful tool to make evolving soundscapes and unconventional melodies.
In a nutshell, it allows anyone with coding knowledge to write custom MIDI plugins and test them out in real-time, right there inside Logic Pro. But the best thing is that you don’t really have to be a programmer to use it. You can leap over the code and reach for one of the many presets available directly in Logic.
One of Scripter’s most useful features is how easily it can add some chance and randomness to your workflow. Normally, when working on a percussion part for example, you might start with a repeating four-bar beat and manually tweak the pattern over time to keep things interesting. Using Scripter, you can automate a lot of this, making ever-evolving drum loops with minimal effort.
Load Scripter’s Probability Gate
Start with placing the Scripter plugin on each track. It’s tucked away in the MIDI FX menu that appears on any MIDI channel strip. When you open the plugin, you will see a Script Editor window with some code. As promised, you don’t need to worry about any programming! So go ahead and close the Script Editor, and load Probability Gate from the preset menu.
What Probability Gate does is randomly hold back some MIDI notes. The practical result is that your MIDI pattern is always changing; thinning or thickening the texture. Varying the probability is all it takes to generate an evolving beat that will sound different each time you hit play.
You can grab any four-bar drum beat to try this technique. Make sure each instrument in the beat is an individual track and loop the beat several times.
Automate the probability
The key to this technique is to automate the probability slider.
At 100 per cent, every note will pass through and the beat will sound just as you’ve written it. Anything below this and there’s a probability that some notes will sound and some won’t. We’ll apply probability to each instrument.
In the main window, open the automation view and choose Probability from the list of parameters. To get a sense of what’s actually changing when you vary the probability, leave the first four bars at 100 per cent so that you can hear the original pattern. Change the values in the following bars and have a listen. Some notes won’t be played, subtly shifting the feel of the beat.
Unless you want to create a chaotic beat with no repetitions at all, it’s best to only change the probability for a few instruments at a time, rather than everything all at once.
Record and comp your generative beat
With your beat generator setup and running, the possibilities are endless. It’s not going to sound slick on every playthrough, but sometimes you might catch something magic. An effective way to get more hands-on control is to loop record your beat to create a playlist of different takes. Then you can narrow down the possibilities and comp together the best bits.
You can do this by creating a send from your MIDI tracks and recording the output to a new Audio track. Set the loop region for the length of the beat, then hit record. By default, your session should create a new take in a folder each time the recording loops. If not, you can check the recording settings.
With a few versions recorded, you can go through and comp the sections you like, arranging the original beat with the different versions of the beat you generated using the Scripter plugin. Beats aren’t the only thing you can try this technique on either. It’s another creative way to experiment with a melody or any other MIDI part in your production.
If you know a bit about coding in Javascript, then the possibilities are even wilder. Scripter opens the doors to all kinds of hobby plugin developers and, moving beyond Logic’s built-in preset library, there are lots of open-source scripts you can scoop up online and add to your production toolkit.
So, if you’re feeling creatively stuck, or you just don’t want to do detailed drum editing, then adding a bit of generative chaos with Scripter can be a creative way to break the deadlock and put some surprise into your workflow.