I was frustrated by the lack of a good USB MIDI interface, so I buillt this to scratch my own itch! Along the way, I came up with a few cool little ideas. When plugged into a computer, this appears as 4 MIDI devices. Devices 1-3 map directly to the 3 in/out ports of the interface. The 4th port acts as a virtual MIDI thru, so any data sent to it will be output on all 3 of the physical ports.
Additionally, there’s a physical MIDI thru switch. It has 3 postions: off, single, and all. Off disables all MIDI thru capabilites. Single will echo MIDI data out on the same physical port that data is input. All outpus MIDI data on all 3 physical ports. The intent is so you can use it as a standalone MIDI thru even if you don’t have it connected to a computer.
Possibly the most exciting thing about this is that the code is all open source! Discover a bug? Want to add a new feature? Download the code and customize it to your needs! This is a great option as a USB MIDI development platform so hack away! Grab the code on github: https://github.com/catskull/USBMIDIInterface