TC-Helicon VoiceLive Sysex Manual User Manual
Voicelive midi system exclusive version 1.2, Hexadecimal notation, Voicelive sysex message format

Page 1
TC-Helicon Vocal Technologies
www.tc-helicon.com
TC-IVL
VoiceLive MIDI System Exclusive Version 1.2
Hexadecimal Notation
Many values in this document are presented in hexadecimal notation.
Hexadecimal numbers will be prefixed with “0x”.
Example:
Hexadecimal 0x123 = Decimal 291
Decimal 123 = Hexadecimal 0x7B
VoiceLive SYSEX message format:
0xF0
MIDI System exclusive message start
0x00
3 byte manufactors ID for TC-Helicon
0x01
...
0x38
...
System exclusive device ID (user parameter)
0x4E
VoiceLive model ID
VoiceLive message type identifier
Start of message data
...
Variable number of data bytes based on message type
0xF7
MIDI System exclusive message terminator
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 VoiceLive) 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 with zeros
in the remaining bits.
For example, If the value of a 24-bit parameter is 614 (0x266), it
would look like “0x66 0x04 0x00 0x00” in a SYSEX message.
Byte1 0x66 = binary X1100110 (abcdefg)
Byte2 0x04 = binary X0000100 (hijklmn)
Byte3 0x00 = binary X0000000 (opqrstu)
Byte4 0x00 = binary X0000000 (****vwx)
Final 24-Bit Value:
vwxopqrs tuhijklm nabcdefg
Total = 00000000 00000010 01100110
= 0x0 0x2 0x66 = 0x000266