Sure, and thank you for the interest! I hope this is less technobabble with just enough detail.
In the simplest terms, it is a realtime editor for MIDI messages. It's graphical, so you can setup a conversion rule on each of its tabs. I connect it between whatever MIDI game or software would send MIDI to my sound modules normally, and the sound modules themselves. Then, whatever qmidiroute is setup to convert, it does.
Basically, I wanted a workaround for all the slight oddities that MIDI devices have, and I thought a program that anyone can download would be more accessible than perfecting my "transMIDIfier" microcontroller edit device for public use. Programming this was also less difficult than trying to build a full display and input into my transMIDIfier to support all the options I wanted to have. Of course, since my operating system of choice (GNU/Linux ) runs on the raspberry pi, it still may be used as an external device between the computer with the game or music, and any MIDI module(s). For that, the raspberry pi would also need a USB to MIDI adapter.
In particular, I wanted it to fix various issues I've noticed through the years:
1. SysEx delays for the MT-32 (old) (whatever time, in milliseconds, you choose). I've found, through experimentation, 140ms to be enough in most cases.
2. Setting "Note Off" velocities to zero to correct the CM32L and CM-64's unnofficial overflow assign mode (using these modules chained together through their output ports to avoid dropped partials).
3. Converting Program Change numbers to any other, along with any chosen Variation. I've created examples of this, using it to emulate capital tone fallback for the SC-33, and SC-55mkII, and to use fancier instruments on the INTEGRA-7 instead of its GS or GM2 banks which would be default. Similarly, files I've created for the SC-8850 spice up the variety a bit with layered electric pianos replacing any piano, and Wide French horns replacing any french horns.
4. Drum set messages are recognized in order to convert from and to any MIDI standard (GS, XG, GM2). I used this, along with Program Change conversion (for GS/XG common Sound Effects differences) to create converters from and to GS and XG. So with that, you can play XG or GM2 music on your SC-55/SC-88/SC-88pro, or GS music on your MU50/MU80.
5. System Exclusive messages (SysEx) can be removed or changed. Edits can even be done to bytes at a certain address without changing the rest of a message. This is also used in the GS/XG converters, along with converters for certain volume edits for the MT-32 family (to avoid the MT-32 (new), CM-32L, & CM-64's digital volume overflow issue).
6. Converting any type of MIDI message to most others. One example is that any MIDI keyboard note, could be converted to send a SysEx message, so you could play some keys on your MIDI keyboard to send different SysEx messages. Similarly, controllers (CCs) can be converted to send SysEx output too. The reverse works too: SysEx (say a GS Reset message) can be converted to send reverb controller messages, etc.
There's a lot more conversion examples I could list, but this is probably as good an overview as any. I would like it to be as adaptable in conversion capabilities as possible, and think it's really getting there.