What is the BMIDI SDK?

BMIDI is a cross platform SDK for developers or manufacturers who want to add virtual MIDI ports to their application or driver.
It is used by many companies — from very small to very large — for quick and easy virtual port support in their software.


Essentially, BMIDI provides a simple library which allows applications to expose one or more MIDI ports to other MIDI applications. Those other applications use the BMIDI ports as if they were external hardware MIDI ports.

BMIDI is not a loopback driver, because one endpoint is always private, i.e. in your application. This architecture ensures best performance. A BMIDI application uses the BMIDI API to add or remove ports, to query ports, and to send/receive data to/from ports. The same BMIDI API is used on Windows, macOS, iOS/iPadOS, and Linux/RaspberryPi.

Please inquire for licensing options.


  • Send and receive MIDI data to/from other MIDI applications
  • MIDI messages can be arbitrary length
  • Virtual MIDI ports can have arbitrary names
  • Create unlimited number of virtual MIDI ports
  • High performance
  • Rock stable
  • Cross platform driver and simple API: Windows, MacOS, iOS, iPadOS, Linux, Raspberry Pi OS
  • Compatible with 32-bit, 64-bit, ARM/M1/M2
  • In use by hundreds of thousands of end users
  • API:
    • C and C++
    • C# wrapper, e.g. for Unity, Mono, .NET
    • RtMidi bindings
    • …other wrappers can be developed on request
  • Source code integration support


  • Compatible with Windows XP, Vista, 7, 8, 10, 11
  • WDM kernel driver compatible with Windows UEFI Secure Boot
  • silent installer: no “hardware wizard” [except Windows XP]
  • exposes both MME and DirectMusic ports


  • Compatible with all current macOS versions since version 10.7
  • no installation required
  • BMIDI is integrated with a library
  • Native support for Arm64/M1/M2/Apple Silicon


  • Compatible with all current iOS versions since version 10
  • BMIDI is integrated with a library


  • Compatible with many current desktop Linux systems like Ubuntu
  • Raspberry Pi OS support


White Paper

Stand-Alone Installer

For trouble-shooting, you can download the stand-alone installer here:
BMIDI Installer
MD5: f9b4f6f3894dceddb54398a055948bc8


The typical licensing model for BMIDI is a one-time fee.
Please inquire for licensing options.

Additional Services

We also provide additional services according to your needs:

  • GUI implementations
  • add features to engine or library
  • implement drivers for your custom hardware
  • …anything else!