“How can an instrument be truly expressive if it only supports MIDI?”
This seemed to be a frequently-asked question in our coverage of the upcoming Roger Linn Linnstrument. While OSC certainly has its merits, however, it is possible to get higher-resolution data via MIDI. You’re likely most familiar with MIDI’s standard 0-127 values, or the 7-bit data, as used in simple Control Change messages. A 14-bit message, by contrast, gives you over 16,000 levels of resolution – most for most tasks.
The way the Linnstrument works is to send that higher-resolution data for pitch, via standard pitch bend messages. And if you really needed that resolution for other messages, you can get it.
I’ll let Roger explain directly, since this was such a source of reader confusion:
Is 14-bit support possible? Or even desirable?
Roger: For X/pitch, it’s already there in MIDI Bend messages.
For Z/pressure, it current uses 7-bit Poly Pressure or Channel Pressure messages, which seems to work fine. If someone wants more, it’s easy to send an additional 7 bits of resolution in a CC.
For Y/timbre, 7 bits seems enough to report the vertical position within a 3/4” pad. But again, if someone wants more, it’s easy enough to send an additional 7 bits of resolution in a CC.
Is polyphonic aftertouch supported?
Roger: Yes, either in Note-Per-Channel mode or in Single Channel Poly Pressure mode.
In addition to note-per-channel, what other schemes are supported?
Roger: There are 3 MIDI modes:
1) Note Per Channel, in which each note and its X, Y and Z movements are sent on a separate MIDI channel. This works well with Logic Pro X’s MIDI Mono Mode, in which each voice receives Note On/off, Bend and Channel Pressure (and hopefully in future, a CC for Y-axis) on its own channel.
2) Single Channel / Poly Pressure, in which everything is sent on a single MIDI channel, but continuous X and Y messages are sent only from movements of the most-recent touch.
3) Single Channel / Channel Pressure, in which everything is sent on a single MIDI channel, but continuous X, Y and Z messages are sent only from movements of the most-recent touch.
Thanks. That clears things up. And, of course, it’s possible someone could write custom firmware to, say, support OSC for applications that can make it useful. I can also imagine a monome app – with velocity.