J’s MIDI tools (freeware)
Free midi plugins. You can always find the latest version of these here (there’s 32-bit and 64-bit versions):
I’ve been messing around with the vst 2.4 sdk, some examples, and opengl and did this stuff, I’m making them for my specific needs, but if it’s of any use for anybody else:
CC value limiter:
Choose a CC to limit within a certain range.
multi channel key range/transpose midi plugin.
pretty self explanatory.
cc controlled (or not) midi transposer plugin
It acts on any channel, and when on, any cc assigned to increase/decrease transpose will be filtered.
CC time blocker plugin:
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 plugin:
Just a test tool, instead of sending the cc64 (sustain) out, it will filter it and mimic its effect with note on’s/off’s.
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 provoque 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:
for that CC’s value > 64:
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.
(no pic available)
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.
I 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.