General
14Bit MIDI
Started by vanceg on .
Sign in or create an account to join the conversation.
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.
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
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
For val2 you can also use the modulo operator.
val2 = floor((16383*Fader.x) % 128);
val2 = floor((16383*Fader.x) % 128);
Thank you for this script. I will try it out, for sure!
Yes, Indeed I am the same person who uses and posts frequently on the VG series product forums.Macciza wrote:Hi Vanceg
I'm guessing your the VG Vanceg, otherwise it's just weird . . .
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
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....
Here's another example, a little shorter, cc 9 and 41:
decl scx;
decl scmsb,sclsb;
scx = x * 16384;
sclsb = floor(scx % 128);
scmsb = floor((scx - sclsb)/128);
ctlout(0,9,scmsb,1);
ctlout(0,41,sclsb,1);
decl scx;
decl scmsb,sclsb;
scx = x * 16384;
sclsb = floor(scx % 128);
scmsb = floor((scx - sclsb)/128);
ctlout(0,9,scmsb,1);
ctlout(0,41,sclsb,1);
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.
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.
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.
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.
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 ?
How do you manage to get Live respond to 14 bits CC in MIDI learn mode ?
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
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
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.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 ?
Hi Guys,
Here is an template with a fully working NRPN fader. Including a zoom button with a preset of 50% when enabled, this makes the whole concept of a 14bit fader more coherent.
Cheers,
Marino.
NRPN_Fader_v2.0.jzml
Here is an template with a fully working NRPN fader. Including a zoom button with a preset of 50% when enabled, this makes the whole concept of a 14bit fader more coherent.
Cheers,
Marino.
NRPN_Fader_v2.0.jzml
great, thanks a lot.
how do you make this fader bi-directional?