MIDI and the Lemur

    The JazzMutant Lemur is an incredibly versatile control surface for media applications. It allows you to create an interface match your performance needs, and communicates with your computer through an Ethernet connection (using the Open Sound Control messaging system). Unfortunately, there are relatively few software packages that speak OSC natively, so “bridge” software has been required to interface between OSC and the more common MIDI communication path.
    Recently, JazzMutant updated their editor software to act as that bridge – taking OSC messages from a connected Lemur and converting them into MIDI messages. This opens a number of options for software and synthesizer control, and makes the Lemur a viable control surface in many new situations.

    The editor as center stage

    The key to MIDI integration is the JazzEditor itself. In addition to providing the tools necessary to define Lemur surfaces, it also exposes a virtual MIDI port that can be tied to any software or hardware connected to that computer. On Windows computers, you will need to use a MIDI patching product (such as MIDI Yoke ) to connect this port to your MIDI devices, while the Macintosh version allows direct connection of the virtual port to MIDI software packages. In either case, no further software is required to interact with MIDI-based systems.
    Creating the virtual port requires no action on your part; it is immediately available when the JazzEditor is run. Once this port is active, you can use it as an output to software package, or you can patch it to a physical MIDI output to control hardware synthesizers, DAW’s or show control systems. The virtual port is an output port only – there is no input back to the Lemur. As a result, you cannot use the virtual MIDI port to emulate a feedback-capable controller (such as the Motormix or Mackie Control ).

    MIDI options in the editor

    Creating MIDI output is done using the built-in programming/routing system implemented in the JazzEditor. In most cases, there is very little programming to be done – you simply create a MIDI variable, assign an object to drive its value and select the type of message to be generated. In the example shown, I’ve select the message type to be a MIDI Continuous Controller (CC), using controller number 65, and to have the output of the object Fader_1 control the output value.
    In order to ease the transition to MIDI, JazzMutant has provided an Autoscale function that will automatically change an object’s range from its normal 0.0-1.0 range into a 0-127 integer – the range typical for MIDI messages. You also can set up your own custom range by using creating a scaling function using the programming system built into the editor. Finally, the output channel is selected, as well as the “send” option (which will send the MIDI output through the virtual port).
    Virtually any MIDI message type can be sent by the JazzEditor’s MIDI implementation. The list to the left shows all of the messages available – each of which has a custom edit dialog for describing the parts of the message. Since many of the message options are provided as variables, you can either enter in a static number (as was done with the controller number in the example above), or a variable (such the output of a fader or multiball object). This provides the greatest flexibility when creating a custom user interface for your particular performance setup.

    Tying the MIDI output to your software

    Many software packages, such as Ableton Live, make integrating the Lemur’s MIDI output a simple task: you turn on the MIDI Assignment function, click on a control, then move the MIDI controller (in this case, a Lemur object). In other cases, such as with Pro Tools, you will have to do a little more work.
    For a recent demo, I needed to create a Pro Tools control surface for the Lemur. Reading through the available literature, it was clear that I would have to emulate the J. L. Cooper CS-10 interface in order to control this software package. Using the CS-10 message system required downloading the “unsupported surfaces” package from Digidesign, which also provided the CS-10’s MIDI interface requirements. Using the Lemur’s MIDI message system, it was relatively easy to make a CS-10 emulator, and therefore control the fader, buttons and transport of Pro Tools.


    The flexibility of the Lemur is its greatest asset, but this flexibility is useless without a way to interface with the software or hardware that you want to use. Luckily, the simple but effective MIDI option provided by the JazzEditor can offer an quick and easy way to generate MIDI output that is easily understood by almost any software or hardware on the market.