logue-sdk icon indicating copy to clipboard operation
logue-sdk copied to clipboard

NTS-1 mkII: MIDI send/receive parameter values inconsistency

Open dukesrg opened this issue 7 months ago • 0 comments

The current MIDI CC/NRPN nadling implementation have inconsistencies. Just an example for OSC A MSB/LSB handling:

  1. OSC A LSB (CC102) sent before MSB (CC54) might be ignored, i.e. only the CC54 might be reflected in program dump afetr CC102/CC54 sequence. The CC54/CC102 sequence seems to work consisnent in that term. It should be fixed or reflected in MIDI implementation document similar to *2-1
  2. The valies itself are inconsistent: for the OSC A with 0....16363 range (changeing the range to 0...1023 change nothing) in the header parameter definition, sending 0...1023 in higher 10 bits of 14-bit CC54/CC102 qill result in the following OSC A valie in program dump:
  • 0...512 - values are in par
  • 513-1023 - values are 1 less, except of the next:
  • 522 and every 8th up to 1018 are 9 less
  • setting lower 4 bits of LSB (CC102) just changes the reusult just only for 1023

The result is reproducible, test result sheet available here: https://docs.google.com/spreadsheets/d/1xZaxXdUIRua6vdT9HF-SRPVPFKR3oh125u0vGNMLQ0g/edit?usp=sharing

UPD; all of the above is applicable to Param NRPN's as well. I.e.

  • despite of the *2-1, sending CC38 0, CC6 0 and got 7 in the dump from the last CC38 value
  • header parameter range definition affects the dump value, but the 14-bit CC value is decimated to 10-bits. For both 0...16383 and 0...1023 p.2 of the above is also the case.

dukesrg avatar Jul 10 '24 09:07 dukesrg