User Tools

Site Tools


lemur:basic_concepts

MIDI and OSC

MIDI

MIDI is a protocol invented in the early 1980s for connecting music gear. It’s not the best, or the fastest, but it is the standard. MIDI is supported by just about every piece of music hardware and software manufactured in the past 30 years, and that now includes iPads and iPhones. Starting with iOS 5, Apple has made the CoreMIDI library available, which enables MIDI transmission over network (i.e. Network MIDI) and hardware adapters (various options described later in this article). MIDI support is now a more or less standard feature in professional iOS music apps.

OSC

OSC is a protocol invented in the late 1990s that offers many improvements:

  • Higher bandwidth (more information flowing faster)
  • Transmission over ethernet. Ed.: technically, MIDI can run on any transport, Ethernet included, but OSC is built from the ground up as a networking protocol.)
  • High-resolution data types (rather than 7/14 bit supported by MIDI)
  • Open-ended URL-type addressing scheme (rather than port/channel MIDI system)

While OSC is very powerful, MIDI remains the most widely-supported standard. Some apps support MIDI, some apps support OSC and some apps, such as Lemur, support both.

Wi-Fi and Cables

Connections between Lemur and other physical devices (laptop, synthesizer) can be made either over a Wi-Fi network or with a cable. Wi-Fi connections, while usually stable, can occasionally suffer from interference, drop-outs, or jitter. This is more likely to happen when you play in a new venue where you have little control over the networks present in the room. This is obviously an important risk to take into account when planning a public, live performance. We highly recommend a cable solution (iOS hardware interface or Android USB tethering) if you're going to do live shows.

  • Wi-Fi connections lets you use MIDI and OSC.
  • Hardware adapters (iOS), such as iRig or iConnect MIDI only let you use MIDI
  • USB tethering (Android) lets you use MIDI and OSC, with the help of a 3rd party driver such as HoRNDIS on OS X or RNDIS on Windows.
Connection Method iOS Android
MIDI over Wi-Fi Yes Yes
MIDI over cable Yes (with hardware adapter) Yes (with USB tethering)
OSC over Wi-Fi Yes Yes
OSC over cable Yes (with USB tethering) Yes (with USB tethering)

Note: USB tethering is only possible on iOS if you jailbreak your device. We do not recommend this.

Daemon and Editor

Both the Lemur Daemon and Editor are available as part of the Lemur Installer Download here.

The Lemur Daemon is a MIDI utility that lives in the menubar (OS X) or the system tray (Windows) on your computer. It's very powerful as it allows up to 8 independent MIDI ports. (Each MIDI port has 16 MIDI channels, and of course on each MIDI channel you can have a full range of MIDI notes and 128 different CCs!) It is necessary to have the Lemur Daemon running to use MIDI over Wi-Fi (iOS and Android) or to use MIDI over USB (Android only). You do not need the Lemur Daemon to be running if you're only using OSC messages.

A typical configuration is simply to setup MIDI Target 0 to Daemon Input/Output 0. You can do this in the Lemur app's settings page, or in the Daemon's GUI. In either case, settings are saved and restored next time you launch the app or Daemon.

The Lemur Editor is a desktop application to create and edit Lemur templates. You do not need to have it running if you have already have your template saved in the Lemur app.

Loading and Editing

There are two ways to edit Lemur templates. You can either use the built-in In App Editor (iOS only), or use the desktop Lemur Editor application (OS X and Windows).

There are three ways to send templates to the Lemur app:

  • Lemur Editor (requires a Wi-Fi connection to transfer templates to the Lemur app)
  • iTunes File Sharing feature after connecting the iPad with a USB sync cable (Lemur iOS only)
  • Browsing the User Libary from your tablet

Project Resolution

Lemur can work at any size, but resolution is set per-project. If the resolution is too big, you'll see scroll bars in the app. If the resolution is too small, you'll see unused black space. Use Lemur Editor to set the resolution of your project or to resize an existing project. You can see the resolution of your particular device in the Lemur app settings screen. Use the values displayed there in the Lemur Editor.

In some cases, the resolution of the device might be wrongly reported from Android OS to Lemur. You can always use whatever resolution you like in Lemur Editor and send that template to Lemur, effectively forcing whatever resolution you like.

The Lemur Editor offers a stretch function. When you change the resolution, you'll be asked if you want to automatically stretch the project. This function has some limitations: some objects have minimum sizes, they can't be resized smaller than that, and some projects use scripting to move and resize objects. The stretch function can not analyze scripts.

lemur/basic_concepts.txt · Last modified: 2015/02/10 18:51 by nicolas