beautypg.com

Data packing (24-bit words to 4x7-bit bytes), Message data format, Voiceworks data request messages – TC-Helicon VoiceWorks Sysex Manual User Manual

Page 2

background image

Page

2

TC-Helicon Vocal Technologies

www.tc-helicon.com

Data Packing (24-bit words to 4x7-bit bytes)

The idea of packing data is to take a 24-bit value (the normal width of parameters in VoiceWorks)
and represent it as 4 bytes of 7 bits each. This is done because SYSEX data can only be 7 bits
in size. The first three bytes hold (in sequence) bits 0-6, 7-13 and 14-20 of the 24-bit value. The
fourth byte hold bits 21-23 of the 24-bit value as LSB’s with

zeros in the remaining bits.


Example:

If the value of a 24 bit parameter is 0x266, it would look like “66 04 00 00” in a SYSEX package.


This is decoded as follows:

SYSEX Data:

Byte1 66 hex = X1100110 (abcdefg)
Byte2 04 hex = X0000100 (hijklmn)
Byte3 0 hex = X0000000 (opqrstu)
Byte4 0 hex = X0000000 (****vwx)

Final 24Bit Value:

vwxopqrs tuhijklm nabcdefg
Total = 00000000 00000010 01100110
= 0x0 0x2 0x66
= 0x000266

Message data format

The format of the data used/needed in the different SysEx messages depends on the type of
message. Below are descriptions for each message type explaining data formatting.

SysEx

message

type

Identifier

VoiceWorks Request Preset

45

VoiceWorks Request Parameter

47

VoiceWorks Preset Data

20

VoiceWorks Parameter Data

22

VoiceWorks Request Shift Map

51

VoiceWorks Shift Map Data

31

VoiceWorks Request Song

14

VoiceWorks Request Setup

15

VoiceWorks

Song

Data

12

VoiceWorks

Setup

Data

13

VoiceWorks Preset Received Notification

34

VoiceWorks Data Request messages


Preset Request -

45

:

is 2 bytes representing the number of the preset requested. See above for description of
preset number representation. The data transmitted by VoiceWorks upon receiving this message
will be formatted as a Preset Data message (see below for complete description)