Helpful ReplyUse NRPNs (For Accuracy)?

Author
AdamGrossmanLG
Max Output Level: -62 dBFS
  • Total Posts : 1436
  • Joined: 2014/07/13 03:40:34
  • Status: offline
2017/05/10 06:53:30 (permalink)

Use NRPNs (For Accuracy)?

So I read somewhere that using NRPN's can yield much higher resolution of controller data.  This sound to me as pretty crucial if you want to control a softsynth's filter cutoff without it sounding to "steppy". I also noticed that using regular CC value range of 0 to 128 doesn't allow for fine tuning most parameters in software plugins.
 
I understand NRPN's are "bloated" and utilize more CPU, but I plan on freezing my synth tracks once recorded.   Does it utilize more CPU upon playback and/or just when moving the knobs on my controller?

But am I even on track with this whole NRPN thing to begin with?  I want to make sure my filter sweeps and other synth effects are as smooth as possible.

Am I correct in thinking I would need to use NRPN's from my controller instead of MIDI CC?
 
Thank You!
 
#1
interpolated
Max Output Level: -74 dBFS
  • Total Posts : 830
  • Joined: 2015/03/26 17:34:58
  • Status: offline
Re: Use NRPNs (For Accuracy)? 2017/05/10 08:21:04 (permalink)
Since it's 7-bit data I wouldn't think it make much odds to your cpu usage. If you are going to be bouncing freezing the status anyway it will make not much odds how much cpu gets used in the first place.

I have computer stuff.
 
https://soundcloud.com/sigmadelta
#2
AdamGrossmanLG
Max Output Level: -62 dBFS
  • Total Posts : 1436
  • Joined: 2014/07/13 03:40:34
  • Status: offline
Re: Use NRPNs (For Accuracy)? 2017/05/10 08:22:12 (permalink)
thanks!  what about my main question about it being more accurate?  Would that be true for softsynth parameters?  Will I get a smoother filter cutoff if I use NRPNs?
#3
interpolated
Max Output Level: -74 dBFS
  • Total Posts : 830
  • Joined: 2015/03/26 17:34:58
  • Status: offline
Re: Use NRPNs (For Accuracy)? 2017/05/10 08:28:13 (permalink)
Vst 2 x tends to use midi values to ascertain automation however the actual synth engine will bring any precision as it will have the full 32-bit bandwidth required for floating points calculation I reckon.

In theory more precise midi data should give a more accurate response than using standard midi data. However vst3 plug-ins may offer more promising results over vst2.x

I have computer stuff.
 
https://soundcloud.com/sigmadelta
#4
AdamGrossmanLG
Max Output Level: -62 dBFS
  • Total Posts : 1436
  • Joined: 2014/07/13 03:40:34
  • Status: offline
Re: Use NRPNs (For Accuracy)? 2017/05/10 08:31:11 (permalink)
not really sure I understand what you just wrote.  
 
I just want to make sure I have the most smooth control of the parameters as possible.   As far as VST2's and VST3's are concerned, would I have a better chance at a smoother control with NRPN?
 
Thank You!
#5
interpolated
Max Output Level: -74 dBFS
  • Total Posts : 830
  • Joined: 2015/03/26 17:34:58
  • Status: offline
Re: Use NRPNs (For Accuracy)? 2017/05/10 08:38:46 (permalink) ☄ Helpfulby AdamGrossmanLG 2017/05/10 08:41:50
So basically I think you will. It actually used 14-bit through the use of 2 controller codes at the same time. Try it and let us know you get on

What are using to control midi data?

I have computer stuff.
 
https://soundcloud.com/sigmadelta
#6
Sanderxpander
Max Output Level: -36.5 dBFS
  • Total Posts : 3873
  • Joined: 2013/09/30 10:08:24
  • Status: offline
Re: Use NRPNs (For Accuracy)? 2017/05/10 08:40:42 (permalink) ☄ Helpfulby AdamGrossmanLG 2017/05/10 08:41:46
He is saying that the synth still has to support setting higher resolution values via NRPN. I haven't done a wide comparison but I would estimate that most don't. Most rely on "regular" midi for control input.
 
BUT, many synths (especially the ones from the last 5/10 years) have smoothing algorithms that prevent filter stepping, meaning internally they still use high resolution values and when the control input goes from, say, 63 to 64, they will calculate a few steps in between for a smooth glide rather than a sudden step. I'm sure that's oversimplifying it but I'm not a programmer. In any case, unless you're really zooming in on a sound and modulating a narrow range of filter cutoff values, it's usually not a problem.
 
Are you having specific issues with a synth and filter stepping? Be careful that you're not mistaking overtone resonance for filter stepping, even analog synths do that, it's simply a part of the way oscillators and filters interact.
#7
AdamGrossmanLG
Max Output Level: -62 dBFS
  • Total Posts : 1436
  • Joined: 2014/07/13 03:40:34
  • Status: offline
Re: Use NRPNs (For Accuracy)? 2017/05/10 08:41:07 (permalink)
interpolated
So basically I think you will. It actually used 14-bit through the use of 2 controller codes at the same time. Try it and let us know you get on

What are using to control midi data?



I am trying to if I could ever get this Novation Zero SL MKII to work!!!  Sonar won't pick up its knob turnings i am doing :(
#8
AdamGrossmanLG
Max Output Level: -62 dBFS
  • Total Posts : 1436
  • Joined: 2014/07/13 03:40:34
  • Status: offline
Re: Use NRPNs (For Accuracy)? 2017/05/10 08:43:09 (permalink)
Sanderxpander
He is saying that the synth still has to support setting higher resolution values via NRPN. I haven't done a wide comparison but I would estimate that most don't. Most rely on "regular" midi for control input.
 
BUT, many synths (especially the ones from the last 5/10 years) have smoothing algorithms that prevent filter stepping, meaning internally they still use high resolution values and when the control input goes from, say, 63 to 64, they will calculate a few steps in between for a smooth glide rather than a sudden step. I'm sure that's oversimplifying it but I'm not a programmer. In any case, unless you're really zooming in on a sound and modulating a narrow range of filter cutoff values, it's usually not a problem.
 
Are you having specific issues with a synth and filter stepping? Be careful that you're not mistaking overtone resonance for filter stepping, even analog synths do that, it's simply a part of the way oscillators and filters interact.


Very helpful, thank you very much.  Actually, I havent found any issue with MIDI CC, but wanting to try out NRPN but I'm having issues with my Novation unit at the moment.
 
Thank you for your help!  Interpolated too!
#9
AdamGrossmanLG
Max Output Level: -62 dBFS
  • Total Posts : 1436
  • Joined: 2014/07/13 03:40:34
  • Status: offline
Re: Use NRPNs (For Accuracy)? 2017/05/10 08:53:54 (permalink)
hmmm actually its not a novation problem.  I can get the Novation to control Sonar stuff like volume, panning, etc... but softsynths are not listening to the MIDI CC coming from the Novation.   I might make a new post for this as it seems to be Sonar related now that I see the Novation is controlling stuff inside of Sonar but not the VSTs
#10
azslow3
Max Output Level: -42.5 dBFS
  • Total Posts : 3297
  • Joined: 2012/06/22 19:27:51
  • Location: Germany
  • Status: offline
Re: Use NRPNs (For Accuracy)? 2017/05/10 09:14:31 (permalink)
There are 4 types of MIDI messages which have 14bit data precision: PithBend, CC14, (N)RPN and SysEx. PithBend is the only one which utilize just one standard 3 byte message. CC14 use 2 CC messages, RPN use 4 CC messages, SysEx is an arbitrary length message.
 
Hardware MIDI standard is extremely slow, sending one message takes ~1ms. That is why common practice is using PutchBend from hi resolution faders (f.e. on Mackie surfaces).
Inside modern computes there is no measurable difference in CPU consumption between such small data types (each message is stored/transfer within DAW in much bigger structures).
 
What can produce problems is the number of changes, not the resolution of each change. Sonar support crazy rates for such changes, but not only that is either ignored or crash synth, that can slow Sonar down to unusable level quickly. Such rates are not possible to achieve recording physical knobs, slow hardware within controllers does not send it so often, but when drawing by mouse it is good idea to use reasonable quantization.
 
Which maximum resolution is supported depends from particular parameter of particular synth. The same for supported MIDI messages. PitchBend, even when supported, is a bad choice in this case since it has special processing withing Sonar, leaving CC14 or (N)RPN for the purpose. If there is no documentation, "MIDI Learn" within plugin can quickly clarify supported message type. With maximum resolution that is more tricky, if there is some indication for parameter current value, it is possible to check weather tiny changes produce any effect on them.
 
Another way to increase the "resolution" while using standard CC is "assign matrix" within synth, in case it allows parameter subranges. F.e. fo frequency, if subrange is just 100Hz-200Hz, CC value have under 1 Hz resolution.
 
Common universal way to archive max supported by Synth resolution are already mentioned VST2/3 Automation parameters. They are 32 bit floats (for any parameter).
 
Another question is the possibility to enter these values using hardware controllers (entering by mouse is straightforward for all mentioned cases). I do not know any controller which produce hi resolution CC or (N)RPNs.
I have already mentioned hi resolution faders with PB, they are up to 10bit. So the solution is to use encoders and translate +- changes to coarse or fine changes. May be some Synths support Inc/Dec (N)RPNs, but universal approach is thru Automations. Organizing that practically in Sonar from my knowledge is only possible with AZ Controller.
 
PS. You are in my ban list, so probably you ignore all that. The information is for other users looking for extended answer on that (not unusual) question.
 
 

Sonar 8LE -> Platinum infinity, REAPER, Windows 10 pro
GA-EP35-DS3L, E7500, 4GB, GTX 1050 Ti, 2x500GB
RME Babyface Pro (M-Audio Audiophile Firewire/410, VS-20), Kawai CN43, TD-11, Roland A500S, Akai MPK Mini, Keystation Pro, etc.
www.azslow.com - Control Surface Integration Platform for SONAR, ReaCWP, AOSC and other accessibility tools
#11
bitflipper
01100010 01101001 01110100 01100110 01101100 01101
  • Total Posts : 26036
  • Joined: 2006/09/17 11:23:23
  • Location: Everett, WA USA
  • Status: offline
Re: Use NRPNs (For Accuracy)? 2017/05/10 14:12:25 (permalink)
NRPNs are by definition synth-specific. The only reason they are part of the MIDI spec is to allow vendors to implement proprietary features beyond the standard set of controller definitions. So unless your synthesizer explicitly supports NRPNs for filter parameters, you're on a snipe hunt anyway.
 
You're also hypothesizing that higher-resolution control signals will result in smoother transitions, which will likely turn out to not be the case. "Resolution" could refer either to the total number of quantization levels top to bottom, or it could mean the number of level changes that can occur within a given interval of time. The latter is limited by your computer, and is unrelated to the size of each quantization level. Even if an NRPN is theoretically capable of a thousand steps, you probably still won't actually get any more events per tick, such that the NRPN's affect on a parameter would sound no different than a conventional CC.
 
Then there is the issue of whether or not higher resolution is justified in the first place. There is a reason that the MIDI world is still 8 bits and not 16 or higher, despite past efforts to change it. For most synth parameters, 127 discrete levels is more than sufficient. You can test this yourself within the PRV: create a MIDI track with one sustained note, and then add a CC and assign it to anything you like. Set the initial CC value to, say, 66. Manually edit the CC to change to 67 after some interval. Can you hear any change at all without watching the PRV for visual cues? Sometimes you can, sometimes you can't. Depends on the synth more than anything.


All else is in doubt, so this is the truth I cling to. 

My Stuff
#12
Paul P
Max Output Level: -48.5 dBFS
  • Total Posts : 2685
  • Joined: 2012/12/08 17:15:47
  • Location: Montreal
  • Status: offline
Re: Use NRPNs (For Accuracy)? 2017/05/10 14:24:57 (permalink)
bitflipper
For most synth parameters, 127 discrete levels is more than sufficient. You can test this yourself within the PRV: create a MIDI track with one sustained note, and then add a CC and assign it to anything you like. Set the initial CC value to, say, 66. Manually edit the CC to change to 67 after some interval. Can you hear any change at all without watching the PRV for visual cues? Sometimes you can, sometimes you can't. Depends on the synth more than anything.



Where I find the limited number of values apparent is between 0 and 1 where you can definitely hear a difference as the control becomes an on/off switch.
 

Sonar Platinum [2017.10], Win7U x64 sp1, Xeon E5-1620 3.6 GHz, Asus P9X79WS, 16 GB ECC, 128gb SSD, HD7950, Mackie Blackjack
#13
Jump to:
© 2024 APG vNext Commercial Version 5.1