General

14Bit MIDI

Started by vanceg on .

Sign in or create an account to join the conversation.

17 posts

Topic starter
Has anyone worked out a good way to send 14bit MIDI messages from Lemur? I'd really like to be sending and receiving 14bit CC messages (of course, these are a combination of two standard MIDI CC messages...) from Lemur's faders.

Some folks will surely say "use OSC". yes. This is ideal - but there are some devices which do not accept OSC or require a great deal of setup to utilize OSC, but which accept 14bit MIDI quite nicely. Ableton Live is one great example.
Hi Vanceg
I'm guessing your the VG Vanceg, otherwise it's just weird . . .

Anyway here is a basic script which I think should work as a 14bit controller sending on cc's 3 & 35 - not tested properly yet but looking with MIDIMon it seems right . . .

Chuck a Fader on,set value = x*16383 for feedback and add this script to it . . .

// 14bit CC script - MM

decl target=0; // MIDI Target
decl cc1 = 3, cc2 =cc1+32; // MSB - LSB
decl val1, val2; // Vars
decl chan = 1; // MIDI Chan

val1= floor(16383*Fader.x/128);
val2=16383*Fader.x-128*floor(16383*Fader.x/128);

ctlout(target,cc1,val1,chan);
ctlout(target,cc2,val2,chan);

Hope it works, it should at least be close to correct, I hope . . .

Cheers
MM
Hi
Thanks, the modulo certainly makes it read/explain better - maths is not my strong point . . .

Vanceg, thought so, I'm on the VG Forum too - will probably do some VG specific stuff at some point . .
Did the scripting help achieve what you are after?

Cheers
MM
I just started to try to test it. I haven't gotten it to work yet - but I suspect this is due to my very limited understanding of scripting in Lemur. I'm not able to get the script, as it is written, to function at all in Lemur. Depending on how I edit it, I end up with all undefined variables, or I end up with none of the script being accepted by the Script window (all red text). I'm sure it's something I'm doing wrong....
Thanks to all.
I was able to make the script that Cliffman sent work.

I still haven't been able to figure out getting feedback BACK and making that show up properly in Lemur (the MIDI seems to be being fed out from Live...but I haven't gotten to to be received correctly in Lemur. working on that.
On the iPad if you make a slider/fader the full size of the 'smaller' side it's already difficult to set that slider on a given value using 7 bit resolution (0-127) using a 'standard' finger.

So if you really need and want to use 14 bits you will have to, either use 2 controls per function, or make some trick to switch between lo and hi resolution editing on a single control.
This is quite true. In many cases, higher resolution than standard 7bit MIDI isn't needed for this very reason (or the receiving device doesn't accept higher resolution). But I've found that when I'm using a fader to scan through a long sound file, I get much better (smoother, more pleasing) results when I'm using OSC or even 'just' 14bit MIDI.
I think the real answer is to just jump back into using OSC. If only setting up OSC in my favorite hosts was as easy as setting up MIDI.
Hi All
I find 7bit quite attainable - when you consider the iPad screen resolution it should be attainable.
I set up multiple faders with various scalings between 127 and 16383 and experimented to see what happened . . .
127 definitely possible - stays good to 724 only dropping a few numbers and by 16383 its jumping about 25.

But it really all depends on your attraction, friction, settings which can smooth out the transitions
Just got have a bit more of thinker about it to work out whats missing that I'm missing . . .

Cheers
MM
mbncp wrote:In that case it makes sense as indeed the fader physics will smooth the process.

How do you manage to get Live respond to 14 bits CC in MIDI learn mode ?
Live just accepts 14bit MIDI in Learn mode. No special tricks - Just send a 14bit midi CC message to it and you will see, while in MIDI mapping mode, down on the bottom left of the screen, that Live is using 14bit as it reports the Message it is receiving.