Sysex in Decimal through Max

Forum for RD-700GX, RD-700NX and RD-800
Post Reply
Benjo26
Posts: 5
Joined: 18:41, 22 September 2016

Sysex in Decimal through Max

Post by Benjo26 »

Hi there,

I'm trying to control the harmonic drawbars of the tonewheel organ using sysex commands sent from Max.

This area is new to me so I started simple. The RD-800 MIDI implementation guide has an example sysex message that is supposed to change the live set delay type. [Implementation guide, p. 15]

This section concludes: "This means that F0 41 10 00 75 12 10 00 04 02 03 67 F7 is the message should be sent."

In Max, I created an sxformat object with those values as arguments (passed in as hex using the 0x prefix). I linked that to a midiout object directed at the RD, and I send a bang to the sxformat.

And the result? Nothing at all!

This has me well and truly stumped. Here are some observations / theories / possible fixes / rabbit holes I've been down so far:

(1) The hex string above is mysteriously missing a byte: According to p. 8 of the MIDI implementation guide, the RD-800 has a three-byte model ID (00 00 75).

(2) Sxformat immediately evaluates hex arguments to decimal: So, for example, passing in the third byte (device ID) as 0x10, it immediately changes to 16. This is interesting. On p. 55 of the RD-800 User Manual, there is a passing reference to sysex (the only one in the manual). It reads: "Make sure that the transmitting unit is set to Device ID number 17." At first that suggested to me that the hex should actually by 0x11. But some further Googling pointed out that since 0x00 is a distinct value, the device ID in hex is counted from 0. By contrast, the ID in decimal is counted from 1.

(3) It may be that other bytes of the sysex message are affected in this way. Ie their value in decimal is not a straightforward mathematical conversion of the hex. Could it be that I need to make these adjustments manually?

Even after tinkering with these ideas the RD wouldn't respond to the message.

So in a nutshell I guess I'm asking:

(A) When sending sysex to the RD using sxformat from Max, is it necessary to make adjustments to the decimal values based on whether a parameter is 0-counted in hex?
(B) If so, which values are affected in this way?
(C) Alternatively, is there a way of sending sysex out of Max in hex without decimal conversion? (I tried using the Lobjects 'lsx' object but couldn't get the library to work. It looks like other people have had the same experience.)
(D) As a last resort, is there another application that I should consider using to send sysex? (Bearing in mind that my end goal is to convert MIDI CC from a different controller to the sysex needed to control the RD's harmonic drawbars?)

Thank you!!!
LivingEdge
Posts: 31
Joined: 15:17, 1 September 2016

Re: Sysex in Decimal through Max

Post by LivingEdge »

I don't know if this will help or not:

Eddie's MIDI SysEx Tutorial
http://www.2writers.com/eddie/tutsysex.htm


edit: Could be a checksum issue.
Post Reply