Jump to: navigation, search

Difference between revisions of "Kemper KPA External Control"

m (MIDI Sysex)
m (MIDI SysEx)
Line 409: Line 409:
 
# x bytes for the message (this is the device-specific part)
 
# x bytes for the message (this is the device-specific part)
 
# 0xF7 - SysEx End
 
# 0xF7 - SysEx End
 +
 +
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.

Revision as of 01:40, 7 February 2016

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.

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

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.

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
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.
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
33 0/1 0: Rotary Speaker slow; 1: Rotary Speaker fast
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:
    • Value 0, increase performance n to n+1 (bank up)
    • Value 1 initially increases performance by 1, after a timeout the Kemper Profiler starts to scroll performances upwards. Value 0 stops scrolling.
  • Browse Mode only: Value 0 selects the next Rig (current filter/sort applies), similar to “Rig Right”
49 1/0
  • Performance Mode only: Decrease performance index. Value triggers two different modes:
    • Value 0, increase performance n to n-1 (bank down)
    • Value 1 initially decreases performance index by 1, after a timeout the Kemper Profiler starts to scroll performances downwards. Value 0 stops scrolling.
  • 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

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. The exact specification is below:

  1. CC 99: Value is the Most significant Byte (MSB) of the desired address
  2. CC 98: Value is the Least Significant Byte (LSB) of the desired address
  3. CC 06: Value is the Most Significant Byte (MSB) of the desired value
  4. 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.

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 99:address MSB, 98:address LSB, 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.

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.

Address Type Parameter
MSB LSB
4 0 Rig Tempo
4 1 Rig Volume
4 2 Rig Tempo Enable
9 3 Input Noise Gate Intensity
9 4 Input Clean Sense
9 5 Input Distortion Sense
10 2 Amplifier On/Off
10 4 Amplifier Gain
10 6 Amplifier Definition
10 7 Amplifier Clarity
10 8 Amplifier Power Sagging
10 9 Amplifier Pick
10 10 Amplifier Compressor
10 11 Amplifier Tube Shape
10 12 Amplifier Tube Bias
10 15 Amplifier Direct Mix
11 2 EQ On/Off
11 4 EQ Bass
11 5 EQ Mids
11 6 EQ Treble
11 7 EQ Presence
12 2 Cabinet On/Off
12 3 Cabinet Volume
12 4 Cabinet High Shift
12 5 Cabinet Low Shift
12 6 Cabinet Character
50 0 Stomp A Type (see below)
50 3 Stomp A On/Off
50 4 Stomp A Mix
50 6 Stomp A Volume
50 7 Stomp A Stereo
50 8 Stomp A Wah Manual
50 9 Stomp A Wah Peak
50 10 Stomp A Wah Range
50 12 Stomp A Wah Pedal Mode
50 13 Stomp A Wah Touch Attack
50 14 Stomp A Wah Touch Release
50 15 Stomp A Wah Touch Boost
50 16 Stomp A Distortion/Shaper Drive
50 17 Stomp A Distortion/Booster Tone
50 18 Stomp A Compressor/Gate Intensity
50 19 Stomp A Compressor Attack
50 20 Stomp A Modulation Rate
50 21 Stomp A Modulation Depth
50 22 Stomp A Modulation Feedback
50 23 Stomp A Modulation Crossover
50 24 Stomp A Modulation HyperChorus Amount
50 25 Stomp A Modulation Manual
50 26 Stomp A Modulation Phase Peak Spread
50 27 Stomp A Modulation Stages
50 30 Stomp A Rotary Speed (slow/fast)
50 31 Stomp A Rotary Distance
50 32 Stomp A Rotary Balance
50 33 Stomp A Compressor Squash
50 34 Stomp A Graphic EQ Band 1
50 35 Stomp A Graphic EQ Band 2
50 36 Stomp A Graphic EQ Band 3
50 37 Stomp A Graphic EQ Band 4
50 38 Stomp A Graphic EQ Band 5
50 39 Stomp A Graphic EQ Band 6
50 40 Stomp A Graphic EQ Band 7
50 41 Stomp A Graphic EQ Band 8
50 42 Stomp A Parametric EQ Low Gain
50 43 Stomp A Parametric EQ Low Frequency
50 44 Stomp A Parametric EQ High Gain
50 45 Stomp A Parametric EQ High Frequency
50 46 Stomp A Parametric EQ Peak Gain
50 47 Stomp A Parametric EQ Peak Frequency
50 48 Stomp A Parametric EQ Peak Q
50 49 Stomp A Parametric EQ Peak 2 Gain
50 50 Stomp A Parametric EQ Peak 2 Frequency
50 51 Stomp A Parametric EQ Peak 2 Q
50 52 Stomp A Wah Peak Range
50 53 Stomp A Ducking
50 55 Stomp A Voice Mix
50 56 Stomp A Voice 1 Pitch
50 57 Stomp A Voice 2 Pitch
50 58 Stomp A Detune
50 60 Stomp A Smooth Chords
50 61 Stomp A Pure Tuning
50 64 Stomp A Key
51 * Stomp B Same as Stomp A
52 * Stomp C Same as Stomp A
53 * Stomp D Same as Stomp A
56 * Effect X Same as Stomp A
58 * Effect Mod Same as Stomp A
74 0 Delay Type (see below)
74 2 Delay On/Off (cuts tails)
74 3 Delay Mix
74 4 Delay Volume
74 5 Delay Time
74 6 Delay Ratio
74 7 Delay Clock Left
74 8 Delay Clock Right
74 9 Delay Feedback
74 10 Delay Bandwidth
74 11 Delay Frequency
74 12 Delay Modulation
74 13 Delay On/Off (keeps tails)
74 14 Delay Ducking
75 0 Reverb Type (see below)
75 2 Reverb On/Off (cuts tails)
75 3 Reverb Mix
75 4 Reverb Volume
75 5 Reverb Del/Rev Balance
75 6 Reverb Time
75 7 Reverb Damping
75 8 Reverb Bandwidth
75 9 Reverb Frequency
75 10 Reverb Pre-Delay
75 11 Reverb On/Off (keeps tails)
75 12 Reverb Ducking
127 0 System/Global Main Output Volume
127 1 System/Global Headphone Output Volume
127 2 System/Global Monitor Output Volume
127 3 System/Global Direct Output Volume
127 11 System/Global SPDIF Input Enable
127 12 System/Global Main Output EQ Bass
127 13 System/Global Main Output EQ Mids
127 14 System/Global Main Output EQ Treble
127 15 System/Global Main Output EQ Presence
127 17 System/Global Monitor Output EQ Bass
127 18 System/Global Monitor Output EQ Mids
127 19 System/Global Monitor Output EQ Treble
127 20 System/Global Monitor Output EQ Presence

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. 0xF0 - SysEx Start
  2. 3 bytes for Manufacturer ID
  3. 1 byte for product type
  4. 1 byte for device ID
  5. x bytes for the message (this is the device-specific part)
  6. 0xF7 - SysEx End

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.