Anyone know how to send "14-bit" relative MIDI?

mklaurence

2007-01-06 23:58:53

I've been scouring the Internet trying to find any sort of spec for relative MIDI, and the things I've found have been inconclusive (or I just don't understand them.)

I just want to send increment/decrement MIDI messages to some switches in Live using translator. I've tried sending CCs with values less than or greater than 64, which should allegedly work, but they don't. So, I thought I'd send some of these supposed "14-bit" relative MIDI messages... except I can't figure out how to format them. Anyone know how it works? Or if there's another way to send increment/decrement with MT?

florian

2007-01-07 21:25:29

Hi, I'm pretty sure that this will work with MT, but I'm not sure which kind of inc/dec switches you need.

In general, a 7-bit command will always work, even if the 14-bit equivalent is specified, too. Note that the "data increment" controller messages are meant for (N)RPN messages.

Maybe you can be more specific -- i.e. which messages Live expects, and which messages you've tried with MT.

Thanks,
Florian

mklaurence

2007-01-09 02:29:06

I've tried to send 7-bit commands to Live, but it doesn't work like expected. According to the Live manual regarding its toggleable Switches, "controller values 64 and above turn the switch on. Controller values below 64 turn it off." But all I can do is toggle. I'm just sending regular controller messages: B0 10 3F and B0 10 41, for example (decrement & increment). Am I wrong there?

Anyways, I thought I'd try emulating the "relative midi" commands that some hardware controllers apparently send. In an online manual for the Livelab "Tablet 2", I found a description of sorts:

http://livelab.dk/files/Tablet2Midi%20Manual.pdf

"14 bit means each value has 16384 steps. The values are sent using two continuous controller messages. The first one contains the Most Significan Byte (MSB), the second contains the Least Significan Byte (LSB) of the 14 bit value. The second message has a CC number 32 higher than the first one. In this mode you can only define 32 CC's pr. channel. Also note that if you use CC# 0-31 for 14 bit controllers, you cannot use CC#32-63 as they are used to send the second part of the 14 bit messages." This manual described 14-bit as different from (N)RPN.

The manual claims this works for Ableton Live, so I'd like to try emulating it with MT. I thought somebody on this board might understand what kind of controller messages I would have to send. If you do, please let me know!

admin

2007-01-09 14:58:19

mklaurence wrote:I've tried to send 7-bit commands to Live, but it doesn't work like expected. According to the Live manual regarding its toggleable Switches, "controller values 64 and above turn the switch on. Controller values below 64 turn it off." But all I can do is toggle. I'm just sending regular controller messages: B0 10 3F and B0 10 41, for example (decrement & increment). Am I wrong there?
sorry, I misunderstood: there are pre-defined MIDI controllers for (N)RPN messages called "data increment" and "data decrement". You won't need them. Apart from that, yes, the first 32 controllers can be sent with 14 bits, but again: if they don't work in 7 bits, they won't work in 14-bits. Otherwise said, the MIDI standard mandates that all 14-bit controllers also work with 7-bit.

I've tried with Live 6, and found the following:
  • when you define a mapping, Live allows to choose the mapping in the bottom status bar. For absolute switches, use "absolute"
  • also in the bottom bar you can select 14-bit mode, but this would be useless for switch type of controls.
  • note that when the Live manual talks of "MIDI controllers", it means the device/entity that sends the MIDI data. NOT the messages that are transmitted. I think, their terms are ambiguous, and when I read it, I think "MIDI device" when they write "MIDI controller".
  • only if your MIDI device sends relative data (e.g. so called endless knobs) will you need to care about relative controllers.
  • if you have a MIDI device which sends relative MIDI data, turning it slowly when you create/edit the MIDI mapping lets Live pick up the correct mapping mode automatically.
Which MIDI device do you use?

Regards,
Florian