• SONAR
  • Use NRPNs (For Accuracy)? (p.2)
2017/05/10 09:14:31
azslow3
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.
 
 
2017/05/10 14:12:25
bitflipper
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.
2017/05/10 14:24:57
Paul P
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.
 
12
© 2026 APG vNext Commercial Version 5.1

Use My Existing Forum Account

Use My Social Media Account