KEMPER PROFILER MIDI Parameter Documentation 11.0
KEMPER PROFILER MIDI Parameter Documentation 11.0
Legal Notice
This manual, as well as the software and hardware described in it, is furnished under license and may be used or
copied only in accordance with the terms of such license. The content of this manual is furnished for informational
use only, is subject to change without notice and should not be construed as a commitment by Kemper GmbH.
Kemper GmbH assumes no responsibility or liability for any errors or inaccuracies that may appear in this book.
Except as permitted by such license, no part of this publication may be reproduced, stored in a retrieval system, or
transmitted in any form or by any means, electronic, mechanical, recording, by smoke signals or otherwise without
the prior written permission of Kemper GmbH.
Table of Content
Legal Notice 2
Table of Content 3
List of Tables 6
Introduction 7
MIDI Commands 8
Continuous Controllers 8
Switches 9
NRPN Definition 12
Examples 13
Parameter List 16
Rig Settings (Address Page 4 ($04 hex)) 16
Input Section (Address Page 9 ($09 hex)) 16
Amplifier (Address Page 10 ($0A hex)) 17
Amplifier Equalizer (Address Page 11 ($0B hex)) 17
Cabinet (Address Page 12 ($0C hex)) 18
Table of Content 4
SYSEX Definition 28
General Message Layout 28
Single Parameter Change 30
Multi Parameter Change 31
Morphed Multi Parameter Change 32
String Parameter Change 33
BLOB Parameter Change 34
Extended Parameter/Extended String Parameter Change 35
Request Single Parameter 36
Request Multi Parameter 37
Request String Parameter 38
Request Extended String Parameter 38
Request Parameter Value as Rendered String 39
Table of Content 5
List of Tables
Table 1: MIDI CC continuous controllers ................................................................................8
Table 2: MIDI CC switches ...................................................................................................11
Table 3: Example communication for Performance Mode preselection ...... Fehler! Textmarke
nicht definiert.
Table 4: NRPN controller assignments .................................................................................12
Table 5: structure of a KEMPER PROFILER SYSEX message ............................................28
Table 6: function codes for KEMPER PROFILER SYSEX messages ...................................29
Table 7: message part for single parameter change .............................................................30
Table 8: message part for a multi parameter change ............................................................31
Table 9: message part for a morphed multi parameter change .............................................32
Table 10: message part for a string parameter change .........................................................33
Table 11: message part for a BLOB parameter ....................................................................34
Table 12: message part for a single parameter request ........................................................36
Table 13: message part for a multi parameter request ..........................................................37
Table 14: message part for a string parameter request ........................................................38
Table 15: message part for a string render request ..............................................................39
Table 16: ASCII characters allowed in tags ..........................................................................40
Table 17: Effect Type values ................................................................................................43
Introduction 7
Introduction
This document reflects the state of KEMPER PROFILER™ OS version 11 or higher.
The PROFILER features more than 800 parameters – far more than can be addressed by a standard MIDI controller
message, where only 128 parameters can be reached. Therefore, the PROFILER supports the NRPN (Non -
Registered Parameter Numbers) protocol in addition to the proprietary SYSEX protocol.
However, for the most used functions, there are also MIDI commands with the standard controller range.
The PROFILER Player™ supports a subset of these controllers corresponding to its feature set.
MIDI Commands 8
MIDI Commands
The PROFILER supports several simple MIDI Control Change (CC) commands that can be sent from third-party
MIDI-devices, to control effects and load Slots in Performance Mode.
Continuous Controllers
CC # Remarks
1 Wah Pedal
4 Pitch Pedal
7 Volume Pedal
10 Panorama
11 Morph Pedal
68 Delay Mix
69 Delay Feedback
70 Reverb Mix
71 Reverb Time
72 Gain
Switches
CC # Value Remarks
16 any toggles all modules A-REV between on and off state
17 1/0 1: module A on
0: module A off
18 1/0 1: module B on
0: module B off
19 1/0 1: module C on
0: module C off
20 1/0 1: module D on
0: module D off
22 1/0 1: module X on
0: module X off
24 1/0 1: module MOD on
0: module MOD off
26 1/0 1: module DLY on
0: module DLY off (without spillover)
27 1/0 1: module DLY on
0: module DLY off (with spillover)
28 1/0 1: module REV on
0: module REV off (without spillover)
29 1/0 1: module REV on
0: module REV off (with spillover)
30 1/0 any value triggers TAP tempo
1: activates Beat Scanner
0: deactivates Beat Scanner
If your floorboard supports separate events on “pressing” and “releasing” a button, send 1
when “pressing” and 0 when “releasing”. If the floorboard can only send one event, use value
0.
When value 1 has been sent and no value 0 follows for 3 seconds, the Beat Scanner gets
activated automatically.
31 1/0 1: open Tuner Mode
0: close Tuner Mode
MIDI Commands 10
52 1 Performance Mode
loads Slot 3 of current Performance
Browser Mode
selects 3rd out of current 5 Rigs in list
53 1 Performance Mode
loads Slot 4 of current Performance
Browser Mode only
selects 4th out of current 5 Rigs in list
54 1 Performance Mode
loads Slot 5 of current Performance
Browser Mode
selects 5th out of current 5 Rigs in list
75-78 1/0 emulate Effect Buttons I-IIII physically available at PROFLER Stage and Remote
80 1/0 emulates Morph button
1: triggers ramp to Morph Sound (Rise Time)
0: triggers ramp to Base Sound (Fall Time)
NRPN Definition
NRPN supports 128 x 128 different parameters (which rounds up to an impressive total of 16384 parameters).
NRPN also supports a parameter resolution of 16384 values (14-bit) compared to only 128 values (7-bit) with regular
controller messages.
NRPN messages consist of a set of four controllers, sent in sequence. These four controllers are:
The MIDI specification requests that a manufacturer decides if the devices understand 7-bit or 14-bit values. All
NRPN controllers in the PROFILER are, by definition, 14-bit value controllers, so you’ll need to send both MSB
Control Change (or CC) 06 and CC38, in that order, to apply a change. The actual value will be set once CC38 has
been received. The PROFILER keeps the address selection present. So, if a pair of CC98+CC99 has been
transmitted, it does not need to be sent again for a further value change on the same parameter.
To support generic, programmable floorboards/controllers that only support 7-bit values, PROFILER OS version
2.0.0 introduces CC119 ($77 hex) to send a simple 7-bit value change instead of CC06 and CC38 combo. In this
case, the values are mapped internally to the correspondent 14-bit value (e.g. value 127 is internally 16383, 64 is
internally 8192).
NRPN Definition 13
Examples
The parameter “Mix” of for example a Wah Wah effect in module A is at NRPN MSB (“address page”) 50 ($32 hex)
and LSB (“address number”) 4 ($04 hex).
To send a 14-bit high resolution value to 10000 of 16383, which displays as Mix at “61 %”:
$B0 $63 $32
$B0 $62 $04
$B0 $06 $4E
$B0 $26 $10
So, why $4E and $10? Because 10000 is 10011100010000 bin and:
Sending a 7-bit low resolution value to 100 of 127 ($64 hex), which displays as Mix at “78 %”:
$B0 $63 $32
$B0 $62 $04
$B0 $77 $64
$B0 is the MIDI start byte for controllers at MIDI channel 1. You may use “running status” transmissions.
The PROFILER will listen to the MIDI channel that is set as the “MIDI Global Channel” in “System Settings”. The
standard setting is “OMNI”, saying it responds to every channel1.
1
When set to OMNI, make sure the floorboard only sends on one channel. Some floorboards send 16 program
changes (one to each channel) which causes 16 real Rig switches then which might lag the PROFILER a bit.
MIDI Channel vs. Instance 14
Parameter Types
There are two types of parameters in the PROFILER with the following properties:
• These will be smoothed upon reception of multiple continuous values. Thus, high resolution (14-bit) values are
not necessary for a smooth parameter movement - only for accurate target values.
• Values out of range will activate the highest value in the range but should not be used due to future
compatibility.
• Switches are “off” at the value 0 (zero) and “on” at value 1 (one).
• If a 14-bit value is being used to set a controller to “On”, then the MSB byte is $00, the LSB byte is $01.
Parameter List 16
Parameter List
1 Rig Volume
2 Tempo Enable
3 Panorama
74 DLY+REV Routing
4 Clean Sense
5 Distortion Sense
Parameter List 17
2 On/Off
3 Amp Volume
4 Gain
5 Clean Compensation
6 Definition
7 Clarity
8 Power Sagging
9 Pick
10 Compressor
11 Tube Shape
12 Tube Bias
15 Direct Mix
5 Middle
6 Treble
7 Presence
8 Position: Pre/Post
Parameter List 18
4 High Shift
5 Low Shift
6 Character
7 Pure Cabinet
8 KEMPER Kone Imprint Select values 0 - 18 Speaker Imprints™ in selection order, 126 Full-Range, 127 Global
Imprint
9 Low Cut
10 High Cut
3 On/Off
4 Mix
6 Volume
7 Stereo
9 Wah Peak
18 KEMPER Fuzz Octa / Compressor Intensity / Noise Gate Threshold / Auto Swell Compressor
20 KEMPER Fuzz Transistor Shape / Modulation Rate / Auto Swell / Widener Tune
21 KEMPER Drive Definition / KEMPER Fuzz Transistor Tone / Modulation Depth / Micro Pitch Detune / Double
Tracker Looseness / Widener Intensity
23 KEMPER Drive Slim Down / KEMPER Fuzz Definition / Modulation Crossover / Octaver Low Cut
26 Modulation Peak Spread / Wah Phaser Peak Spread / Reverb Formant Peak
31 Rotary Distance
32 Rotary Low-High-Balance
34 Graphic EQ Gain 80 Hz
53 Ducking
54 Mix 2 (Pitch Mix / Octaver Mix / Delay Mix Serial / Crystal Mix / Space Intensity)
56 Voice 1 Pitch / Toe Pitch / Transpose Pitch / Quad Delay Voice Pitch 4 / Delay Crystal 1 Pitch
57 Voice 2 Pitch / Heel Pitch / Quad Delay Voice Pitch 3 / Wah Formant Pitch Shift / Delay Crystal 2 Pitch
60 Smooth Chords
61 Pure Tuning
71 Delay Time / Delay 1 Time / Reverb Room Size / Reverb Attack Time / Spring Reverb Spring Size
Parameter List 21
73 Delay 2 Ratio / Quad Delay Delay 3 Ratio / Rate Flanger Oneway / Phaser Oneway
77 Delay Note Value 2 / Quad Delay Note Value 3 / Reverb Predelay Note Value
81 Delay Volume 4
82 Delay Volume 3
83 Delay Volume 2
84 Delay Volume 1
85 Delay Panorama 4
86 Delay Panorama 3
87 Delay Panorama 2
88 Delay Panorama 1
90 Voice Pitch 1
94 Infinity Feedback
95 Infinity
96 Feedback 2 / Feedback Serial / Reverb Low Boost / Echo Reverb Feedback / Ionosphere Reverb Buildup
99 Delay High Cut / Reverb High Decay / Reverb High Damp / KEMPER Fuzz True Impedance at PROFILER Stage
100 Delay Cut More / Equalizer Steep High / Full OC HP/LP / upper and lower effect loop at PROFILER Stage
104 Delay Flutter Rate / Reverb Early Diffusion / Spring Reverb Dripstone
108 Smear
Looper and Effect Module Freeze (Address Page 125 ($7D hex))
88 Looper Record / Playback / Overdub
89 Looper Stop*
90 Looper Trigger*
91 Looper Reverse*
*To simulate functionality of Remote/Stage Looper buttons correctly, send value 1 for push button and value 0 for
release button.
32 Aux In >Main
33 Aux In >Monitor
34 Aux In >Headph.
36 Space Intensity
37 Space Routing
52 Looper Volume
53 Looper Location
59 Aux >Mono
SYSEX Definition 28
SYSEX Definition
The message itself starts with a function code plus additional bytes, depending on the given function code.
Function Functionality
Code
$01 Single Parameter Change
$02 Multi Parameter Change
$03 String Parameter
$04 BLOB
$05 *reserved*
$06 Extended Parameter Change
$07 Extended String Parameter Change
$08 Morphed Multi Parameter Changed
$41 Request Single Parameter Value
$42 Request Multi Parameter Values
$43 Request String Parameter
$47 Request Extended String Parameter
$7C Request Parameter Value as Rendered String
$7E *reserved*
$7F *reserved*
Example: To set the value of Mix of a Wah Wah in effect module A to 50% the controller NRPN MSB $32 hex
(address page of module A) and LSB $04 hex (address number of Mix parameter) needs to be set to a value of
8192. According to the explanation on page 13, the upper 7 bit of the value are $40 hex and the lower 7 bit are $00
hex:
F0 00 20 33 02 7F 01 00 32 04 40 00 F7
Since the introduction of the Morphing feature, there is a second value (called “B Value”) that spans a range within
which a controller can morph. So, the message can be optionally extended by another 14 bit value. This example
sets the parameter to be morphable from center value to maximum.
F0 00 20 33 02 7F 01 00 32 04 40 00 7F 7F F7
SYSEX Definition 31
Function Instance Controller Controller Value MSB Value LSB Value MSB* Value LSB*
Code MSB LSB
The function Addresses The upper The lower The upper The lower The upper The lower
code for a the instance 7-bit of the 7-bit of the 7-bit of the 7-bit of the 7-bit of the 7-bit of the
single of the 14-bit 14-bit 14-bit 14-bit 14-bit value 14-bit value
parameter parameter. NRPN NRPN value. value. of the next of the next
change is $02 The address. address. NRPN NRPN
PROFILER address. address.
only supports
one instance Repeat with Value
which is MSB/LSB for more values
always 0. (up to 128 values)
Example: To set the values for all (numeric) module A parameters starting with address page $32 hex and first
address number $00 hex send:
F0 00 20 33 02 7F 02 00 32 00 00 03 00 01 4C 04 .. .. F7
SYSEX Definition 32
Function Instance Controller Controller Value MSB Value LSB Morphed MSB* Morphed LSB*
Code (always 0) MSB LSB
(Repeat until block is (Repeat until block is complete)
$08 complete) must be the same number of
uint16_T as before in “Value”
The string controllers can be encoded using function code $03 and character bytes using ASCII encoding:
Example: to set the string “Hello” as current Rig Name (string #0001) send:
F0 00 20 33 02 7F 03 00 00 01 48 65 6C 6C 6F 00 F7
SYSEX Definition 34
The content of a BLOB is, by definition, “hands off” and should not be altered.
Currently, only a start offset of 0 (null) is supported. If the content size doesn’t match the announced size, the
message will be ignored.
SYSEX Definition 35
MSB LSB
7 6 5 4 3 2 1 0
Byte 0: _ _ _ _ 7 6 5 4
Byte 1: _ 3 2 1 0 7 6 5
Byte 2: _ 4 3 2 1 0 7 6
Byte 3: _ 5 4 3 2 1 0 7
Byte 4: _ 6 5 4 3 2 1 0
Example: Request the value of the effect type currently residing in module C. The address page is $34 hex (effect
module C) and the address number is $00 hex (effect type):
F0 00 20 33 02 7F 41 00 34 00 F7
If a parameter is requested that does not exist, the request will be ignored, and nothing will be returned.
SYSEX Definition 37
Example: Request the current values of all parameters in effect module MOD (address page $3A hex) starting with
first address number $00 hex:
F0 00 20 33 02 7Ff 42 00 3A 00 F7
If the controller does not exist, or the request does not address the first controller number in a unit, the request will
be ignored. No data will be returned.
SYSEX Definition 38
Example: Request the current values for the current Rig Name:
F0 00 20 33 02 7F 43 00 00 01 F7
2
If the encoded controller number is lower than 16384 (the range of 14-bit) the response might use function code $03.
SYSEX Definition 39
Function Code Flags Controller MSB Controller LSB Value MSB Value LSB
The function *reserved* The upper 7-bit of The lower 7-bit of The upper 7-bit The lower 7-bit
code $7C the 14-bit NRPN the 14-bit NRPN of the 14-bit of the 14-bit
address. address. value. value.
Example: To request the character string for a value of 8192 for the parameter Ducking in module DLY, send:
F0 00 20 33 02 7F 7C 00 3C 35 40 00 F7
F0 00 20 33 02 7F 3C 00 3C 35 40 00 3C 30 2E 30 3E 00 F7
< 0 . 0 >
Function code of the response is $3C. After the flags, the controller MSB/LSB and value MSB/LSB, the actual string
is then available, terminated by a zero-byte. In this case, the rendered string is “<0.0>”.
Appendix A (valid ASCII characters) 40
Vintage Chorus 0 65 65
Hyper Chorus 0 66 66
Air Chorus 0 67 67
Vibrato 0 68 68
Rotary Speaker 0 69 69
Tremolo 0 70 70
Micro Pitch 0 71 71
Phaser 0 81 81
Phaser Vibe 0 82 82
Phaser Oneway 0 83 83
Flanger 0 89 89
Flanger Oneway 0 91 91
Graphic Equalizer 0 97 97
Studio Equalizer 0 98 98
Metal Equalizer 0 99 99
Acoustic Simulator 0 100 100
Stereo Widener 0 101 101
Phase Widener 0 102 102
Delay Widener 0 103 103
Double Tracker 0 104 104
Treble Booster 0 113 113
Lead Booster 0 114 114
Pure Booster 0 115 115
Wah Pedal Booster 0 116 116
Loop Mono 0 121 121
Loop Stereo 0 122 122
Loop Distortion 0 123 123
Transpose 1 1 129
Chromatic Pitch 1 2 130
Harmonic Pitch 1 3 131
Analog Octaver 1 4 132
Dual Chromatic 1 9 137
Dual Harmonic 1 10 138
Dual Crystal 1 11 139
Dual Loop Pitch 1 12 140
Legacy Delay 1 17 145
Single Delay 1 18 146
Dual Delay 1 19 147
Appendix B (list of Effect Types) 43
2 Rig Author
4 Rig Comment
10 Amp Name
11 Amp Author
14 Amp Location
15 Amp Manufacturer
16 Amp Comment
18 Amp Model
19 Amp Channel
20 Pickup Type
21 Year of Production
32 Cabinet Name
33 Cabinet Author
36 Cabinet Location
37 Cabinet Manufacturer
38 Microphone Model
Appendix C (string list) 45
39 Cabinet Comment
40 Microphone Position
41 Speaker Configuration
42 Cabinet Model
44 Speaker Manufacturer
45 Speaker Model