|
NRPN.
Oct 4, 2017 1:28:08 GMT
Post by spookyzoo on Oct 4, 2017 1:28:08 GMT
NRPN. Just bought MIDIFIRE but can't find NRPN support.
is this hidden or coming in future?
Cheers
EDIT: CC to NRPN is what I was looking for and Nic has been helpful in showing how this can work with Stream Byter in messages below.
thanks Nic!
|
|
|
NRPN.
Oct 4, 2017 1:51:41 GMT
Post by spookyzoo on Oct 4, 2017 1:51:41 GMT
This app is lovely btw.
Really smooth interface and was really quick to set up a fairly complicated first test with 2 external devices using Yamaha BT midi dongles.
Think this will be super useful in a combo workflow.
Congrats.
|
|
|
NRPN.
Nov 11, 2017 13:47:50 GMT
Post by spookyzoo on Nov 11, 2017 13:47:50 GMT
Hi Nic,
Is it possible with Midifire to reconfigure CC data to ouput NRPN to connected hardware?
Cheers in advance for any tips.
Thanks
|
|
nic
Soapbox Supremo
Troublemaker
Press any key to continue
Posts: 2,011
|
NRPN.
Nov 11, 2017 14:00:37 GMT
Post by nic on Nov 11, 2017 14:00:37 GMT
Hi spookyzoo, Yes, you can with the Stream Byter. If you let me know what CC you want to convert into what NRPN I'll give you the rules and then you should be able to convert any CC to any NRPN after that. Of course a CC range is 0-127 and an NRPN range is 0-16384 so how should this scale? Regards, Nic.
|
|
|
NRPN.
Nov 11, 2017 14:31:00 GMT
Post by spookyzoo on Nov 11, 2017 14:31:00 GMT
Hi Nic. I'm hoping to control the NRPN listed mod-matrix of Novation Peak with a Launch Control XL that only outputs CC. I Guess with the NRPNs needing 2(3?) CC numbers this may not be possible? Could I use note data to send multiple CCs/NRPN maybe? An example parameter would be MSB 1, LSB 2. Would I also be able to set values for Parameters using a range less than 127? Thanks in advance
|
|
nic
Soapbox Supremo
Troublemaker
Press any key to continue
Posts: 2,011
|
Post by nic on Nov 11, 2017 15:06:45 GMT
Hi spookyzoo , Yes, we can map one CC to multiple CCs and thus rewrite to NRPN We could just map the CC value to NRPN MSB value and leave LSB value at 0? Let's say for sake of argument the incoming CC is 48 and we wish to convert to NRPN with number MSB 1 and LSB 2: # convert CC 48 to NRPN 1/2 BX 30 = XX 62 02 +C # NRPN LSB 2 BX 30 = XX 63 01 +C # NRPN MSB 1 BX 30 = XX 06 +C # send CC val as NRPN MSB val BX 30 = XX 26 00 +C # send 0 as NRPN LSB val BX 30 = XX 62 7F +C # cancel NRPN BX 30 = XX 63 7F +C # cancel NRPN BX 30 = XX +B # block CCTo use a different CC, change every (bolded) '30' to the left of the = to your desired CC number (in hex). To use a different NRPN change the (bolded) hex values to right of = in top 2 rules. Regards, Nic.
|
|
|
NRPN.
Nov 11, 2017 15:31:06 GMT
Post by spookyzoo on Nov 11, 2017 15:31:06 GMT
Nic, your support is legendary and appreciated!
Thanks for this. I'll be experimenting over the weekend.
Have a great day!
|
|
|
NRPN.
Nov 11, 2017 23:23:49 GMT
Post by spookyzoo on Nov 11, 2017 23:23:49 GMT
Thanks Nic, this works well, so am going through more examples to get used to Stream Byter.
Is there an issue with Note Rules?
Your simple example of N0 = N1 on the help pages produces an ERR message for me.
I've tried on different versions of MF and different devices with same result.
Apologies if this is user or reported issue.
Cheers
|
|
nic
Soapbox Supremo
Troublemaker
Press any key to continue
Posts: 2,011
|
NRPN.
Nov 12, 2017 8:25:27 GMT
Post by nic on Nov 12, 2017 8:25:27 GMT
Hi spookyzoo , The manual is incorrect (and I lifted that from MidiBridge, so it's been wrong for years!). It should be: N0 = X1It is not valid (nor meaningful) to use 'N' on the RHS of a remap rule! Regards, Nic.
|
|
|
NRPN.
Nov 14, 2017 22:34:02 GMT
Post by spookyzoo on Nov 14, 2017 22:34:02 GMT
Cheers Nic.
|
|
|
NRPN.
Jan 25, 2018 21:35:04 GMT
Post by spookyzoo on Jan 25, 2018 21:35:04 GMT
Hi Nic,
In the code you wrote for original Stream Byter to convert CC to NRPN above, can I ask why the max values are sent to NRPN, and why these need to be cancelled?
Cheers.
I’ll paste that code again here...
# convert CC 48 to NRPN 1/2 BX 30 = XX 62 02 +C # NRPN LSB 2 BX 30 = XX 63 01 +C # NRPN MSB 1 BX 30 = XX 06 +C # send CC val as NRPN MSB val BX 30 = XX 26 00 +C # send 0 as NRPN LSB val BX 30 = XX 62 7F +C # cancel NRPN BX 30 = XX 63 7F +C # cancel NRPN BX 30 = XX +B # block CC
|
|
nic
Soapbox Supremo
Troublemaker
Press any key to continue
Posts: 2,011
|
NRPN.
Jan 26, 2018 10:05:52 GMT
Post by nic on Jan 26, 2018 10:05:52 GMT
Hi spookyzoo , As per the MIDI spec. the NRPN is made up of three distinct stages: 1. select the NRPN number to be configured using controllers 98 and 99 - line 1-2 of rule above 2. set the value of the currently selected NRPN (value has LSB and MSB) using controllers 6 and 38 - line 3-4 of rules above 3. cancel the NRPN selection by selecting NRPN 127/127 (using controllers 98 and 99) - line 5-6 of rules above Regards, Nic.
|
|
|
NRPN.
Jan 26, 2018 12:44:00 GMT
Post by spookyzoo on Jan 26, 2018 12:44:00 GMT
Cheers Nic. Appreciated!
|
|
|
NRPN.
Jul 9, 2018 5:08:33 GMT
Post by smilinggoat on Jul 9, 2018 5:08:33 GMT
Hi Nic, I picked up MIDIFire for iOS this last week and I'm loving it so far. I left a 5 star review on the AppStore =)
I came across this thread and it's solving my problems of using TouchOSC to control certain NRPN values on my AnalogFour!
Your example code above is great except I have two questions: The last line doesn't seem to be blocking my CC after it sends the LSB/MSB message
BX 30 = XX +B # block CC The original CC is still received by my equipment in addition to the NRPN message. Is there a more accurate way to do that for a particular CC?
Also, how can I limit this to just one MIDI channel?
Thanks!
|
|
nic
Soapbox Supremo
Troublemaker
Press any key to continue
Posts: 2,011
|
NRPN.
Jul 9, 2018 6:16:48 GMT
Post by nic on Jul 9, 2018 6:16:48 GMT
Hi smilinggoat , BX 30 = XX +B # block CConly blocks CC 48 - are you using CC48 or a different one? Or maybe something else on your device is passing the original CC to the equipment? To limit to just the one MIDI channel, change all those BX at the beginning of each line to: B0 for MIDI channel 1 B1 for channel 2 .. BF for channel 16 (ie. hex numbers from 0-F == channels 1-16) Regards, Nic.
|
|