Charles Braund wrote:Dear Martin,
I think that your suggestion that the sequencer processing is at fault may be a key to the answer. It doesn't seem to matter which editor is used. I did notice that if I copied the NRPN instructions to another position under Cubase for instance that sometimes the order of the NRPN's changed randomly without anything actually being moved. Of course, I changed them back so that they were in the correct order but it may be that since all the NRPN messages started in the exact same position ie: 1.1.1.1, , 45.1.1.1 or similar that Midi itself gets confused. It shouldn't with a 31+ Kbaud rate but this may be the case. This might imply that it is the inability of Midi itself to process things correctly that is the nub of the problem rather than any anomaly with whatever sequencer / editor is being used. I don't quantize the messages in any way so they are running at maximum process speed.
I'm going to try staggering the stop control message so that the sequence runs as say 67.1.1.0, 67.1.1.1, 67.1.1.2, and 67.1.1.3 for example. This may clear up the problem.
Equally, as you say it may be that it's one of those tiny little glitches that the likes of Cubase haven't sorted out yet - probably because it's something that's fairly rarely used. However it would seem unlikely that all sequencers tried so far would suffer the same problem. I think it's a case that Cubase, HW or whatever etc. can't address the problem because it is fundamental to the Midi protocol alone.
Thanks, Charles.
Specifically, the problem in Apple's Logic, and formerly (and conceivably still currently) in Cubase is/was that the sequencer would (inevitably) quantise the NRPNs' component CC messages to the sequencer's minimum time division (which is very small -- much, much smaller than one time signature beat). That in itself is no problem. However, it would then sort the CC messages into ascending CC-number order within each of those time minimum time divisions. Hence, depending on the timing at which the component parts of the NRPN were recorded, Logic may corrupt the NRPNs by switching the order of the CC messages around. For example, if the start of one CC message gets sorted so that it then plays back before the end of the previous one then the messages will probably no longer be valid. I raised it with Apple a few years ago, but they don't plan to do anything about it. I think not many people use NRPNs (although some hardware synthesizers, sound modules, etc. do), so presumably NRPNs aren't a very high priority for them. It isn't a problem in the MIDI protocol itself -- it's a problem in the way that some sequencers record and play MIDI NRPN messages.
Best regards, Martin.
Hauptwerk software designer/developer, Milan Digital Audio.