I’ve just put up a small library of Logic Pro MIDI Scripter scripts. I created these because I couldn’t find this functionality elsewhere. Hopefully you find these useful.
All scripts are on GitLab.
BBC Envelope recreates the retro 8-bit envelope sound control approach used by the BBC Micro and many others back in the ‘80s. This script works by breaking down each input note into a sequence of sub-notes in a similar way to an arpeggiator. Both volume and pitch are controlled. Volume control supports simple ADSR. Pitch control supports up to 8 groups of sequenced pitch changes.
This script can transpose midi notes from one key to another and also transpose to a different modes. Transposing mode is more complex than simply changing key. Changing key is simply adding a fixed offset to each note in the input. Changing mode requires matching each note to its position in the input scale and then selecting the equivalent note in the output scale. Non diatonic notes from the input scale require special handling. Because they have no well defined position in the input scale we simply map them to a place on the destination scale between valid notes.
This script causes a smooth linear interpolation between two tempos on a MIDI track. It can cause a controlled speed up or slowdown that if done carefully will start and end synced to the beat. So, for example, you can create an arpeggio that starts in 1⁄8 timing and finishes in 1⁄16 timing with both ends synchronized to the beat.
This one is pretty simple; it just offsets MIDI notes by a random period in millseconds between min and max parameters.