libRtpMidi SDK

Portable implementation of RTP-MIDI and Apple network-MIDI session protocol, compatible to Windows, Linux, macOS, iOS and embedded systems.

The protocols above are used in my rtpMIDI-driver.  I actually implemented those protocols using Delphi. Some time later I reimplemented them in Objective C for use on iOS devices at a time when Apple had no MIDI-support on that platform yet. At the same time I started to also create a portable implementation in C.

Again I had some requirements:

• Operating system independence
• CPU archtitecture agnostic
• Minimize necessary runtime support
• Multi-peer suport

I created the skeleton part of this library some time ago. Due to workload and the birth of my children I never got down to finish this project (as if a project ever is finished 😉

Recently I had been asked to help out with re-implementing the protocol for integration into someones product. Instead of just doing some consulting, I decided to finish up my old project.

The result is this library that does all what the implementation in my rtpMIDI-driver does, and more on top…

Compatibility has been tested to the official Apple-implementation on macOS and iOS, rtpMIDI and an assortment of hardware-devices implementing those protocols as well.

Due to this it will now be only a matter of time until I remove the old Delphi-implementation in my rtpMIDI-driver and replace it by the new libRtpMidi

This library has been implemented for Windows (x86/x64), Linux (x86/x64/armel/armhf/arm64/mips), macOS (x64) and iOS(arm64).

If you have an application or hardware that needs to interact with RTP-MIDI and the Apple network-MIDI session protocol – libRtpMidi is exactly the right tool.  I have prepared a small & simple to use SDK with bindings for C/C++ and Delphi and command-line sample in C.