Virtual MIDI

What is BMIDI?

BMIDI is a cross platform SDK for developers or manufacturers who want to add virtual MIDI ports to their application or driver.


Essentially, BMIDI provides a simple C 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 C API to add or remove ports, to query ports, and to send/receive data to/from ports. The same API is used for Windows, OS X, and iOS.

Please inquire for licensing options.


  • send and receive MIDI data to/from other MIDI applications
  • MIDI messages can be arbitrary length
  • ports can have arbitrary names
  • create unlimited number of ports
  • high performance
  • rock stable
  • cross platform driver and simple C API
  • 32-bit and 64-bit compatible
  • in use by more than an estimated 50’000 end users
  • transparent to users


  • Compatible with Windows XP, Vista, 7, 8, 10
  • silent installer on Vista and later (no “hardware wizard”)
  • WDM kernel driver
  • exposes both MME and DirectMusic ports


  • Compatible with OS X 10.5 – 10.12
  • no installation required
  • BMIDI is integrated with a library

White Paper

BMIDI White Paper


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!