Page 3 of 4

Re: Nrpn messages?

Posted: 26 Feb 2012 03:42
by Macciza
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

Re: Nrpn messages?

Posted: 05 Apr 2012 01:47
by digitaleyes76
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

Re: Nrpn messages?

Posted: 05 Apr 2012 12:07
by analog604
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

Re: Nrpn messages?

Posted: 06 Apr 2012 02:55
by digitaleyes76
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

Re: Nrpn messages?

Posted: 06 Apr 2012 13:21
by analog604
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

Re: Nrpn messages?

Posted: 07 Apr 2012 10:26
by secretkillerofnames
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

Re: Nrpn messages?

Posted: 07 Apr 2012 11:33
by secretkillerofnames
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

Re: Nrpn messages?

Posted: 07 Apr 2012 14:18
by analog604
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

Re: Nrpn messages?

Posted: 07 Apr 2012 14:48
by Macciza
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

Re: Nrpn messages?

Posted: 08 Apr 2012 05:31
by secretkillerofnames
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