Go Back   Cockos Incorporated Forums > REAPER Forums > REAPER for Live Use

Reply
 
Thread Tools Display Modes
Old 11-05-2018, 10:51 PM   #81
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,634
Default

I asked Roli support and got this answer:
Quote:
Originally Posted by ROLI supprot
The Glide dimension of touch allows for smooth legato playing through intelligent Glide tracking and the ability to have different notes occurring on separate MIDI notes. You can find more information on using the Seaboard RISE & GRAND with SWAM Engine here.
They provided these links:
dimension of touch -> https://support.roli.com/support/sol...t-is-5d-touch-
ROLI & SWAM -> You can find more information on using the Seaboard RISE & GRAND with SWAM Engine here.

Seemingly the Seaboard in fact does use a player's intention detecting algorithm called"intelligent Glide tracking". I guess a gesture such as a short glide in the appropriate direction followed by a key hit same pointed to and not too far might be used to detect a non-portamento legato (even tough the link below simply states: "Glide is transmitted as MIDI pitch bend" , which is not "intelligent" at all).
I'll investigate ....

I also asked about how to remote control the Seaboard parameters via Midi, but no answer yet,

-Michael

Last edited by mschnell; 11-05-2018 at 11:04 PM.
mschnell is offline   Reply With Quote
Old 11-06-2018, 09:28 AM   #82
gofer
-blänk-
 
gofer's Avatar
 
Join Date: Jun 2008
Posts: 11,359
Default

I think you're reading far too much into a buzzword there. I can say with confidence that the Blocks don't do anything like you describe and doubt that Rise will. Glide is translated to pitch pretty much directly, except that with Glide sensitivity less than maximum it will correct the pitch when it "thinks" that you stop the Glide movement, it sort of bends it to the nearest straight semitone.
gofer is offline   Reply With Quote
Old 11-06-2018, 02:56 PM   #83
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,634
Default

Hmmm. Obviously, some magic needs to be going on making legato with multiple voices possible, as we do see in several videos.

I also asked in the SWAM (Audio Modeling) forum, as they do support Rise out of the box by providing a default "Seaboard" parameter setting that can be loaded.

They say it works nice, but legato is a lot less easy to do than with a hard keyboard and needs some dedicated playing practice, and doing trills is really challenging. But the problem, they describe is about Expression (Mapped from Channel Pressure). Here of course finding the right pressure with the target key is not easy. I'll ask more about the latency detection.

-Michael

Last edited by mschnell; 11-06-2018 at 03:31 PM.
mschnell is offline   Reply With Quote
Old 11-06-2018, 10:40 PM   #84
gofer
-blänk-
 
gofer's Avatar
 
Join Date: Jun 2008
Posts: 11,359
Default

I am not certain we see multi-voice legato lines in the saxophone video. Without having listened again, I remember that multiple voices always come in chords and legato as a single line. They might use some time based processing, where notes that come in simultaneously (enough) are distributed to channels per note and when there is more time between notes they all go to the same channel. It is for sure not available in the box with Blocks, and very likely not with Rise, too. If that is what's happening, then by some additional in-line processing.

Re the pressure problem: Out of the box pressure will always ramp up from zero as you hit a new note. I don't find it that problematic with SWAM, but with some Kontakt instruments expression ramps up much more noticeably, so that the attack phase is suppressed far too much. maybe these instruments use a smoothing algorithm for expression that additionally slows down the ramp?
In my script I use a parameter to alter the slope of the pressure values, pivoting around value 127. It basically raises the minimum pressure value, so that I can make pressure not start at zero. I control the parameter with an expression pedal.
Not only does it make the problematic instruments much more playable and may ease playing thrills with SWAM, but it's also nice to have the additional control with Equator and the like.

Last edited by gofer; 11-06-2018 at 10:49 PM.
gofer is offline   Reply With Quote
Old 11-09-2018, 12:25 PM   #85
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,634
Default

Did you check "PolyThru" -> https://www.strumentimusicali.net/ma...ndstage-en.pdf

Roli seems to provide some kind of pluging that leverages MPE for use with non MPE plugins.

-Michael
mschnell is offline   Reply With Quote
Old 11-09-2018, 02:42 PM   #86
gofer
-blänk-
 
gofer's Avatar
 
Join Date: Jun 2008
Posts: 11,359
Default

I am using Windows. Also, I can't find any recent info on that program at all. Did it ever get out of beta?
gofer is offline   Reply With Quote
Old 11-09-2018, 04:22 PM   #87
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,634
Default

Quote:
Originally Posted by gofer View Post
I can't find any recent info on that program at all.
Neither could I. That is why I asked. In fact I already did a JSFX that leverages MPE to a single channel and averages the three continuous per-key controls (Pitchbend, Channel-Pressure, CC74-Slide) for all "running" channels, to make standard polyphonic sound engines work nicely on MPE streams. I suppose this is what "PolyThru" would do.

Unfortunately I can't test it before I get a Seaboard .

-Michael

Last edited by mschnell; 11-10-2018 at 01:55 AM.
mschnell is offline   Reply With Quote
Old 11-10-2018, 01:02 AM   #88
gofer
-blänk-
 
gofer's Avatar
 
Join Date: Jun 2008
Posts: 11,359
Default

If PolyThru isn't mentioned in a recent Rise manual I think we can safely say it has been put on the back burner, or discontinued.
Any info I could find hints at PolyThru being a sort of Vst host which automatically holds multiple instances of the instrument you choose and links their parameters, so it's enough to tweak only one of the instances. Basically what the OP is about. I can't find any hint towards channel reduction and handling of control data for single channel usage.

Re your JSFX:
While I can imagine taking the average may be good for Press and Slide data, I think it's not ideal for Glide. It's a Seaboard paradigm that the keywave you glide to determins the target pitch. When using average pitch you'd always have to glide all active notes to get this behavior. If you for example have two notes running and glide only one of them, then the pitch bend will amount to half of the distance you are gliding, which I'd probably find unintuitive (glide two semitones up on the board amounts to pitch only raising a single semitone).

I'd suppose taking the maximum current pitch value would be better. That way you'd also benefit from the "quantization" of the target pitch that happens on Seaboards.
Thinking about it, the "quantization" may have an unfavourable effect on averaged pitch data, too.
gofer is offline   Reply With Quote
Old 11-10-2018, 02:04 AM   #89
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,634
Default

Of course the JSFX is configurable on which controls are averaged (up to three: of any CC, Pitch-Bend, and Channel-Pressure).

Making max / min / average configurable seems like a good idea ! I will implement this. (But it might trigger involuntarily harsher jumps than average.)

Regarding slide: if you play a chord and move a finger just very slightly, this value will be the last and hence in a not preprocessed channel merger will be used for all pressed notes. This will force crazy jumps. I don't think that is decently playable. But as said not processing a control already can be configured.

What do you mean by quantization ?

-Michael
mschnell is offline   Reply With Quote
Old 11-10-2018, 02:37 AM   #90
gofer
-blänk-
 
gofer's Avatar
 
Join Date: Jun 2008
Posts: 11,359
Default

Quote:
Originally Posted by mschnell View Post
Of course the JSFX is configurable on which controls are averaged (up to three: of any CC, Pitch-Bend, and Channel-Pressure).

Making max / min / average configurable seems like a good idea ! I will implement this. (But it might trigger involuntarily harsher jumps than average.)

Regarding slide: if you play a chord and move a finger just very slightly, this value will be the last and hence in a not preprocessed channel merger will be used for all pressed notes. This will force crazy jumps. I don't think that is decently playable. But as said not processing a control already can be configured.
Seaboard sends Slide reset messages in front of every new note you play (on the same tick, but before the note-on message). I am using max in my script and it plays nicely. As I mentioned before, the only situation I get any considerable value jump is when I play multiple notes and one of them has a considerably higher Slide value than all the others and I stop playing that particular note. In that case the output value will jump back to the value the other notes are using.

No value jumping in that situation with Press, because lifting the finger off a key will gradually lower the pressure value towards zero.


[EDIT] Coming to think of it, I actually have a hunch that the Slide reset messages will cause jumps when taking the average value, while they are filtered when taking max (until all notes are stopped and a new one is coming in). If you choose to take min, then evey new note will make the Slide value jump down to zero. Similar weirdness will probably occur with pressure (it is also reset with new note). [/EDIT]

Quote:
Originally Posted by mschnell View Post
What do you mean by quantization ?

-Michael
When you set the Glide sensitivity to lower than maximum, Seaboard will round the pitch value towards a straight - properly pitched - semitone when it "thinks" that your Glide gesture is coming to an end. The upside is that it's easy to glide to a straight target note. The downside is, that with low glide sensitivity slow glides can sound a bit "wavey", when the rounding happens faster than the actual Glide gesture.



Sorry for the rather heavy editing of this post... It's hard to put my thoughts into words.

Last edited by gofer; 11-10-2018 at 02:52 AM.
gofer is offline   Reply With Quote
Old 11-25-2018, 10:32 AM   #91
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,634
Default

Finally, I did order a Rise 49, so next week I will know more...
-Michael
mschnell is offline   Reply With Quote
Old 11-29-2018, 08:40 AM   #92
Tiggerdyret
Human being with feelings
 
Join Date: Jan 2016
Posts: 428
Default

Quote:
Originally Posted by mschnell View Post
Finally, I did order a Rise 49, so next week I will know more...
-Michael
I hope you like it. It's awesome that dedicated people like you guys are into MPE instruments as I'll surely benefit from your ideas too

You mentioned earlier in this thread that you already made a plugin to force MPE to a single channel. Where can I get it? I considered doing something similar with a few plugins, but an all in one solution would be welcomed.

I just got an Artiphon, which also has some cool MPE capabilities. It's really sweet, but takes some getting used to. And I also had to reset my exceptions of what I wanted it to be and what it is, but then it turned out to be even better than I'd hoped for.

Last edited by Tiggerdyret; 11-29-2018 at 08:52 AM.
Tiggerdyret is offline   Reply With Quote
Old 11-29-2018, 02:42 PM   #93
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,634
Default

Quote:
Originally Posted by Tiggerdyret View Post
You mentioned earlier in this thread that you already made a plugin to force MPE to a single channel. Where can I get it? I considered doing something similar with a few plugins, but an all in one solution would be welcomed.
Let me check out the Rise (and the plugin) during the weekend...

-Michael
mschnell is offline   Reply With Quote
Old 11-30-2018, 10:24 AM   #94
Tiggerdyret
Human being with feelings
 
Join Date: Jan 2016
Posts: 428
Default

Cool, thanks.
Tiggerdyret is offline   Reply With Quote
Old 12-02-2018, 07:19 AM   #95
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,634
Default

Seems to work. Please test and let me know what you find -> http://schnellphoto.de/MPE_2_1

(ReaPack compatible Description in the beginning of the code.)

-Michael

Last edited by mschnell; 12-03-2018 at 07:21 AM.
mschnell is offline   Reply With Quote
Old 12-03-2018, 04:59 AM   #96
Tiggerdyret
Human being with feelings
 
Join Date: Jan 2016
Posts: 428
Default

So far it works like a charm. I'll post if issues arise.

Thanks
Tiggerdyret is offline   Reply With Quote
Old 12-04-2018, 06:24 AM   #97
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,634
Default

Do you want me to add or modify anything, of should I commit it to ReaPack the way it is right now ?

Thanks,
-Michael
mschnell is offline   Reply With Quote
Old 12-04-2018, 09:08 AM   #98
Tiggerdyret
Human being with feelings
 
Join Date: Jan 2016
Posts: 428
Default

It seems to work just like my midi controller does in Single Channel mode. But I haven't tested it thoroughly... I think it's good enough to upload.

What could be nice would be another plugin that sends midi channel 1 cc messages for mod Wheel, sustain pedal, breath, brightness and maybe a few other parameters to all other, bBasically all parameters that affect all voices at the same time. This would make all multi-channel software like Omnisphere or Kontakt MPE-compatible and still have the mod wheel affect all voices. And even if it isn't you could make separate tracks and make it MPE that way.

Roli might have this feature already, but Artiphon I1 doesn't. I did it myself by using "JS: Midi Note Filter" and then "JS: Midi CC Channel Router" on a separate track with a send to my instrument track. I could do without the extra track plus one plugin is better than two, and it could be a bit easier to setup

Edit: Here is my thread about the subject. Solger helped me out with the solution: https://forum.cockos.com/showthread.php?t=213960

Last edited by Tiggerdyret; 12-04-2018 at 09:35 AM.
Tiggerdyret is offline   Reply With Quote
Old 12-08-2018, 01:47 AM   #99
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,634
Default

Please find "MIDI MPE to single Channel" in ReaPack !

-Michael
mschnell is offline   Reply With Quote
Old 12-08-2018, 03:05 AM   #100
Tiggerdyret
Human being with feelings
 
Join Date: Jan 2016
Posts: 428
Default

Yes, it was added to Reapack and works
Tiggerdyret is offline   Reply With Quote
Old 01-09-2019, 05:02 AM   #101
babyjaws
Human being with feelings
 
babyjaws's Avatar
 
Join Date: Feb 2009
Posts: 21
Default

you guys ROCK, thanks for this! its great to be able to even monitor what the roli is outputting, and being able to taka an average etc is fantastic, thanks for the work.
do you think somehow being able to convert the non cc values like aftertouch and lift velocity to a usable CC could be incorporated into this? could be the all in one solution for ROLI REAPER heads!
anyway cheers!
__________________
http://babyjaws.com
babyjaws is offline   Reply With Quote
Old 01-09-2019, 06:38 AM   #102
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,634
Default

Quote:
Originally Posted by babyjaws View Post
do you think somehow being able to convert the non cc values like aftertouch and lift velocity to a usable CC could be incorporated into this? could be the all in one solution for ROLI REAPER heads!
anyway cheers!
"Midi convert to CC" also is available in ReaPack. (Bug: the second "Midi Message" selection of "Note On Velocity" should read "Note Off Velocity" )

[Edit: Bug fixed ! ]

Reaper Rocks !!!
-Michael

Last edited by mschnell; 01-17-2019 at 06:25 AM.
mschnell is offline   Reply With Quote
Old 01-09-2019, 06:55 AM   #103
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,634
Default

BTW.: Regarding Glide:

Now that I do have a Rise 49, and use it in standard configuration (no tweaking by the Dashboard):

Hitting the Keywaves-pad anywhere always creates a not shifted semitone (PitchBend zero).

Hitting a second spot does a glide when it is within a semitone distance, otherwise it starts a new note. Hence doing a decent trill is not possible in this setting even with the current version of "MIDI MPE to single Channel". I supposedly will try to enhance "MIDI MPE to single Channel" to detect a semitone hopping PitchBend and convert this to a note-on in "Mono" mode.

To do a glide of any width you can instead use a "natural" gesture with a single finger, but for a keyboarder that is rather uncommon and it's hampered by the "keywave" structure.

Alternatively I am still considering to try to send a "Dashboard" SysEx configuration message to the Rise when initiating a Patch change.

-Michael

Last edited by mschnell; 01-17-2019 at 06:28 AM.
mschnell is offline   Reply With Quote
Old 01-10-2019, 06:54 AM   #104
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,634
Default

Edit:


Astonishingly, with some of the Equator stock sounds you can hit two adjacent semitones and get both notes (which would be good for trills).

I need to research if/how Equator sends this configuration change to the Rise.

-Michael

Last edited by mschnell; 01-10-2019 at 01:43 PM.
mschnell is offline   Reply With Quote
Old 01-16-2019, 11:36 AM   #105
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,634
Default

Edit again:

I found that the said behavior (glide instead of new note-on when pressing a semitone distance "key") occurs exactly when the "<>" slider is at maximum.

Now Equator seems to send a Midi Message to the Rise and moves this slider when changing to a new patch.

Now we need to find out the Midi messages that are at work here.

-Michael
mschnell is offline   Reply With Quote
Old 01-16-2019, 02:38 PM   #106
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,634
Default

Quote:
Originally Posted by mschnell View Post
Now we need to find out the Midi messages that are at work here.
Hmmm.

The Equator VST does not seem to generate any Midi (hence the Rise's faders stay put when Equator changes a patch, and the ReaControlMidi log does not show any messages).

The stand alone Equator software does have a menu to select the Midi source if there are more than just the Rise, but does not say anything about the Midi target.


-Michael
mschnell is offline   Reply With Quote
Old 01-16-2019, 03:02 PM   #107
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,634
Default

Edit:

(Using LoopMidi and Reaper) I found that with a some patch change Equator (stand-alone) sends a SysEx:

F0 00 21 10 78 3d 17 XX F7

with e.g. XX = 32, 7B, 7C, or 7F.

It seems like XX is the position of the "<>" slider of the Rise. Supposedly 7F meaning "full" -> Semitone glide.

This does seem rather easy to support ...

-Michael

Last edited by mschnell; 01-17-2019 at 06:33 AM.
mschnell is offline   Reply With Quote
Old 01-16-2019, 04:11 PM   #108
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,634
Default

Question:

Do the Grand and the Blocks also adhere to this parameter if sent as a SysEx, even though they don't feature a visible slider for it ?


Another question:

How is the setting visible/doable in an Equator patch ?

-Michael
mschnell is offline   Reply With Quote
Old 01-17-2019, 09:31 AM   #109
gofer
-blänk-
 
gofer's Avatar
 
Join Date: Jun 2008
Posts: 11,359
Default

Red, a mod at Roli's support forum said this about controlling Rise via MIDI:

Quote:
Red on Roli support forum


Here are the main MIDI messages used to configure the Seaboard RISE.


Note 1: if you send the RISE a message that corresponds with a different (unpublished) message, it is possible to change the settings so as to make it temporarily unusable, in which case you may need to manually reinstall the firmware. Sending these messages is not officially supported, and so you do so at your own risk.

Note 2: BLOCKS use the BLOCKS API rather than these messages, and it's not currently feasible to control BLOCKS remotely outside of using the BLOCKS API. For details on developing with BLOCKS, please see https://juce.com/blocks

Helpful hint: you may use a MIDI monitor application like SNoize's MIDI Monitor to "spy" on the communication between ROLI Dashboard and the Seaboard RISE. You'll see these messages correspond to the changes you make within ROLI Dashboard.

And now to the RISE's configuration MIDI messages:

SysEx messages
8: Pedal CC (0–119)
14: Use global channel? (0–1)
20: Left MIDI Touch Fader position (0–127)
21: Middle MIDI Touch Fader position (0–127)
22: Right MIDI Touch Fader position (0–127)
23: Glide sensitivity (0–127)
24: Slide sensitivity (0–127)
25: Press sensitivity (0–127)
26: Strike sensitivity (0–127)
27: Lift sensitivity (0–127)
28: Left Touch Fader MIDI CC (0–127)
29: Middle MIDI Touch Fader CC (0–127)
30: Right MIDI Touch Fader CC (0–127)
35: XY Touchpad X CC (0–127)
36: XY Touchpad Y CC (0–127)
RPN
0: Pitch bend range (1–96)
6: Zone start channel (sent on the desired zone start channel)
6: Zone end channel
6: Zone global channel
NRPN
0: Glide/Slide tracking mode (0–4)
2: Pitch octave (0–8); 4 is default
3: Pitch semitone transposition (53–75); 64 is default
4: Press tracking mode (0–4)
https://support.roli.com/support/dis...cs/36000005031

These are decimal values, in the SysEx cases you probably need to put them (converted to hex) at the place before XX and keep the rest of the header (17 in your example message translates neatly to 23 mentioned by Red as Glide sensitivity)

Apparently Blocks are not supported , not sure about the Grand.
gofer is offline   Reply With Quote
Old 01-18-2019, 07:23 AM   #110
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,634
Default

Match ! -> 23 decimal = 17 Hex is "Glide sensitivity".

I'll do a littkle JSFX that converts Midi CCs to SysEx. I'll of course upload it to ReaPack.

-Michael
mschnell is offline   Reply With Quote
Old 01-19-2019, 05:52 AM   #111
gofer
-blänk-
 
gofer's Avatar
 
Join Date: Jun 2008
Posts: 11,359
Default

It will be interesting whether that same header works for all Rises, or whether you'll have to change a device identifier byte in the SysEx header to address a different Rise.
In any case I think you should post the SysEx header you found works in that Roli forum thread, seeing that Red didn't mention it and that the parameter number without header is of little use for interested folk.

Red also didn't fully specify RPN/NRPN (is the address he mentions MSB or LSB?). A little detective work will reveil them, I'm sure .
gofer is offline   Reply With Quote
Old 01-20-2019, 12:26 AM   #112
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,634
Default

Using this (including the "Midi CC to SysEX" JSFX), I was able to do a (three track) Reaper project for Live playing the Rise with the Equator VST, while using my XTouch Compact to change the patches in Equator.

My original JSFX "Live Rack with XTouch" infrastructure (in one track) sends out lots of CC messages with any patch change due to pressing a button. These now are converted to send a Program Change message to Equator to change it's patch and at the same time "Midi CC to SysEX" sends three SysEx messages to the Seaboard to set it's Glide-, Slide-, and Press- sensitivity according to my taste for the appropriate patch. (This perfectly solves the "Semitone to Glide or to second note" problem, which otherwise would prevent doing trills and similar sound engine based note transitions features.)

Next tasks:
- Integrate this in the "Life Rack" project used with the other keyboards and VSTs.
- Allow for using other VSTs to be played with the Rise (by means of the "MPE to single channel" JSFX).
- Allow for VSTs to be controlled by Rise and TC BBCv2 "Dimensions" at the same time.
- Drop the second "hard" keyboard in my live setup .
- Can I remotely switch the Rise "Faders" between "Dimension Control" and "CC" mode ?
- Allow for live tweaking Equator parameters by the XTouch controlled knobs/faders/presets and/or the BBCv2. (Does Equator receive any CCs or would always DAW parameters need to be used ? )

-Michael

Last edited by mschnell; 01-20-2019 at 02:29 AM.
mschnell is offline   Reply With Quote
Old 01-20-2019, 12:32 AM   #113
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,634
Default

Quote:
Originally Posted by gofer View Post
Red also didn't fully specify RPN/NRPN
What exactly is RPN/NRPN after all ?

-Michael
mschnell is offline   Reply With Quote
Old 01-20-2019, 11:31 AM   #114
gofer
-blänk-
 
gofer's Avatar
 
Join Date: Jun 2008
Posts: 11,359
Default

In a nutshell, RPN and NRPN are a clutchy way to make more parameters controllable with the 128 possible CC numbers. Done by interpreting a combination of CC numbers as an address, the value of which is then changed by another combination of CC numbers.

- CC101 = RPN MSB
- CC100 = RPN LSB

- CC 99 = NRPN MSB
- CC 98 = NRPN lSB

both adresses share the same CC for the value change
- CC6 = Data Entry MSB
- CC38 = Data Entry LSB (optionally, if the value range extends 128)

That means, you can have either one RPN or one NRPN address listen to data entry at any given time (but can rather rapidly switch between them).
It also means that once you have specified a valid RPN or NRPN address, any spurious CC6 or CC38 will change that parameter. To clear the assigned address you can send
CC101 = 127
CC100 = 127
CC99 = 127
CC98 =127

RPN (registered parameter numbers) are defined in the MIDI specs to have specific tasks, for example for setting the pitch bend range. That's similar to how CC10 is agreed to be MIDI channel pan. NRPN are open for developers to do what they want with.

To do a pitch bend range change on a compatible device you send:
- CC101 (RPN MSB) value 0
- CC100 (RPN LSB) value 0 (these two set the parameter address)
- CC6 (Data Entry MSB) value n (n = semitones)This sets the value for the latest assigned address

and optionally, to leave the place neat and clean:
- CC101 127
- CC100 127
all on the channel you want the pitch bend range be changed on.

Red doesn't mention the channel on which it should be sent for an MPE device, but I'd try the global channel first. Maybe it's even per zone?

All RPNs in the MIDI specs have MSB = 0, so I assume that RPN 6 which sets the Zones in Red's post means the LSB is 6 and you send those messages on the channel you want to assign?

The NRPN parameters look interesting, too. A patch change in your setup could for example also change the octave setting of the Rise to your liking. Red doesn't specify the channel, nor whether his address number is MSB or LSB but a little experiment should give you an answer.

Too bad I can't do all that stuff with Blocks

Last edited by gofer; 01-24-2019 at 06:17 AM. Reason: oopsie :)
gofer is offline   Reply With Quote
Old 01-22-2019, 01:54 PM   #115
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,634
Default

Uploaded "Midi CC to SysEX" to Reapack...

-Michael
mschnell is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -7. The time now is 11:26 PM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.