Randomize MIDI timing and velocity
Randomizes the timing and velocity of incoming MIDI events.
I'm very surprised that I couldn't find such a thing on these forums. This humanizes MIDI data by unquantizing the timing of played notes and randomizing the incoming velocities. It works very well for things like mouse-entered piano chords and such-like.
I miss my MIDI Tools from Bars & Pipes on the Amiga very much and 20 years after its last version, still nothing comes close to its non-destructive editing capabilities. I used to use its Humanizer tool all the time. One of the many great things about Bars & Pipes was that because of the nature of how it processed MIDI data, it could move MIDI events back in time as the track was playing. Unfortunately, that's not possible here and so the randomization of the note timings is a forward delay from the actual note time. Also, the Note Off events are randomized independently of the Note On events, so there is a small chance that with a large delay time, a Note Off will happen before its Note On causing a stuck note.
After I got it working, I realised that it only worked on one MIDI channel, so I remade it using parts of the very useful Midiplex macros by Matthew Todman.