MidiSerial is a simple utility for connecting MIDI devices to a computer over a serial port. It can be used to interface with Arduinos and other devices with a serial interface that have been programmed to communicate by MIDI.
MidiSerial is free (as in love, beer and spirit!) software published under the Gnu GPL.

Supported platforms:

  • Mac OS X
  • Linux (untested)
  • Windows (untested)


  • Can connect to any existing MIDI hardware or software device
  • Can create a new virtual MIDI device for other applications to use (Mac / Linux only)
  • Supports any serial speed including 31250 (depending on platform)
  • Supports all MIDI messages including SysEx (partially tested)
  • Optionally logs incoming and outgoing messages
  • Efficient: minimum latency; tiny CPU and memory usage


MidiSerial v1
-p FILE set serial port
-s NUM set serial speed (default: 31250)
-v verbose, prints messages sent/received
-i NUM set MIDI input device
-o NUM set MIDI output device
-c NAME create MIDI input/output device
-l list MIDI input/output devices and exit
-h or --help print this usage information and exit

Similar projects:

Source code is available from our repository on GitHub. You can check out a git clone with e.g. git clone git://github.com/pingdynasty/MidiSerial
You may also download a Mac OS X 10.6 Universal binary from here: MidiSerial.