8,720
edits
Changes
m
→MIDI SysEx
The x bytes above have a common scheme for Kemper SysEx messages, where the first byte is the function code. This is followed by an instance code, which is always 0x00. This is followed by the address, then the data. Depending on the function code, the address may be 2 bytes or 4 bytes, and the data can be variable length
{|class="wikitable"! Function Code !! Function !! Address Size !! Data Size!! Notes
|-
| 0x01 || Single Parameter Change || 2 bytes || 2 bytes || Same as doing an NRPN change
|-
| 0x02 || Multi Parameter Change || 2 bytes ||2n bytes || Address is the starting address; you can send as many pairs of data bytes as you want to change - each pair will write to the next address in sequence
|-
| 0x03 || String Parameter Change || 2 bytes ||n bytes + final 0x00 byte || Strings must have a final null (0x00) byte to terminate the string. String data is 1 byte per character, encoded as ASCII. String addresses overlap with parameter addresses.
|-
| 0x04 || BLOB Change || 2 bytes ||2 byte offset + 2 byte size + n byte data || Only a null (0x00) offset is currently supported. Not sure what this would be used for except overwriting amp/cab profile data?|- || 2 bytes || 0 bytes || returns the corresponding 0x01 SysEx message
|-
| 0x06 0x42 || Extended Multiple Parameter Change Request || 2 bytes || 0 bytes || returns the corresponding 0x02 SysEx message. May contain up to 128 values as byte pairs.
|-
| 0x070x43 || Extended String Change Request || 2 bytes || 0 bytes || returns the corresponding 0x03 SysEx message
|-
| 0x41 0x47 || Single Parameter Extended String Request || 5 bytes ||0 bytes || returns the corresponding 0x07 SysEx message, but may return the corresponding 0x03 message if the address is < 16,384
|-
| 0x42 0x7C || Multiple Request Parameter Request || |||-| 0x43 || as String Request || ||2 bytes |-| 0x47 2 bytes || Extender String Request || |||-| 0x7C || Request Parameter this returns an 0x3C response that otherwise matches a string response, but is the KPA's string representation of that parameter value. For instance, Delay Volume value 8,192 is the midpoint value, which displays in the KPA as String || ||"<0.0>".
|}
