Nrpn messages?

Discuss Lemur and share techniques.
Macciza
Regular
Posts:1325
Joined:07 Dec 2011 04:57
Location:Sydney, Australia.
Re: Nrpn messages?

Post by Macciza » 26 Feb 2012 03:42

Hi
Yep - they're called 'TriggerModes' Section 7.4 in the manual . .

The 'Up' trigger you refer to triggers when the parameter rises from 0 to a positive value.
They are both quite powerful and at times somewhat tricky at times in Custom MIDI useage

Also using value=1, assigns value to equal 1 at all times but the switchname.x*1 is 0 or1 depending on value - and the *1 is not needed either . . .
If you want to do comparison you need to do value ==1 - this returns 0 or 1 . . . .

Cheers
MM
iMac 2.8G i7 12G 10.6.8/10.7.2, Legacy Dexter/Lemur, Liine Lemur/iPad2, KMI SoftStep, 12Step & QuNeo , B-Controls, Mackie C4 etc
MaxMSP, Live Suite, Native Instrument stuff, etc Modified Virtual Guitar System etc All Projects/Modules © CC-BY-NC-SA[*][/b]

digitaleyes76
Newbie
Posts:9
Joined:29 Mar 2012 02:51

Re: Nrpn messages?

Post by digitaleyes76 » 05 Apr 2012 01:47

OK, so I am trying to create a very similar control, except it's for Novation's Ultra synth.

According to their midi chart:
Start of NRPN MSB=0
...
...
LFO1 Rate = 0:76

Recording the midi messages from the UltraSynth from 1 and up I see this (using Line 6 midi mobilizer):
b0 62 4c b0 06 01 (LFO1=1)
b0 62 4c b0 06 02 (LFO1=2)
b0 62 4c b0 06 03 (LFO1=3)
b0 62 4c b0 06 04 (LFO1=4)

Is this Line 6 software not collecting all the data?

If so can someone help me decipher these messages and apply it to this code from DC_Sux post earlier:

decl target=0; // MIDI Target
decl nrpn_msb = 99, nrpn_lsb = 98; // NRPN MSB - LSB
decl data_msb = 6, data_lsb = 38; // DATA MSB - LSB
decl nrpn_param = 39;
decl null=0, value; //VARS
decl chan = 1; // MIDI Chan

value= LFO1Amt.x*127; // value * range

ctlout(target,nrpn_msb,null,chan);
ctlout(target,nrpn_lsb,nrpn_param,chan);
ctlout(target,data_msb,null,chan);
ctlout(target,data_lsb,value,chan);

TIA
Mike

analog604
Regular
Posts:262
Joined:29 Dec 2011 15:40
Location:north east, usa

Re: Nrpn messages?

Post by analog604 » 05 Apr 2012 12:07

Hello Mike, Welcome to the forum!
This NRPN test set and library may be of some use for you:
http://liine.net/en/community/user-library/view/192/

It will allow you to look at/decode values coming from the MIDI controller and also provides functions to send them.
After setting the device+channel it's as simple as:
mio.ntx(PARAM,VALUE)

More docs included in the help of the template. :)

-J
digitaleyes76 wrote:OK, so I am trying to create a very similar control, except it's for Novation's Ultra synth.

According to their midi chart:
Start of NRPN MSB=0
...
...
LFO1 Rate = 0:76

Recording the midi messages from the UltraSynth from 1 and up I see this (using Line 6 midi mobilizer):
b0 62 4c b0 06 01 (LFO1=1)
b0 62 4c b0 06 02 (LFO1=2)
b0 62 4c b0 06 03 (LFO1=3)
b0 62 4c b0 06 04 (LFO1=4)

Is this Line 6 software not collecting all the data?

If so can someone help me decipher these messages and apply it to this code from DC_Sux post earlier:

decl target=0; // MIDI Target
decl nrpn_msb = 99, nrpn_lsb = 98; // NRPN MSB - LSB
decl data_msb = 6, data_lsb = 38; // DATA MSB - LSB
decl nrpn_param = 39;
decl null=0, value; //VARS
decl chan = 1; // MIDI Chan

value= LFO1Amt.x*127; // value * range

ctlout(target,nrpn_msb,null,chan);
ctlout(target,nrpn_lsb,nrpn_param,chan);
ctlout(target,data_msb,null,chan);
ctlout(target,data_lsb,value,chan);

TIA
Mike
Dashboard gear control templates: User 112 Idx :: LModIt Lite :: SVG image converter for Lemur Canvas

digitaleyes76
Newbie
Posts:9
Joined:29 Mar 2012 02:51

Re: Nrpn messages?

Post by digitaleyes76 » 06 Apr 2012 02:55

J, you are a scripting mad man. I actually tried your NRPN test set out the first time I installed lemur on my ipad. Admittedly I could not make it work at first. I then tried a couple other NRPN library examples on here, still with no luck. Loaded the NRPN test set back up and then I finally figured it out. Well at lest how to send different NRPN's to the UltraSynth. I am completely new to scripting of any sort (which may be a little obvious). So still it would take me months to figure out exactly what you have going on in your test set. This didn't stop my determination however. I found someone on here who posted a template for sending 14bit NRPN's. After a little tweaking I started to make some progress. And a little more tweaking I came up with this which works like a charm:

decl target=1;
decl chan=1;
decl lsb=76;
decl msb=6;
decl lsb_val=98;
decl msb_val=Fader.x*127;
ctlout(target,lsb,lsb_val,chan);
ctlout(target,msb,msb_val,chan);

Thanks for the help, and welcoming.

Mike
analog604 wrote:Hello Mike, Welcome to the forum!
This NRPN test set and library may be of some use for you:
http://liine.net/en/community/user-library/view/192/

It will allow you to look at/decode values coming from the MIDI controller and also provides functions to send them.
After setting the device+channel it's as simple as:
mio.ntx(PARAM,VALUE)

More docs included in the help of the template. :)

-J

analog604
Regular
Posts:262
Joined:29 Dec 2011 15:40
Location:north east, usa

Re: Nrpn messages?

Post by analog604 » 06 Apr 2012 13:21

Hi Mike, Good to hear that you have made progress and got a method working for your setup! :D
I wrote the library to hopefully make the NRPN stuff easier to implement but I get a little carried away with adding fancy Lemur controls!
So in an update I'll add more example of knobs/sliders control mappings to send the midi messages.
Thanks for the feedback. ;)

-J
digitaleyes76 wrote:J, you are a scripting mad man. I actually tried your NRPN test set out the first time I installed lemur on my ipad. Admittedly I could not make it work at first. I then tried a couple other NRPN library examples on here, still with no luck. Loaded the NRPN test set back up and then I finally figured it out. Well at lest how to send different NRPN's to the UltraSynth. I am completely new to scripting of any sort (which may be a little obvious). So still it would take me months to figure out exactly what you have going on in your test set. This didn't stop my determination however. I found someone on here who posted a template for sending 14bit NRPN's. After a little tweaking I started to make some progress. And a little more tweaking I came up with this which works like a charm:

decl target=1;
decl chan=1;
decl lsb=76;
decl msb=6;
decl lsb_val=98;
decl msb_val=Fader.x*127;
ctlout(target,lsb,lsb_val,chan);
ctlout(target,msb,msb_val,chan);

Thanks for the help, and welcoming.

Mike
analog604 wrote:Hello Mike, Welcome to the forum!
This NRPN test set and library may be of some use for you:
http://liine.net/en/community/user-library/view/192/

It will allow you to look at/decode values coming from the MIDI controller and also provides functions to send them.
After setting the device+channel it's as simple as:
mio.ntx(PARAM,VALUE)

More docs included in the help of the template. :)

-J
Dashboard gear control templates: User 112 Idx :: LModIt Lite :: SVG image converter for Lemur Canvas

secretkillerofnames
Newbie
Posts:13
Joined:02 Apr 2012 01:34

Re: Nrpn messages?

Post by secretkillerofnames » 07 Apr 2012 10:26

I'm wondering if I can get some help. I've been reading all the stuff on NRPN and trying a few different approaches and none seem to work. I've used Jay's NRPN testset and while i'm getting notes and randomisation i'm not sure what else I can do with it. I'm pretty sure it's something i'm not comprehending but... here goes.

I'm trying to setup an iPad/Lemur to Venom controller. There is a Mac/Windows editor that shows midi port activity as well as the information from the manual. I'm not sure how they connect. Let me give you an example:
I want to use a fader to change the Oscillator 1 Waveform.
In the Venom Manual it says:
Message: [H] NRPN 017AH
Midi: [Hex] Bn 63 02, 62 7A, 06 vv
Description: OSC1 Wave (numeric order based on current soundbank)
There are 94 waveforms.
When I change them with the editor it shows the following activity:
F0 00 01 05 21 00 02 09 00 1A 00 xx F7
Where xx is a value from 00 --> 5D
I know from my Hex calculations that 5D = 93
So how do I use the fader to change this one part of the message and output it in Hex?

thanks,
Lloyd

secretkillerofnames
Newbie
Posts:13
Joined:02 Apr 2012 01:34

Re: Nrpn messages?

Post by secretkillerofnames » 07 Apr 2012 11:33

Think I may have solved it with a script that does this:
midiout(0,{0xf0, 0x00, 0x01, 0x05, 0x21, 0x00, 0x02, 0x09, 0x00, 0x1a, 0x00, x*127, 0xf7});
attached to a fader with output scale set to 93.

Hoping I can follow this up with the rest of the controls.
Interested to know if there is an alternate way with your NRPN Library that will save me time/brain space though J.

chrs
Lloyd

analog604
Regular
Posts:262
Joined:29 Dec 2011 15:40
Location:north east, usa

Re: Nrpn messages?

Post by analog604 » 07 Apr 2012 14:18

Hi!

Update posted with ntx function change that hopefully should play nicely with the Novation and others (but please let me know!):
http://liine.net/en/community/user-library/view/192/

includes two sample knobs that you can set to parameter addresses

-J
Dashboard gear control templates: User 112 Idx :: LModIt Lite :: SVG image converter for Lemur Canvas

Macciza
Regular
Posts:1325
Joined:07 Dec 2011 04:57
Location:Sydney, Australia.

Re: Nrpn messages?

Post by Macciza » 07 Apr 2012 14:48

Hi
skon - you have a bit of 'cross-communication' happening here . . .
Message: [H] NRPN 017AH
Midi: [Hex] Bn 63 02, 62 7A, 06 vv - bn is CC and channel ie B0 would be CC on channel1
so whole thing is CC99 02, cc98 122 cc06 value to be sent 0-127

The F0 00 01 05 21 00 02 09 00 1A 00 xx F7 is sysex . . .

Check out analogs stuff and post part of a patch for debugging.

Cheers
MM
iMac 2.8G i7 12G 10.6.8/10.7.2, Legacy Dexter/Lemur, Liine Lemur/iPad2, KMI SoftStep, 12Step & QuNeo , B-Controls, Mackie C4 etc
MaxMSP, Live Suite, Native Instrument stuff, etc Modified Virtual Guitar System etc All Projects/Modules © CC-BY-NC-SA[*][/b]

secretkillerofnames
Newbie
Posts:13
Joined:02 Apr 2012 01:34

Re: Nrpn messages?

Post by secretkillerofnames » 08 Apr 2012 05:31

Hi there.

I'm trudging through - mostly having success as I have a model posted for Touch OSC that i'm cribbing from. It uses a lot of sysex values however and while most can just be copied into midiout commands, some don't appear to work.

Can I check something?
I want to select from 5 waveshapes for amplitude modulation.
The manual says the following:
Message [H]: NRPN 0152H
Midi [Hex]: Bn 63 02, 62 52, 06 vv
Description: Modulator Type (0=sine, 1=triangle, 2=saw up, 3=saw dn, 4=square)
The Touch OSC model uses 5 buttons that send the following:
Sine: 0xF0 0x00 0x01 0x05 0x21 0x00 0x02 0x09 0x00 0x7D 0x00 0x00 0xF7
Triangle: 0xF0 0x00 0x01 0x05 0x21 0x00 0x02 0x09 0x00 0x7D 0x00 0x01 0xF7
Saw Up: 0xF0 0x00 0x01 0x05 0x21 0x00 0x02 0x09 0x00 0x7D 0x00 0x02 0xF7
Saw Down: 0xF0 0x00 0x01 0x05 0x21 0x00 0x02 0x09 0x00 0x7D 0x00 0x03 0xF7
Square: 0xF0 0x00 0x01 0x05 0x21 0x00 0x02 0x09 0x00 0x7D 0x00 0x04 0xF7
I want to use a menu rather than separate buttons.
After selecting "on expression", "selection" and "any", the following script does not compile:
midiout(0,{0xF0, 0x00, 0x01, 0x05, 0x21, 0x00, 0x02, 0x09, 0x00, 0x7D, 0x00, selection, 0xF7,});
I've also tried doing this:
midiout(0,{0xB0, 0x63, 0x62, 0x52, 0x06, selection});


It compiles but not sure it is doing anything.

Any assistance is greatly appreciated.
chrs
Lloyd

Post Reply