I wrote an article back in the day lauding a suite of useful open-source MIDI tools by thepiz.org.
The bad news is that the site has been out of action for a while now. The good news is, I snagged the plugins back when the site was live, and hosted them on my own website. Now the only way to get your hands on these gems is to go through third party sites like mine.
Here is the list of plugins in the set:
- midi16CCRouter – Changes up to 16 CCs to 16 other CCs.
- midi2qwerty16 – Use MIDI to trigger fake keystrokes to the focused window.
- diAlias – Note values are reflected between a “Nyquist Note” and a “Zero Note,” similar to the effect of audio sample
- midiAudioToCC – Converts audio amplitude to CC messages.
- midiBlackKeyFilter – Separately adjust velocity of black and white keys, and/or send them on different channels.
- midiCCModulator – Use one CC to modulate another CC (or note velocity) in various ways: add/subtract/multiply/etc, plus
logic gates (AND, NAND, XNOR, etc).
- midiCCReset – Remembers CC values and sends them out again at selected times.
- midiCCStepper – Quantize CC events by value or in time.
- midiCCToggle – For changing momentary CC buttons into toggles.
- midiChannelFilter – Simple single-channel filter.
- midiChannelize – Transforms everything to the selected channel.
- midiChordSplit – For splitting polyphonic material to multiple midi channels based on selected note ranges for each voice.
- midiChs_noGUI – Channel filter/changer like energyXT1 “MIDI chs” component.
- midiConverter3 – Change and convert between CC, Channel Pressure, Poly Aftertouch, Program Change, Pitch Bend, NRPN/RPN, Note On/Off, and other messages in various ways.
- midiDelay – Delay notes and/or CCs with feedback.
- midiDuplicateBlocker – Remembers all MIDI message values it gets on each channel, and blocks any repeated values until a
different value is received
- midiExactDelay – Simple delay (no dry signal, no feedback) with flexible and precise delay time.
- midiFingered – Selectively sends standard portamento on/off CC messages to emulate “fingered portamento” for synths
that don’t have it.
- midiForceToKey – Enforces a scale, and transposes within the scale (optionally based on MIDI notes on a selected channel).
- midiForceToRange – Transposes notes by octave into the selected range.
- midiInvertNotes – “Mirrors” notes centered around the selected note.
- midiKeySplit – Simple keyboard splitter.
- midiKeySplit4 – Four-zone keyboard splitter.
- midiNotchFilter – Isolate, remove, or channelize specific MIDI messages.
- midiNoteGroups – Assign play and/or choke groups to MIDI notes.
- midiNotesToCC – Converts note number and velocity to CC messages.
- midiNoteToggle – Notes (optionally within a selected range and/or channel) are toggled. Play a note once to turn it on, play
it again to turn it off.
- midiNRPNConverter – Converts between NRPN/RPN and CC messages, with 16 conversion slots.
- midiOverlappingNoteKiller – Prevents overlapping notes at the same pitch.
- midiPitchBendQuantize – Quantizes pitch bend messages to up to 25 values.
- midiPitchBendToNotes – Changes pitch bend plus note messages into notes at the “bent” pitch (may be useful for using
Suzuki QChord with non-multitimbral instruments).
- midiPolyphony – For spreading polyphony across MIDI channels. Polyphony per channel can be set from 1 to 16 notes for
more flexibility. You can also use it to convert polyphonic input to monophonic output.
- midiProbability – Add probability-based effects to incoming MIDI events, optionally synced to host timeline.
- midiProgramChange – Send Program Change and/or Bank Select messages.
- midiScaleChanger – Transposes notes by individual scale degrees and/or globally, to change one scale into another. Among
other things, this allows you to play any scale using only the white keys.
- midiSimpleLFO – One CC LFO with some “simple” options.
midiSostenuto – Like a piano sostenuto pedal, but for MIDI notes instead of piano dampers.
- midiStrum – Sequentially delays notes of an input chord to simulate strumming.
- midiStuckNoteKiller – Sends note-off messages to end hanging notes when the host stops (for hosts that don’t do this
- midiSwing – Delays and/or offsets velocity of and applies probability to notes (and optionally also CCs) at every other step
of a selected note value.
- midiTranspose – Transposes notes on a selected channel, with selectable range up to ±72 semitones.
midiTriggerList – Use one note or CC to trigger up to 8 other notes and/or CCs.
- midiVelocityScale – Scale/reverse/offset velocity of input notes (Note On and/or Note Off).
I hope the people behind thepiz.org get their site back up and running, but in the meantime, their excellent plugins have found a safe home here.
You can download the dlls, the documentation, and custom scale presets for free here: