UMK4x4 is a multi-port USB MIDI interface made with the STM32DUINO platform.
Download the last firmware here : https://github.com/TheKikGen/USBMidiKliK4x4/releases
Check also the wiki here : https://github.com/TheKikGen/USBMidiKliK4x4/wiki
The story of this project starts with a hack of the MIDIPLUS/MIDITECH 4x4 USB to MIDI interface. Needing more midi jacks, I bought a second Miditech interface, but I discovered it was not possible to use 2 Miditech / Midiplus MIDI USB 4X4 on the same computer to get 8x8, and according to the Miditech support, as that usb midi interface was not updateable at all ! I was stucked....That was motivating me enough to write a totally new and better firmware : the UsbMidiKlik4x4 project was born.
The current version V2.5 supports full USB midi until 16xIN , 16XOUT plus routing features, enabling configurables standalone mode, merge mode, thru mode, split mode, midi transformation, midi clock, etc., huge sysex flow, configuration menu from serial USB, and is very fast and stable thanks to the STM32F103. More of that, you can aggregate until 5 3x3 boards seen as one by activating the "Bus mode".
USBMidiKliK4x4 features :
- STM32F103C8 / STM32F103CB / STM32F103RB / STM32F103RC uC support
- Bluepill and Miditech 4x4 board support
- 16 MIDI USB IN/OUT
- 15-16 MIDI JACK IN / JACKS OUT *1
- 8 Virtual internal IN/OUT
- 4 midi clock and Midi Time Code generators
- Full remote configuration by SYSEX
- Configuration user interface from a serial USB terminal
- Support of large sysex flow
- Complex routing engine allowing to route any IN to any OUT
- Transformation pipes allowing dynamic modification of midi messages
- Customisable USB device ProductStringName, Vendor and Product Ids
- STANDALONE mode (no USB host needed)
- INTELLITHRU mode allowing specific routing rules when USB is idle
- Stackable interfaces in bus mode to get 6x6 to 15x15 physical midi ports
The "pipeline" feature allows you to modify an incoming midi message through a chain of transformation functions (a "pipe"), e.g., transpose notes, split, map channel to another, map CC to another, etc...New pipes can be easily added in order to obtain complex midi transformations without degrading performances.