Go Back   Cockos Incorporated Forums > REAPER Forums > REAPER Feature Requests

Reply
 
Thread Tools Display Modes
Old 05-08-2012, 11:17 AM   #1
Banned
Human being with feelings
 
Banned's Avatar
 
Join Date: Mar 2008
Location: Unwired (probably in the proximity of Amsterdam)
Posts: 4,868
Default MIDI Learn: support for 14 bit resolution using MSB/LSB CC# pairs / (N)RPNs

When using the Param > Learn feature, I'd like a new option to be added for MIDI CC#s, that supports sending values at 14 bit resolution using MSB/LSB CC# pairs (CC# 0-31 for MSB + CC# 32-63 for LSB), and another one for (N)RPNs. [EDIT(1):] And, following gofer's excellent suggestion in post #3 below: yet another option that enables us to use pitch bend data (which also uses 14 bit resolution), even though that's not a "CC mode", strictly speaking (the name should just be changed to something more general anyway, since we also have OSC now).

Currently the only option for absolute control uses the regular 7 bits resolution for single CC#s. Thus, it does not seem to be possible to use such high resolution MIDI control schemes for controlling parameters in REAPER directly (*), while the limited resolution of 7 bit CC#s does not suffice for many parameters. We really need options for more precise control.

(*) Currently I'm using the OSC control surface support to achieve this, which also addresses the separate issue of missing feedback for 'learned' MIDI control to parameter bindings (which does not work for 'learned' bindings using OSC either). While this works great to achieve high resolution control (with proper feedback), this does still not establish reliable bindings (i.e. when track/plugin slot numbers change, so do the corresponding OSC messages), and should not be necessary imho.

[EDIT(2):] FR thread here, please vote if you also want this feature.
__________________
˙lɐd 'ʎɐʍ ƃuoɹʍ ǝɥʇ ǝɔıʌǝp ʇɐɥʇ ƃuıploɥ ǝɹ,noʎ

Last edited by Banned; 11-18-2012 at 08:07 AM. Reason: (1) added gofer's suggestion; (2) added link to FR thread
Banned is offline   Reply With Quote
Old 05-09-2012, 08:12 AM   #2
LX84
Human being with feelings
 
Join Date: May 2012
Posts: 13
Default

Quote:
Originally Posted by Banned View Post
When using the Param > Learn feature, I'd like a new option to be added for MIDI CC#s, that supports sending values at 14 bit resolution using MSB/LSB CC# pairs (CC# 0-31 for MSB + CC# 32-63 for LSB), and another one for (N)RPNs.
That would be essential for so many control devices!!!
The resolution of 128 values is just far too little for reasonable parameter controlling.

Additionally the "Curve", "Stepping Size" and "Range" should be customizable - which is kind of implemented in this FR: http://forum.cockos.com/project.php?issueid=4127

Right now controlling of e.g. "ReaDelay Time" doesn't make any sense at all having 128 values only, cause steps would be 10.000/128 which is something like "0ms, 78.7ms, 157.5ms, 236.2ms,...." absolutely unusable for musical intentions :-(
LX84 is offline   Reply With Quote
Old 05-09-2012, 12:12 PM   #3
gofer
-blänk-
 
gofer's Avatar
 
Join Date: Jun 2008
Posts: 11,093
Default

Quote:
Originally Posted by LX84 View Post
That would be essential for so many control devices!!!
The resolution of 128 values is just far too little for reasonable parameter controlling.
I figure it's a problem only with absolute faders on control surfaces and a solution only if they can spit out MSB/LSB or NRPN in the first place. Those that I know use channel pitch messages for their faders which are already 14bit and the cheaper ones only do simple (single) CC messages and wouldn't benefit. But I don't know too many of them, might be bad informed.
Control knobs should all be endless rotaries sending relative messages to make sense anyway. Then the stepping is up to the receiver - or wait, do motorized control knobs exist? I'm getting increasingly unsure the more I write here, please gents, fill me in .

Anyway, totally vote for allowing MSB/LSB and NRPN (and did of course vote for range/curve/stepping). I might want to send them from another application, or there are controllers that send them.
gofer is offline   Reply With Quote
Old 05-09-2012, 12:52 PM   #4
Banned
Human being with feelings
 
Banned's Avatar
 
Join Date: Mar 2008
Location: Unwired (probably in the proximity of Amsterdam)
Posts: 4,868
Default

Quote:
Originally Posted by gofer View Post
I figure it's a problem only with absolute faders on control surfaces and a solution only if they can spit out MSB/LSB or NRPN in the first place. Those that I know use channel pitch messages for their faders which are already 14bit and the cheaper ones only do simple (single) CC messages and wouldn't benefit. But I don't know too many of them, might be bad informed.
No, the problem is *much* bigger than that: we are *not* able to control values accurately using MIDI.

It's a standard option on my cheap ass BCR-2000. No faders. Not motorized.

You can't use pitch bend with REAPER either, but great suggestion: that should of course be possible as well. Even though physical pitch bender controls usually do not have a 14 bit resolution and are centered, making them less than ideal for accurate control. (As you also hinted at: even if only used for MIDI between apps, it would already be useful.)
Quote:
Originally Posted by gofer View Post
Control knobs should all be endless rotaries sending relative messages to make sense anyway. Then the stepping is up to the receiver [...]
I disagree *strongly*. If I'd set up my endless rotaries as relative controls, I'd have no meaningful indication of their value. Using 14 bit absolute mode on my BCR-2000 endless rotaries gives me both a LED ring and an accurate value on a scale from 0 to 16383 (which works excellent, but via conversion to OSC because REAPER won't let me use it directly, hence this FR). Imho using relative mode does not make much sense at all, it is only a workaround for a lack of parameter feedback. Perhaps you have become a bit too accustomed to REAPER's failure to provide feedback in the first place.

Moreover, REAPER does not provide any stepping either.
__________________
˙lɐd 'ʎɐʍ ƃuoɹʍ ǝɥʇ ǝɔıʌǝp ʇɐɥʇ ƃuıploɥ ǝɹ,noʎ
Banned is offline   Reply With Quote
Old 11-18-2012, 10:01 AM   #5
gofer
-blänk-
 
gofer's Avatar
 
Join Date: Jun 2008
Posts: 11,093
Default

Quote:
Originally Posted by Banned View Post
You can't use pitch bend with REAPER either, but great suggestion: that should of course be possible as well. Even though physical pitch bender controls usually do not have a 14 bit resolution and are centered, making them less than ideal for accurate control. (As you also hinted at: even if only used for MIDI between apps, it would already be useful.)
What I meant was that control surfaces may use 14bit pitch bend messages for their volume faders (like MCU, although that is of course a little better supported via csurf and already 14bit capable in Reaper - I hope!!) I thought BCF did that as well, but dunno. These obviously won't be centered and hopefully use as many of the 16000+ steps as they physically can .

Quote:
Originally Posted by Banned View Post
I disagree *strongly*. If I'd set up my endless rotaries as relative controls, I'd have no meaningful indication of their value. Using 14 bit absolute mode on my BCR-2000 endless rotaries gives me both a LED ring and an accurate value on a scale from 0 to 16383 (which works excellent, but via conversion to OSC because REAPER won't let me use it directly, hence this FR). Imho using relative mode does not make much sense at all, it is only a workaround for a lack of parameter feedback. Perhaps you have become a bit too accustomed to REAPER's failure to provide feedback in the first place.

Moreover, REAPER does not provide any stepping either.
That is more a problem of the (still missing, if you don't use OSC or csurf) parameter feedback, ain't it? Which is of course bad enough. If both, surface and the host support it, LED rings and displays totally can give you proper readout no matter whether absolute or relative messages are used to control the host. The host gets a "raise value a notch" and sends back the new parameter value which can then be displayed on the surface (maybe that's not true for Reaper+OSC driven parameter feedback).

"REAPER does not provide any stepping" can't logically be (a parameter must be raised/lowered some value when it gets a relative control message and that's a step - how big that step is depends on the receiver alone). What you probably mean is Reaper's learn system doesn't support accelleration (turning faster makes steps bigger and vice versa)?

That all said, we basically agree on it all. 14bit learn system would of course be useful! No debate there at all. (actually, I more or less just want to give this thread it's proper bumpage )

Last edited by gofer; 11-18-2012 at 10:11 AM.
gofer is offline   Reply With Quote
Old 11-18-2012, 10:56 AM   #6
Banned
Human being with feelings
 
Banned's Avatar
 
Join Date: Mar 2008
Location: Unwired (probably in the proximity of Amsterdam)
Posts: 4,868
Default

Quote:
Originally Posted by gofer View Post
What I meant was that control surfaces may use 14bit pitch bend messages for their volume faders (like MCU, although that is of course a little better supported via csurf and already 14bit capable in Reaper - I hope!!) I thought BCF did that as well, but dunno. These obviously won't be centered and hopefully use as many of the 16000+ steps as they physically can .
Ridiculous enough, the BCR-2000 (and iirc the BCF-2000 as well) use a 7-bit resolution when you set a knob to send pitch bend data. Go figure...

But indeed, we'd probably need a few configuration options.

Quote:
Originally Posted by gofer View Post
That is more a problem of the (still missing, if you don't use OSC or csurf) parameter feedback, ain't it? Which is of course bad enough. If both, surface and the host support it, LED rings and displays totally can give you proper readout no matter whether absolute or relative messages are used to control the host. The host gets a "raise value a notch" and sends back the new parameter value which can then be displayed on the surface (maybe that's not true for Reaper+OSC driven parameter feedback).

"REAPER does not provide any stepping" can't logically be (a parameter must be raised/lowered some value when it gets a relative control message and that's a step - how big that step is depends on the receiver alone). What you probably mean is Reaper's learn system doesn't support accelleration (turning faster makes steps bigger and vice versa)?

That all said, we basically agree on it all. 14bit learn system would of course be useful! No debate there at all. (actually, I more or less just want to give this thread it's proper bumpage )
Yeah, absolute vs. relative is largely a matter of personal preference, given the restrictions of the setup, if any.

With "stepping" I rather meant making bigger steps than the value unit used, i.e. multiplication instead of acceleration - but the issue is similar and can probably indeed be generalised to encompass both.

Thanks for the bump, and let's continue discussing implementation details if only to keep bumping it up.
__________________
˙lɐd 'ʎɐʍ ƃuoɹʍ ǝɥʇ ǝɔıʌǝp ʇɐɥʇ ƃuıploɥ ǝɹ,noʎ
Banned is offline   Reply With Quote
Old 09-10-2014, 10:49 AM   #7
Soli Deo Gloria
Human being with feelings
 
Soli Deo Gloria's Avatar
 
Join Date: Oct 2013
Location: Buenos Aires, Argentina
Posts: 853
Default

I definitely agree with this, I´ve just voted...
Soli Deo Gloria is offline   Reply With Quote
Old 09-10-2014, 01:53 PM   #8
ELP
Human being with feelings
 
Join Date: Apr 2014
Posts: 943
Default

Vote for
option(N)RPN 7/14 Bit absolute value learn system!

Only lousy 128 controller options with each 128(0-127) absolute steppings
per channel are not enough.

(You have voted on this issue.)
ELP is offline   Reply With Quote
Old 05-31-2015, 12:03 PM   #9
Travesty
Human being with feelings
 
Travesty's Avatar
 
Join Date: Nov 2014
Posts: 417
Default

*Bump*
Travesty is offline   Reply With Quote
Old 06-25-2015, 09:04 PM   #10
Doc Brown
Human being with feelings
 
Doc Brown's Avatar
 
Join Date: Jul 2012
Location: Minnesota
Posts: 1,605
Default

14 bit midi is a must, I agree.
Doc Brown is offline   Reply With Quote
Old 11-21-2015, 08:01 PM   #11
rparmar
Human being with feelings
 
rparmar's Avatar
 
Join Date: Nov 2015
Location: Ireland
Posts: 15
Default

I am really wanting a hi-res OSC controller, but since such things seem to be extinct, I vote for this instead!
__________________
remanence | stolen mirror | theatre of noise
rparmar is offline   Reply With Quote
Old 02-11-2016, 12:49 PM   #12
lowellben
Human being with feelings
 
lowellben's Avatar
 
Join Date: Aug 2010
Location: In a home
Posts: 2,831
Default

Quote:
Originally Posted by Doc Brown View Post
14 bit midi is a must, I agree.
Is 14bit MIDI currently available in Reaper's current version 5? Just curious please. Thank you.
__________________
47.8% of statistics are made up.
lowellben is offline   Reply With Quote
Old 02-11-2016, 01:24 PM   #13
Dstruct
Human being with feelings
 
Join Date: Jul 2006
Posts: 12,272
Default

Quote:
Originally Posted by lowellben View Post
Is 14bit MIDI currently available in Reaper's current version 5?
In the MIDI editor it's available. Not sure about "MIDI learn" tho ...
Dstruct is offline   Reply With Quote
Old 03-24-2016, 10:24 AM   #14
Dstruct
Human being with feelings
 
Join Date: Jul 2006
Posts: 12,272
Default

Some VSTs have NRPN MIDI learn (Ohm Force OhmBoyz, Vember Audio Surge for example). Sending NRPN from MIDI item to these VSTs doesn't make them learn both controllers. They just learn one of the two. Why this? Is NRPN from external MIDI devices different than NRPN from REAPER's MIDI item stream?

SOLVED

Last edited by Dstruct; 03-24-2016 at 11:23 AM.
Dstruct is offline   Reply With Quote
Old 03-24-2016, 10:40 AM   #15
EvilDragon
Human being with feelings
 
EvilDragon's Avatar
 
Join Date: Jun 2009
Location: Croatia
Posts: 22,543
Default

Shouldn't be, it's a string of 3 (or 4) CCs in a particular order (99 NRPN MSB, 98 NRPN LSB, 6 Data Value MSB, 38 Data Value LSB).
EvilDragon is offline   Reply With Quote
Old 03-24-2016, 10:45 AM   #16
Dstruct
Human being with feelings
 
Join Date: Jul 2006
Posts: 12,272
Default

Don't have external MIDI device with NRPN, so I can't test this. Surge Manual says it will recognise NRPN automatically. But it doesn't do it when sending from MIDI items.

SOLVED

Quote:
CC = Channel Controller (7-bit)
RPN = Registered Parameter Number (14-bit)
RPN = Non Registered Parameter Number (14-bit)

These are different ways to send controller messages via MIDI. But as Surge will recognize them automatically you just have rotate the knob and Surge will learn it.

Last edited by Dstruct; 03-24-2016 at 11:23 AM.
Dstruct is offline   Reply With Quote
Old 03-24-2016, 10:57 AM   #17
EvilDragon
Human being with feelings
 
EvilDragon's Avatar
 
Join Date: Jun 2009
Location: Croatia
Posts: 22,543
Default

Are you making sure that NRPN CCs are sent in the exact order stated?
EvilDragon is offline   Reply With Quote
Old 03-24-2016, 11:05 AM   #18
Dstruct
Human being with feelings
 
Join Date: Jul 2006
Posts: 12,272
Default

Quote:
Originally Posted by EvilDragon View Post
Are you making sure that NRPN CCs are sent in the exact order stated?
I'm just using the combined controller lane in MIDI editor ("21/53 14-bit" for example).

EDIT: Surge seems to work. OhmBoyz doesn't (also not from ReaControlMIDI).

Last edited by Dstruct; 03-24-2016 at 11:11 AM.
Dstruct is offline   Reply With Quote
Old 03-24-2016, 11:06 AM   #19
EvilDragon
Human being with feelings
 
EvilDragon's Avatar
 
Join Date: Jun 2009
Location: Croatia
Posts: 22,543
Default

That's not enough. NRPN is not the same thing as 14-bit CC. 14-bit CC uses 2 CCs in tandem, one after another (MSB after LSB). NRPN uses THREE always (or sometimes 4). First you need to use CC99 and CC98 to select NRPN parameter address, and then use CC6 (and optionally CC38 if you want 14-bit precision) to select actual value of that NRPN address. Like this, you can control up to 16384 parameters.

https://en.wikipedia.org/wiki/NRPN
EvilDragon is offline   Reply With Quote
Old 03-24-2016, 11:11 AM   #20
Dstruct
Human being with feelings
 
Join Date: Jul 2006
Posts: 12,272
Default

Quote:
Originally Posted by EvilDragon View Post
That's not enough. NRPN is not the same thing as 14-bit CC. 14-bit CC uses 2 CCs in tandem, one after another (MSB after LSB). NRPN uses THREE always (or sometimes 4). First you need to use CC99 and CC98 to select NRPN address, and then use CC6 (and optionally CC38 if you want 14-bit precision) to select NRPN value. Like this, you can control up to 16384 parameters.

https://en.wikipedia.org/wiki/NRPN
Ok,

I thought the 14-bit CC was the same.
Dstruct is offline   Reply With Quote
Old 03-24-2016, 11:22 AM   #21
Dstruct
Human being with feelings
 
Join Date: Jul 2006
Posts: 12,272
Default

Forgot the MIDI link -> VST parameter feature in REAPER. Nice workaround for the OhmBoyz plugin

SOLVED
Dstruct 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 01:56 AM.


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