Changes

Kemper KPA External Control

462 bytes added, 19:14, 7 February 2016
m
MIDI SysEx
# x bytes for the message (this is the device-specific part)
# 0xF7 - SysEx End
 
Example: F0-00-20-33-02-7F-...-F7, where ... is variable.
The Kemper MIDI SysEx protocol gets pretty intense, and I'll leave it to those interested to refer to the [http://www.kemper-amps.com/page/render/lang/en/p/170/id/27/cat/30/do/Kemper_Profiling_Amplifier___Downloads.html Kemper MIDI documentation]. For most users, SysEx will never be necessary. Where this really comes in handy is for software programs that want to communicate with KPA via MIDI. The big items that SysEx offer beyond NRPN above are string manipulation and requesting parameter values from the KPA. These would allow a program to act as an editor, or an advanced floorboard to maintain two-way communication with the KPA, displaying the KPA's current values and keeping on/off states in sync.
| 0x01 || Single Parameter Change || 2 bytes || 2 bytes || Same as doing an NRPN change || F0-00-20-33-02-7F-01-00-4A-04-40-00-F7
|-
| 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|| F0-00-20-33-02-7F-02-00-4A-00-00-03-00-01-00-01-4C-4F-..-..-F7
|-
| 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.|| F0-00-20-33-02-7F-03-00-00-01-48-65-6C-6C-6F-00-F7
|-
| 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?
| 0x07 || Extended String Change || 5 bytes || n bytes + 0x00 End Byte || Same as 0x03 but uses 5 bytes for address
|-
| 0x41 || Single Parameter Request || 2 bytes || 0 bytes || returns the corresponding 0x01 SysEx message|| F0-00-20-33-02-7F-41-00-4A-04-F7
|-
| 0x42 || Multiple Parameter Request || 2 bytes || 0 bytes || returns the corresponding 0x02 SysEx message. May contain up to 128 values as byte pairs.|| F0-00-20-33-02-7F-42-00-4A-00-F7
|-
| 0x43 || String Request || 2 bytes || 0 bytes || returns the corresponding 0x03 SysEx message|| F0-00-20-33-02-7F-43-00-00-01-F7
|-
| 0x47 || 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
|-
| 0x7C || Request Parameter as String || 2 bytes || 2 bytes || this returns an 0x3C response that otherwise matches a the request, plus the string response after the 2 byte data portion. The 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 "<0.0>".|| F0-00-20-33-02-7F-7C-00-4A-04-40-00-F7 returns F0-00-20-33-02-7F-3C-00-4A-04-40-00-3C-30-2E-30-3E-00-F7
|}