Preliminary documentation. Your feedback is welcome.

mnet is a 32 / 64 bit Windows & OS X MIDI driver with support for various network protocols. It comes with a small control panel application where you decide which device sends MIDI to which of the driver's ports.

Basic conventions:
  • The driver is loaded by music applications, the control panel only needs to be run for configuration. If you want to make changes, launch it after your MIDI program has started and loaded the driver.
  • All ports and connections are bidirectional (both in- and output)
  • Remote devices that are patched to a MIDI port are stored and the driver will try to reconnect them on subsequent runs.

Control panel overview:

View toggles
Device scanning
Program that loaded
the driver
MIDI ports
made available

to other

Most UI elements have tooltips and will hopefully be self-explaining. Generally connections are made by dragging from source to destination. To unpatch, double-click one end of a patch cord, then click the other.

Networked devices will mostly appear automatically as a result of DNS service lookups and device scans. Find more information in the documentation of the various protocols.

The following connection methods for remote devices are available (click for details and setup instructions):

Server use and setup

Each of the four MIDI ports can have an associated RTP, WebSocket or Bluetooth server active that will be visible to other devices on the network. Clients connecting to such a service will then send to and receive from the MIDI port that the server is bound to.
Servers are configured by clicking the upper button on each of the four ports. The buttons also indicate state and mode.

By default the first two ports run RTP sessions that will be seen by others as "mhb (NAME_IP) RTP 1 & 2".
You can change the server mode with the checkboxes and the name that both RTP and WebSocket servers will announce via the textfield at the top of the editor. All changes only take effect after the OK button has been clicked.

Live Routing & Merged Controllers

Some additional per MIDI port functionality (that you will likely not need) is accessible via the lower button on all of the MIDI ports:

Live Routing when activated will send data that comes from the device(s) patched to this MIDI port not only to mnet's MIDI port, but also to the output selected here. MIDI received on the set input will be merged with what is sent out through the nmet port and will be sent to the connected device(s).

Merged Controller merges data from the set input with data received from connected devices and sends it to the mnet MIDI port. Data that a sequencer sends out through the mnet port will be send to connected devices and to the output port selected here. This is for using TouchDAW in parallel with a hardware controller.

These options are mutually exclusive. You can either have Live Routing or the Merged Controller option active. Not both at a time.


Some global settings are available when you type "Control P (or ,)" resp. "Command ," on OS X:

Multicast Channels:
Sets the number of ipMIDI compatible multicast channels (0 - 4).
RTP Client Flags:
Compatibility settings for connections to access-restricted RTP sessions.
mDNS Loopback:
Show other RTP hosts running on this machine.
WebMIDI Usage (Windows only):
Allow Chrome, Firefox and Opera to load the driver.
Exe Blacklist (Windows only):
mnet for Windows will only work in one program at a time. There are numerous applications that may load MIDI drivers for no apparent reason (or rather for reasons related to how some Windows system frameworks work) and will then block the driver from being used in the MIDI application you may want to use it with. It is unlikely that the internal "this makes no sense" list will ever be able to know about them all. Plus there are of course also programs that may have perfectly good reasons to look for MIDI drivers, but that may still not be the one you intend to use at a given point in time. If you come accross a program that hijacks the driver and you want to prevent it from doing so, you can add the executable's name here. The control panel will show the program that loaded the driver on the right hand side of the upper toolbar. The ".exe" suffix does not need to be given.
Write Log File:
In case of problems enable this and send us the logfile which will be written to USER_HOME/mnet.log
resp. USER_HOME/Documents/mnet.log on OS X
Reset To Defaults:
Will reset everything to defaults when the driver is loaded the next time.

Known issues & quirks

Pro Tools for Windows needs to be run as administrator to use mnet (like you would need to do with all MIDI devices that appear with an "[emulated]" suffix in Pro Tools)

Full Windows updates (including major Windows 10 revisions) clear the driver's registry keys. Fully uninstall and reinstall mnet if no more ports are available after the OS update.

humatic - htools