Skip to content
Realtime MIDI IO for Ruby
Ruby
Find file
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
bin
examples
lib
test
.gitignore
LICENSE
README.rdoc
Rakefile
TODO
unimidi-gemspec.rb

README.rdoc

UniMIDI

Summary

Platform independent realtime MIDI input and output for Ruby.

Also see micromidi which builds a full MIDI messaging DSL on top of unimidi

Features

  • 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

Requirements

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

Platform

Install

gem install unimidi

Usage

Blog Posts

In addition, some examples are included with the library

Tests

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

rake test

See below for additional notes on testing with JRuby

Documentation

Platform Specific Notes

JRuby

  • 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.

Linux

  • libasound and libasound-dev packages are required

Author

Ari Russo <ari.russo at gmail.com>

License

Apache 2.0, See the file LICENSE

Copyright © 2010-2011 Ari Russo

Something went wrong with that request. Please try again.