New app — MIDI Router

January 23, 2021

I don't know about you, but over the years I have tried out many MIDI utilities. I had settled into using a few different apps for things like linking one virtual MIDI port to another, or taking a look at what bytes are being sent from one place to another. For quite a few years, I was happy enough using a variety of free apps, but when Apple threw out 32-bit libraries, some of those apps broke. After some time, it became clear that the developers had no intention of updating their software. It was then that I decided it was time to make my own.

My goal was to put together basic functionalities of several utility apps into one app that is easier to use, and does more than all the others combined. I also wanted an app that would sit in the Apple system menubar for easy access. The result is MIDI Router. As the name might suggest, the app lets you route MIDI connections between real and virtual MIDI ports. From input to output, you can transform the data in a number of basic ways, like changing channels, modifying note numbers and velocities, filtering unwanted messages, etc.

You can also take a look at the data being sent between any connected ports – very helpful in troubleshooting situations.

So far so good. But why stop there? If I were writing an app only for myself, I could simply add more internal functions to do fancy things whenever I like. A better idea is to allow anyone using the app to write their own functions. That means implementing a script engine, which is no small task, but the payoff is big. With a script engine, you get access to a full blown programming language, with specialised functions for MIDI. You can alter incoming messages and sysex blocks, and create new messages and blocks to send to output. The documentation explains how this works, and there are examples with commented code to get you started.

Once I started writing example scripts, I realised how much potential this has. You can not only write any kind of MIDI message transformation you want, but you can make complex MIDI processing tools. You can create auto-accompaniments. Or, have the computer help you with ear training by playing "match this note or chord" games like the example script shown above. In a matter of minutes, I wrote a basic MIDI sequencer. That was pretty mind-blowing. There is of course room for development here, like being able to work with MIDI files. I'll add that in a future update. For a first release, the app can already do quite a lot. Try it out and see what you can do with it.

Download the free demo from the MIDI Router software page, and tell me what you think of this first release. I enjoy hearing from you and your feedback helps improve the software, which benefits everyone.

Stay well,
Aaron

[ Showing 1 entry | Previous entry | Next entry | Show all entries ]