View Single Post
Old 03-26-2009, 03:55 AM   #6
Human being with feelings
DarkStar's Avatar
Join Date: May 2006
Location: Surrey, UK
Posts: 18,012
Default MIDI Editing II

MIDI Routing Matrix
This FX allows arbitrary routing of MIDI channels.


-- detects redundant CC messages (same CC number, MIDI channel and value) and deletes them
-- Match menu choices:
Ignore MIDI channel, match only on CC number and value
For each channel, match on CC number and value
For the selected channel only, match on CC number and value
-- Match CC# choices:
check all CC message numbers
check the selected CC number only
MIDI Nudge

*** Derived from the Reaper time_adjustment JSFX **
Moves MIDI messages forwards or backwards.

Set either of the top two sliders (960 ticks per beat). Set the third slider, if desired. The net resulting delay is shown on the 4th and 5th sliders.

It should do negative nudges too - by passing a PDC value back to Reaper.


MIDI Transposer and Compressor

You'll recognise the problem: you've got a Kontakt instrument with articulations selected by key switches. So you set your MIDI keyboard up so you can trigger the articulations, probably with keys on the left-hand side of the keyboard. So far, so good.

But you've only got a small keyboard. So if you change it up an octave you can play higher notes, but all the key-switch keys are no longer available.

-- the range of keys for the key switches can be defined
-- the other (playable) keys can be transposed by an octave at a time
-- the octave transpose can be changed from 2 buttons (sending CC value of 127) on the MIDI keyboard
-- the range of keys (above the highest key switch) is displayed, as a reminder
-- many of the controls can be automated / controlled from the keyboard

Also, there is a MIDI velocity "compressor" to alter the velocities of the notes played.
-- it has 4 draggable nodes to set the compression curve.
-- different curves can be saved as Reaper presets

PC Channelizer
On receipt on any Program Change message, the channel of future MIDI notes / CC messages is increased / decreased. PC message, value 0, resets the MIDI channel to 01.


Uploaded with **************

-- the top track is 3 MIDI clips with various notes and Program Changes in them,
-- higher PC number increases the MIDI channel number (cycles round),
-- lower PC number decreases the MIDI channel number (cycles round),
-- the middle clip has a single Program Change - with a value of 0 (to reset the channel),
-- the lower track is the result after the MIDI has gone through the JS FX.

-- it will not handle SYSEX messages,
-- I left the Bank Change messages in to indicate where the Program Changes were.

Download the attachment, remove the .txt extension and put it in (a sub-folder in) your App Data \ Effects folder. Then start Reaper (v.xx upwards) and load it on the track as an Input FX.
DarkStar ... interesting, if true. . . . Inspired by ...

Last edited by DarkStar; 04-10-2015 at 08:25 AM. Reason: Added boreg's MIDI Routing Matrix
DarkStar is offline   Reply With Quote