I want to take MIDI input from a device (like a keyboard), change some parameters (f. e. add a pitch bend) and send the resulting MIDI output to a device (like a software synthesizer).
I’d like to have a open-source, cross-platform (Windows, Mac OS, Linux) solution in C/C++ or Java that makes it easy to
- list and select MIDI input/output devices
- send and receive messages to/from these devices
I don’t necessarily need functions that compose the messages (like a pitch bend function that returns 0xE16000
for a semitone up pitch bend on channel 1), I’d be able to do that myself.
Looking for libraries I found RtMidi, PortMidi, and the Java MIDI package but I’m not sure whether they fit my needs and whether there is an easier solution.
Which one would you recommend? Why? Are there other, maybe better possibilities?