Kemper KPA External Control
The KPA has extensive, intuitive support for external controllers, and some products are made specifically for control of the KPA. The three main types of control are analog expression pedals/footswitches, MIDI, and the Kemper Remote.
Contents
Expression Pedals
The KPA has 2 stereo jacks on the back of the unit that can be connected to expression pedals or footswitches. Expression pedals should be stereo and connected with a stereo cable. Footswitches can be mono or stereo. Additionally, up to 4 expression pedals can be connected to the Kemper Remote.
System Menu Settings
Pages 5-10 cover how expression pedals behave. Pedals 1 and 2 cover the two inputs on the back of the KPA, while Pedals 3-6 refer to inputs on the official Kemper remote. The setup done here is simply mapping the pedal's anolog input to that appropriate MIDI CC # (1 for wah wah, 7 for volume, 4 for pitch, and 73 for monitor volume).
Note: if you only have one expression pedal, you can still use it to control wah, volume, and pitch with some additional MIDI setup below. You should set it to CC# 1 (Wah Wah). The KPA is actually very smart about this, and you don't really ever need more than one expression pedal, unless you like to have dedicated pedals, or have your wah/pitch with a spring in it to push it back to heel position, or do some crazy stuff where you jump between pedals.
Pedal Type refers to the polarity of the expression pedal - type 1 is the normal type (Roland), while type 2 is reversed (Yamaha).
This is also where you would come to calibrate a new pedal, or after updating your KPA's firmware/OS. You simply press the button then do a full sweep. Be sure to calibrate any pedal that you add to the KPA or after you update the KPA's firmware/OS.
MIDI Assignments and Settings
Page 14 has some checkbox settings for allowing an expression pedal that was set to Wah Wah on pages 5-10 or MIDI CC 1 to also control volume or pitch-shifting, when not being used for a wah wah effect. It also has settings for sending the KPA's MIDI clock to external devices and setting the MIDI global channel (omni by default). And you can also see the current MIDI CC values for 4 of the most likely used CC's, controlling modulation, pitch, volume, and monitor volume.
Note, if you link a wah pedal to volume, when you disable a wah effect on a rig, the pedal will not begin to control volume until you put it fully in the toe position - this prevents a jump in volume if your wah pedal is not in toe position when you turn it off. Similarly, if wah is linked to pitch, when you disable wah/enable pitch, the pedal will not begin to affect the pitch until it is brought fully to the heel position, again to prevent the pitch jumping on the transition.
Rig Menu Volume Pedal Settings
Page 5 of the Rig menu has some settings specific to using an expression pedal for volume control.
- Lock Vol. Pedal - this setting will lock the current volume pedal settings below to apply to all rigs
- Wah Pedal to Vol. - this is a rig-level override of the System Menu page 14 pedal linking option above
- Location - this refers to a volume pedal's placement in the signal chain. Since a dedicated volume pedal doesn't require an effect slot like wah wah or pitch (whammy), you use this parameter to set where it should affect the signal.
- Range - this refers to whether the volume pedal should boost when moving from heel position to toe position (when set to right of center) or cut when moving from toe to heel position (when set left of center)
Analog Footswitches
The Kemper also supports analog mono and stereo momentary footswitches. They are set up the similarly to expression pedals on pages 5-6 of the System menu. The difference is instead of being mapped to wah wah, volume, pitch, and monitor volume, it can be assigned to enable/disable any of the sections or blocks in the signal chain, as well switch to tuner, tap in the tap tempo, and switch to the previous or next rig. In the case of a stereo/dual footswitch, each one can be independently assigned to different parameters.
Using a MIDI Footcontroller
For more on MIDI foot controllers in general, see Foot Controllers. MIDI foot controllers typically feature a number of footswitches and often have multiple expression pedals. Depending on their nature, they may support some features in the MIDI spec or not. They are typically programmable to some nature, but often within predefined boundaries. Some can be programmed directly from the footswitches, while others require being connected to a PC editor. Below are the settings on the Kemper as well as the ways you'll have to program your controller to work with the Kemper.
System Menu Settings
While in Browser mode, page 12 allows you to assign the current rig to a MIDI Program Change number, as well as view all the MIDI assignments. Note, these are only for Browser mode, not performance mode, where more than MIDI bank of 128 rigs each can be assigned.
While in Performance mode, page 13 allows assigning external devices to the MIDI Out and Thru ports, as well as giving them device names, and specifying which channels the Kemper should use to communicate with them.
Behringer FCB1010
A popular foot controller for the Kemper is the Behringer FCB1010. Its layout lines up fairly closely with the KPA's performance slots, has two expression pedals, and can be found for a relatively cheap price.
The FCB1010 can also easily be modified to use alternative firmware. There are 4 possible firmwares you can use:
Factory | UnO | UnO4Kemper | Eureka | |
---|---|---|---|---|
Advantages |
|
|
|
|
Disadvantages |
|
|
|
|
UnO4Kemper
The UnO4Kemper firmware is an unofficial firmware for the FCB1010 made by a 3rd party author. It comes on an EPROM chip that can be switched out for the factory chip after opening the FCB1010 up.
This firmware will instantly turn your FCB1010 into a dedicated Kemper controller. The main advantage of this chip is it is as plug and play as you will find to get a working pedalboard for the Kemper, other than the official Kemper Remote. The bad part is that it makes the FCB1010 only work with the Kemper and you cannot do advanced customization of how the controller operates (such as assigning multiple effects to toggle on a single button). Also, if Kemper updates the KPA software to add new features, there is no method to update your current UnO4Kemper chip to support those features - you will have to purchase a new chip once the UnO4Kemper firmware is updated to support the feature.
The full list of features is found in the manual.
- Bank (Performance) Up/Down
- One row of buttons is used for rig selection and the other for toggling effects on/off
- The rows' functions can be swapped.
- Available effects/functions are A-D, X, Mod, Delay, Reverb, change rotary speaker effect speed, tap tempo, and display tuner
- Each effect toggle footswitch can be assigned to any 1 of those effects/functions.
- One expression pedal controls CC 1 (wah wah) and the other CC 7 (volume). These can be swapped.
- Expression pedals can each be configured to use 1 out of 5 possible sweep curves.
- 2-way communication with KPA using 2nd MIDI cable. Keeps footswitch LEDs in sync with KPA effects when switching rigs.
- Can display KPA tuner on FCB1010
- Can use KPA Beat Scanner function for tempo
- Force KPA to enter Browse Mode or Performance Mode
Other MIDI Foot Controllers
As you'll see below, the KPA provides extensive MIDI capabilities; basically any MIDI controller can get something out of it, while expensive, powerful controllers can do just about anything you can do by touching the KPA's buttons and knobs. How far you want to take your amount of control depends on what you want to do.
While I do not want to take up a lot of space discussing the capabilities and quirks of numerous footcontrollers, wikpa.org does a good job on this subject.
MIDI Programming Reference
This section contains reference material for controlling the KPA by MIDI PC (Program Change), CC (Continuous Control), NRPN (Non-registered Parameter Numbers), or SysEx (System Exclusive) messages. These go from least to most complicated, and similarly most to least supported.
MIDI Program Change
Up to 128 rigs can be assigned PC numbers in Browse Mode from a page in the system menu - you can also see all the rigs assigned to PC's here.
In Performance Mode, each performance/slot is automatically assigned a PC number based on the order of performances, and slots within each performance. Even disabled slots are assigned a PC #. Notice this only allows about 25 of the 125 performances (or 128 of the 625 slots) available. If you need to access more, you can use a MIDI bank select command before the program change, which is implemented as MIDI CC #0 for the most significant byte (MSB) and #32 for the least significant byte (LSB). While bank selects typically use 2 MIDI bytes, the KPA only requires a range of 0-4 to access all slots via PC. It will ignore any CC #0 bank select MSB messages. CC 32 can be used by itself to change which rigs the KPA accesses via PC. Sending a value of 0 over CC 32 accesses the first 128 slots (performance 1 slot 1 - performance 26 slot 3), CC 32 value 1 accesses the next 128 (performance 26 slot 4 - performance 52 slot 1), etc. up to a max of CC 32 value 4, which will put PC access beyond the available 625 rigs.
Note - it is recommended to use CC's 48-49 (or 47) for selecting performances, then using CC's 50-54 to select which slot to load. This aligns both with the KPA's performance/slot organization and with footcontrollers that typically feature bank up/down switches as well as a row of switches to change patches/rigs. There's no need to use complicated math to try to figure out which PC or bank select index is required to load a particular performance/slot.
MIDI Continuous Control
The KPA responds to a number of MIDI CC messages. These are enough for generic MIDI foot controllers to perform normal functionality. You can change cycle through rigs in Browse mode, and bank up/down and select any of the 5 rigs assigned to the slots in Performance mode. You can turn on/off any of the 8 effects, tap tempo, display the tuner, and switch the rotary speaker effect's speed. In addition to the expression pedal functions above of controlling wah wah, pitch, volume, and monitor volume, one could be used to control delay/reverb mix and feedback/time, as well as amplifier gain.
CC # | Valid Values | What it controls |
---|---|---|
0 | N/A | Bank Select MSB - ignored |
1 | x | Wah Wah position on any enabled wah wah effect. Volume if "wah to volume" linking is checked and all wah wah effects are disabled or not present on current rig. Pitch if "wah to pitch" linking is checked and all wah wah effects are disabled or not present on current rig. |
4 | x | Pitch position for Pedal Pitch or Pedal Vinyl Stop effects |
6 | N/A | Part of an NRPN message; see MIDI NRPN below |
7 | x | Volume - controls the volume of the rig as specified per rig in the Rig Menu page 5. |
11 | x | Morph - controls any parameters set to be controlled by morphing. |
16 | Any | Toggles all stomps on/off |
17 | 0/1 | 0: Stomp A Off; 1: Stomp A On |
18 | 0/1 | 0: Stomp B Off; 1: Stomp B On |
19 | 0/1 | 0: Stomp C Off; 1: Stomp C On |
20 | 0/1 | 0: Stomp D Off; 1: Stomp D On |
22 | 0/1 | 0: Effect X Off; 1: Effect X On |
24 | 0/1 | 0: Effect Mod Off; 1: Effect Mod On |
26 | 0/1 | 0: Delay Off; 1: Delay On |
27 | 0/1 | 0: Delay Off (with tail); 1: Delay On |
28 | 0/1 | 0: Reverb Off; 1: Reverb On |
29 | 0/1 | 0: Reverb Off (with tail); 1: Reverb On |
30 | 1/0 | Sets Tempo Tap If your floorboard supports separate events on “pressing” and “releasing” a button, send 1 when “pressed” and 0 when “released”. If the floorboard can only send one event, use value 0. When value 1 has been sent and no value 0 for 3 seconds, the Beat Scanner1 is being activated. |
31 | 1/0 | 1: Show Tuner; 0: Hide Tuner |
32 | [0,4] | Bank Select LSB - changes which set of 128 performance slots are available via PC messages in Performance Mode.
|
33 | 0/1 | 0: Rotary Speaker slow; 1: Rotary Speaker fast |
34 | 0/1 | 0: Delay Feedback Infinity Off; 1: Delay Feedback Infinity On |
35 | 0/1 | 0: Delay Hold Off; 1: Delay Hold On |
38 | N/A | Part of an NRPN message; see MIDI NRPN below |
47 | [0,124] | (Performance Mode only) Directly select a performance index. The performance will be loaded when a slot selection is sent (CC50-54). If no slot is selected, the performance index selection is disabled after a few seconds. When disabled, the KPA sends the current performance index and slot back to the device. This can be used to keep the MIDI controller and KPA in sync. |
48 | 1/0 | Performance Mode: Increases performance index. Value triggers two different modes:
Browse Mode only: Value 0 selects the next Rig (current filter/sort applies), similar to “Rig Right” |
49 | 1/0 | Performance Mode: Decreases performance index. Value triggers two different modes:
Browse Mode only: Value 0 selects the previous Rig (current filter/sort applies), similar to “Rig Left” |
50 | 1 | (Performance Mode only) Select Slot 1 of current performance. |
51 | 1 | (Performance Mode only) Select Slot 2 of current performance. |
52 | 1 | (Performance Mode only) Select Slot 3 of current performance. |
53 | 1 | (Performance Mode only) Select Slot 4 of current performance. |
54 | 1 | (Performance Mode only) Select Slot 5 of current performance. |
68 | x | Sets Delay Mix to x |
69 | x | Sets Delay Feedback to x |
70 | x | Sets Reverb Mix to x |
71 | x | Sets Reverb Time to x |
72 | x | Sets Amplifier Gain to x |
73 | x | Sets Monitor Volume to x |
98 | N/A | Part of an NRPN message; see MIDI NRPN below |
99 | N/A | Part of an NRPN message; see MIDI NRPN below |
119 | N/A | Part of an NRPN message; see MIDI NRPN below |
* Changing the Performance may or may not load a slot instantly depending on the Perf. Load System Menu setting.
Most foot controllers support some form of programming what each footswitch will send, and if the footswitch should toggle its value. For example, if you assign FS1 to turn Stomp A on/off, you should be able to set FS1 to light up after pressing it (and it sends a 1 (on) value, indicating you've turned it on. Now if you press it again, the light turns off, and it sends a 0 (off) value.
This brings up a curious issue. If you change rigs where Stomp A is on when the rig is loaded, how does the MIDI footcontroller know what state to set FS1? The footcontroller itself must store a set of rigs containing the default on/off state of each footswitch, matching the corresponding rigs in the KPA.
MIDI CC is the most widely supported part of the MIDI protocol by various MIDI footcontrollers; however, you will notice that there are hundreds of parameters for dozens of effects, as well as the amp, cab, input, output, and tonestack blocks that are not able to be controlled via CC, given the list above. MIDI CC supports 7-bits for the CC channel number and 7-bits for the value, meaning a maximum of 128 parameters can be controlled with only 0-127 distinct values to communicate. The MIDI specification gives 2 ways to deal with this: NPRN and Sysex.
MIDI NRPN
NRPN (Non-registered Parameter Numbers) uses a set of 4 different CC messages to exponentially increase both the size of possible addresses and values that a device can send/receive. Since each CC message can carry a value from 0-128, NRPN addresses and values each have a range of 128 x 128, which is 16,384. The exact specification is below:
- CC 99: Value is the Most significant Byte (MSB) of the desired address
- CC 98: Value is the Least Significant Byte (LSB) of the desired address
- CC 06: Value is the Most Significant Byte (MSB) of the desired value
- CC 38: Value is the Least Significant Byte (LSB) of the desired value
While the NRPN spec allows CC 38 to be optional, the KPA requires it. The 4 CC's named above must be received in order, and the NRPN message is processed as soon as CC 38 is received. Once an address has been selected via CC's 99 and 98, multiple values can be sent without sending 99/98 each time to reselect the address - only 06/38 needs to be sent. That is useful to know if you want to program NRPN to "move" a single parameter over time.
Some footcontrollers support NRPN 14-bit addressing but not 14-bit values via CC's 06 and 38. The KPA allows CC 119 to send the value in this case. So the footcontroller can be programmed to send an NRPN as follows:
- CC 99: address MSB
- CC 98: address LSB
- CC 119: 7-bit value
The 7-bit value is mapped to the appropriate 14-bit value - 128 becomes 16,384, 64 becomes 8,192, while 0 remains 0.
|
|
MIDI SysEx
MIDI also has the ability to send SysEx (System Exclusive) messages. SysEx messages are proprietary protocols that each manufacturer can create for each of their devices. They use a common beginning and ending indicators, as well as manufacturer and device identifiers, so that devices that cannot interpret them know to ignore the message; and they can be incorporated into streams of MIDI messages between lots of devices in a MIDI ring without causing chaos.
The SysEx common format is:
- 1 byte for SysEx Start (
0xF0
) - 3 bytes for Manufacturer ID (
0x002033
for Kemper) - 1 byte for product type (
0x02
for Kemper Profiling Amp) - 1 byte for device ID (
0x7F
for Omni) - x bytes for the message (this is the device-specific part)
- 1 byte for SysEx End (
0xF7
)
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 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.
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. The 2 byte addresses use the NRPN addresses above. I am not sure what the extended addresses referenced below are - the MIDI documentation does not list any. Similarly, all 2 byte values use integer values of 0 - 16,384 for min to max, although this may correspond to different display values on the KPA (for instance, a value of 0 might be "-5.0", 8,192 might be "<0.0>", and 16,384 would be "+5.0" - this depends on what the parameter actually is). Strings use single byte characters encoded using ASCII.
I am not sure what the addresses for the string values are, but the documentation does say that the numeric settings' addresses overlap with the strings. So, to get all the tags for an Amplifier profile, I would imagine you'd use the first address for Amplifier parameters listed in the NRPN reference above, and iterate +1 for all available tags. However, from my research, this does not match how the tags are structured in the .kipr files when they are saved.
Function Code | Function | Address Size | Data Size | Notes | Example |
---|---|---|---|---|---|
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 Addr Data |
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-..-..- F7 Addr Data1 Data2 ... |
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 H e l l o |
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? | |
0x06 | Extended Parameter Change | 5 bytes | 2n bytes | Same as 0x02 but uses 5 bytes for address | |
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 Addr |
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 Addr |
0x43 | String Request | 2 bytes | 0 bytes | returns the corresponding 0x03 SysEx message | F0-00-20-33-02-7F- 43-00-00-01- F7 Addr |
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 the request, plus the string response after the 2 byte data portion. The string response 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 Addr Data returns F0-00-20-33-02-7F- 3C-00-4A-04-40-00-3C-30-2E-30-3E-00- F7 < 0 . 0 > |
Kemper Remote
The Kemper Remote is the official foot controller for the KPA. It connects via the LAN port on the back of the KPA, supporting 2-way communication as well as power over a single cable. It features 14 footswitches (2 for bank/performance up/down, 5 for performance slots, 4 for toggling effects on/off, a tap tempo, a tuner, and a looper). Up to 4 expression pedals can be connected directly to the Remote.
Each effect footswitch can be assigned to toggle on/off up to 4 effects, and what each footswitch controls is saved per rig.
Currently, the Remote is the only foot controller capable of accessing the KPA's looper although there are plans to incorporate access into general MIDI access.
I don't actually have a Kemper Remote, so if I'm missing functionality that creates an advantage over other foot controllers, add it here please.
DAW
DAWs can either directly or through plug-ins send the MIDI messages needed to have near full control of the Kemper. They will not be limited strictly to CC's or NRPN - using SysEx, the full parameter list to the KPA is open. Alternatively, you could simply send the CC values you want to control. Volume is actually the least necessary parameter - you can more easily control the volume of tracks inside your DAW. EQ perhaps as well. Compression may also have better options in the DAW. Delay, Reverb, and Mod effects is up to you. Things like Gain or rig changes would be things you'd need to access this way. With automated rig changing, you could set up all the changes necessary for a whole song, or even an entire setlist.
Morphing
OS 4.0 introduces Morphing, a feature where any continuous parameter can be defined the following:
- a base value
- a morphed value
- a rise time*
- a descend time*
* these affect triggering morphing from a footswitch
On pages 5-10 of the System Menu, expression pedals and footswitches can be assigned the morphing feature. It can also be easily assigned to any effect button for the Kemper Remote.
Multiple (any or all) continuous parameters, including those in the Amp and Cab blocks can be assigned a morph value. While some view this feature as a multiple-parameter gimmick, if nothing else it allows continuous control over any continuous parameter, greatly expanding the out the box functionality of any expression pedal. Morph values can be set higher or lower than the base value. The expression pedal heel position corresponds to the base value, and the toe position the morphed value.
The morphing procedure with a "morph" pedal connected is to rock the pedal towards the toe position before changing a value. When you change the value, you'll see an "M" appear next to it, so you know this is the full morph value (toe position). If not using a pedal, tap the Rig button. It has a bottom LED and top LED - the LEDs switch when Rig is tapped. The bottom is the base value, and the top is the morphed. So press Rig until the bottom LED is on; set your base parameters; then press Rig so the top LED is on and set your morph parameters. That's all there is to it. The assigned morph pedals or switches will now control those parameters.
Morph settings are saved per rig. To erase a morph for a given parameter, either reset the morph value to match the base value, or sweep the base value through the range of the morph value (if base is 1.0 and morph is 4.0, sweeping the base value from < 1.0 to > 4.0 will clear the morph entirely).