J's MIDI Tools is a collection of free VST MIDI plug-ins. It includes:
CC Value Limiter: Choose a CC to limit within a certain range.
Multi Channel Key Range / Transpose.
CC Controlled (or not) MIDI Transposer: It acts on any channel, and when on, any CC assigned to increase/decrease transpose will be filtered.
CC Time Blocker: Some buggy MIDI controllers will send more than just a 127 and a 0 value when you don't want, this is to prevent any clandestine CC to get thru, which otherwise would ruin, for example, tempo tapping. When enabled, only one message of the CC you specify (and only the values 127 or 0 get thru) will be allowed within the defined time period.
CC64 Emulator: Just a test tool, instead of sending the CC64 (sustain) out, it will filter it and mimic its effect with note on/offs.
CC Inverter: Inverts a CC's value (i.e. if it's 127, it will become 0), this is aimed at inverted sustain pedals, some older controllers don't have the option to reverse the polarity.
Aftertouch To CC: Remaps aftertouch/channel pressure to the desired CC.
MIDI Random Note Delay: introduces a configurable random delay on every note on message, up to 200ms (which is clearly too much). For example, to provoke slight timing drifts in layered instruments of a brass section.
CC-Controlled Channel Switcher: Define an origin channel, a destination channel, and a CC to change the routing from original->dest. For that CC's value <= 64: originalChannel. For that CC's value > 64: originalChannel->destCh. Note: any MIDI message except note on's from the original channel will always be doubled into the destination channel as well, this is to prevent any surprises.
Velocity-Controlled Channel Switcher: Instead of a CC, any velocity value above the specified trigger will change the note's channel. Except this difference, all the rest from above applies.
VST Metronome: A very simple metronome for practicing purposes, outputs audio or MIDI "ticks" (configurable channel/notes), can be run synchronously or asynchronously with the host's tempo.
Chord Note-Channel-Switcher: J made this for making brass section chords. If you only play one note, the original channel will go thru unchanged. When 2 or 3 notes are played at the same time, the original channel will be routed to the ones defined for low/mid/high notes.
Since in real life you'll never hit the two/three notes in the same exact instant, the algorithm calculates the lower / mid / higher notes each time a note on message is received, so if you have already pressed two keys and press the third one later, the ones that are not according to the new low/mid/high calculation will be "noted-off", the channel change will be made, and new note-ons will be sent again.