MIDIRouter, the Origins

I’ve developped a tool for MacOS called « MIDIRouter » which does what the name implies: it’s able to route (and transform) MIDI messages over MIDI interfaces.

Before going deeper into its features, let’s try to understand what I’m trying to achieve.

I have a few multi-effects on my studio (an Ensoniq DP/4, a Digitech Studio Quad v2) and actually I don’t use them that much. They’re behind me on a rack which is not really convenient to update settings and listen to the results, especially for reverbs.

So I ended up buying a Faderfox EC4 (http://faderfox.de/ec4.html) wich is a programmable MIDI remote.

Using the EC4, I’m able to associate any VPot to a given MIDI mesage type: send a program change, a control change (pitch bend, aftertouch, Note On, etc.) and customize displayed text to my needs.

This looked quite promizing, but the EC4 has some limitations:

  • When using a ControlChange, displayed value does not necessarily match with the ouput value. Control Changes values can be 7 bits (0 to 127) or 14 bits (0 to 16383) while I can setup displayed value to (0, 127), (0,1000), etc.
  • The Ensoniq DP/4 requires proprietary Sysex messages to change its parameters, this is not supported by the EC4
  • I plan to use the EC4 for other purposes (control DAW plugins is among them), so I want it to be connected to my Mac and forward some messages to my effects chain

So I needed a software that would be able to:

  • Watch an input MIDI device for a certain type of messages (with wildcard support)
  • Extract a value (7bits or 14bits) from those messages (a program value from a Program Change, a control value from a Control Change, etc.
  • Remap the value to the expected output value range (« my EC4 shows a value in the range [0-100], sends a [0-127] value and I want to then to my effect a [0-64] value »)
  • Re-emit a MIDI message to the output interface using eventually another MIDI message type (« transform the EC4 Control Change messages into DP/4 Sysex messages) including the extracted value

This actually does not exist, so I developped MIDIRouter: https://github.com/NothNoth/MIDIRouter

MIDIRouter is free to use for personal use and « quite cheap » for professional use.

In the next article, we’ll be setting up a simple routing:

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *