llloret / osmid

osmid is a tool to bridge MIDI and OSC. It is currently in use in Sonic Pi
Other
72 stars 12 forks source link
juce midi midi-device midi-port osc osc-address osc-messages portable sonic-pi

Build Status

osmid

osmid aims to provide a lightweight, portable, easy to use tool to convert MIDI to OSC and OSC to MIDI.

It is the software handling the communication with MIDI devices in Sonic Pi.

osmid is divided in 2 tools:

Having two separate tools follows Unix ideas of having a number of smaller standalone tools instead of bigger monolithic ones. Since some projects might want to use just one direction for the conversion, it makes sense to keep this separation.

m2o features

o2m features

Building

For build instruction see INSTALL.md.

osmid is built using C++14 features. The build system is based on cmake. Tested target compiler in Windows is MSVC 2015 Win64, in Linux is gcc 4.9 or later, and on Mac, clang 5.1 or later. Under Windows, prepare using something like: cmake -G "Visual Studio 16 2019" -A x64 ... On Linux and Mac cmake .. should be enough.

osmid uses the following libs:

m2o parameters

m2o outgoing OSC message format

The address by default is: /midi//(if the message contains channel information). The address can be templated with the -t argument.

The message body is:

There is also an optional heartbeat message which sends periodic messages with the following format: OSC address pattern: /midi/heartbeat. Message body is OSC array of pairs ,

o2m parameters

o2m incoming OSC message format

LICENSE

See LICENSE.md file for details.