From bruce@ashbysolutions.com Sat Dec 10 21:51:45 2005
Subject:Re: Where's the map?

Hi Greg,

>Bruce, has anyone ever been able to convert the sysEx from a Vk8m to
>use the drawbars to control another keyboard? It must dump the
>drawbars (in sequencer mode?) for sequencing uses, acording the the
>manual...

Yes, it can *probably* be done. I say, "probably," because while the MIDI implementation shows drawbar (registration) data, it isn't completely clear whether the messages will be acted on in real time, but I think that they can. The sticky part is that each Roland SysEx message needs a checksum, which must be calculated from the offset and data.

I know that MIDI Solutions gear can only handle checksums under limited conditions; however, since each drawbar only sends a value of 0-8, it's possible to set up a formula that creates the proper checksum data for this limited range. (Caution: serious base-16 math coming!) The VK8M's SysEx uses the format:

SysEx = F0 {Roland ID} {Device ID} {Model} {Command} {Offset} {Data} {Checksum} F7

So --

SysEx = F0 41 10 00 4D 12 10 00 10 00 00 cc F7 ----> 16' = 0
SysEx = F0 41 10 00 4D 12 10 00 10 00 01 dd F7 ----> 16' = 1
SysEx = F0 41 10 00 4D 12 10 00 10 00 02 ee F7 ----> 16' = 2
etc.

where cc, dd, ee = the checksum, which is different for each data value.

The checksum is calculated by adding the offset (10 00 10 00) and the data (00 in the first line), and subtracting that from 80h. In the first line, 80h - 20h = 60h, so "cc" is 60h (96). The checksum for 16' = 1 is one less, or 5Fh (95), for 16' = 2 is 5Eh (94), etc. Since there are only two changing bytes, and one is dependent on the other, it would work -- provide one never changes the Device ID. If you want more information on how to do this, please contact me offline.

----------
It's ironic that each manufacturer seems to go to great lengths to be compatible with other "siblings," but not with other manufacturers' gear:

Clavia, Korg, NI, Voce -- nine CC's per manual, which can be converted from one manufacturer to another -- albeit with occasional wrinkles. Each manufacturer's products work across generations (V3 with V5, CX-3 with BX-3, etc.)

Hammond-Suzuki -- one CC per manual. The format has been in place since the introduction of the XB-2 and XB-3, maybe even earlier.

Roland -- SysEx with checksum. This same method works on the VK-7 and others, although the specific SysEx is slightly different for each generation of product.

Regards,

-BW

--
Bruce Wahler
Design Consultant
Ashby Solutions™ http://consult.ashbysolutions.com
978.386.7389 voice/fax
bruce@ashbysolutions.com

[Non-text portions of this message have been removed]