Realtime MIDI IO with Ruby for OSX
#5 Compare This branch is 229 commits ahead of aberant:master.
Latest commit ac424c2 May 31, 2015 @arirusso bump version
Failed to load latest commit information.
examples shorter load path May 31, 2015
lib bump version May 31, 2015
test easier to read Jan 3, 2015
Gemfile specific gem versions Jan 3, 2015
LICENSE dates Jan 3, 2015
LICENSE.midiator first Apr 27, 2011
LICENSE.prp reformat licenses Oct 4, 2008 dates Jan 3, 2015
Rakefile easier index Aug 30, 2014


Realtime MIDI IO with Ruby for OSX

Access the Apple Core MIDI framework API with Ruby.

Note that in the interest of allowing people on other platforms to utilize your code, please consider using UniMIDI. UniMIDI is a platform independent wrapper which implements this library and has a similar API.


  • Simplified API
  • Input and output on multiple devices concurrently
  • Generalized handling of different MIDI Message types (including SysEx)
  • Timestamped input events
  • Patch MIDI via software to other programs using IAC



If you're using Bundler, add this line to your application's Gemfile:

gem "ffi-coremidi"


gem install ffi-coremidi




Ari Russo


This library began with some coremidi/ffi binding code for MIDI output by Colin Harris contained in his fork of MIDIator and a blog post.

MIDIator is (c)2008 by Ben Bleything and Topher Cyll and released under the MIT license (see LICENSE.midiator and LICENSE.prp)

Also thank you to Jeremy Voorhis for some useful debugging.


Apache 2.0, See the file LICENSE

Copyright (c) 2011-2015 Ari Russo