Platform independent realtime MIDI input and output for Ruby.
Also see micromidi which builds a full MIDI messaging DSL on top of unimidi
Supports Linux, JRuby, OSX, Windows and Cygwin
No compilation required
Both input and output to and from multiple devices concurrently
Agnostically handle different MIDI and SysEx Message types
(OSX Only) Use IAC to internally route MIDI to other programs
Using Ruby 1.9.2 or JRuby 1.6.1 (or newer) is strongly recommended. JRuby should be run in 1.9 mode
One of the following libraries is required based on what platform you're using. It should install automatically with the unimidi gem. In some uncommon cases, they will all install
gem install unimidi
In addition, some examples are included with the library
There are a set of tests which assume that an output is connected to an input. You will be asked to select which input and output as the test is run.
The tests can be run using
See below for additional notes on testing with JRuby
Platform Specific Notes
You must be in 1.9 mode. This is normally accomplished by passing –1.9 to JRuby at the command line. For testing in 1.9 mode, use
jruby --1.9 -S rake test
javax.sound has some documented issues with SysEx messages in some versions OSX Snow Leopard which do affect this library.
libasound and libasound-dev packages are required
Ari Russo <ari.russo at gmail.com>
Apache 2.0, See the file LICENSE
Copyright © 2010-2011 Ari Russo