MIDI Glossary
This glossary provides definitions for MIDI concepts, message types, and Kilowhat-specific terminology used throughout the documentation.
MIDI Message Types
Section titled “MIDI Message Types”Aftertouch
Section titled “Aftertouch”Pressure-sensitive MIDI messages sent after a note is initially played. There are two types:
- Channel Aftertouch (Channel Pressure): A single pressure value applied to all notes on a channel
- Polyphonic Aftertouch (Key Pressure): Independent pressure values for each note
Aftertouch enables expressive control over parameters like vibrato, filter cutoff, or volume based on how hard you press the keys after the initial note-on.
CC (Control Change)
Section titled “CC (Control Change)”Control Change messages are the most common MIDI message type for continuous controllers. Each CC message contains:
- Channel: 1-16
- Controller number: 0-127
- Value: 0-127
CCs are used for faders, knobs, buttons, and most real-time parameter control. Some CC numbers have standardized meanings (e.g., CC1 = Modulation, CC7 = Volume, CC10 = Pan), while others are freely assignable.
NOTE (Note On/Off)
Section titled “NOTE (Note On/Off)”Note messages communicate musical pitch information:
- Note On: Indicates a note has been pressed, includes velocity (0-127)
- Note Off: Indicates a note has been released, may include release velocity
Each note message contains:
- Channel: 1-16
- Note number: 0-127 (where 60 = Middle C)
- Velocity: 0-127 (0 velocity Note On is treated as Note Off)
In controller applications, notes are often used for buttons, pads, and triggers where the velocity indicates press intensity.
NRPN (Non-Registered Parameter Number)
Section titled “NRPN (Non-Registered Parameter Number)”NRPN provides 14-bit high-resolution parameter control (0-16383 range) for manufacturer-specific or custom parameters. NRPN messages are sent as a sequence of CC messages:
- CC 99: NRPN MSB (parameter number high byte)
- CC 98: NRPN LSB (parameter number low byte)
- CC 6: Data Entry MSB (value high byte)
- CC 38: Data Entry LSB (value low byte)
NRPNs are ideal for parameters requiring fine control, such as filter cutoff, pitch fine-tuning, or any parameter where 128 steps is insufficient.
RPN (Registered Parameter Number)
Section titled “RPN (Registered Parameter Number)”RPN is similar to NRPN but uses standardized parameter numbers defined by the MIDI specification. Common RPNs include:
| RPN | Parameter |
|---|---|
| 0 | Pitch Bend Sensitivity |
| 1 | Fine Tuning |
| 2 | Coarse Tuning |
| 3 | Tuning Program Select |
| 4 | Tuning Bank Select |
RPN messages use the same CC sequence as NRPN but with CC 101 (RPN MSB) and CC 100 (RPN LSB) instead of CC 99 and CC 98.
PB (Pitch Bend)
Section titled “PB (Pitch Bend)”Pitch Bend messages control pitch deviation from the current note. Unlike CC messages, Pitch Bend has 14-bit resolution natively, providing 16,384 steps of control.
- Center value: 8192 (no pitch change)
- Minimum: 0 (maximum downward bend)
- Maximum: 16383 (maximum upward bend)
The actual pitch range is determined by the receiving instrument’s Pitch Bend Sensitivity setting (typically +/- 2 semitones by default).
PC (Program Change)
Section titled “PC (Program Change)”Program Change messages select patches, presets, or programs on a MIDI device:
- Channel: 1-16
- Program number: 0-127
Kilowhat supports several Program Change modes:
| Mode | Description |
|---|---|
| PC # | Send a specific program number |
| PC+ | Increment and send the current program number |
| PC- | Decrement and send the current program number |
Kilowhat Terms
Section titled “Kilowhat Terms”Auto-Select Card
Section titled “Auto-Select Card”A Kilowhat preference that automatically selects and scrolls to a component’s card when you interact with the corresponding physical control on your controller. Enable this in Kilowhat Options for faster navigation.
A bank is a layer of MIDI messages stored in your controller. Each bank can have completely different MIDI assignments, channels, and feedback colors for every component.
Example configuration:
- Bank 1: DAW mixer control
- Bank 2: Synthesizer parameters
- Bank 3: Effects control
Banks allow a single physical control to serve multiple purposes. Switch between banks using a designated button or encoder switch configured as a bank shifter. See Banks Overview for complete details.
Bank Shifter
Section titled “Bank Shifter”A button or encoder switch configured to change the active bank on your controller. Bank shifters can operate in two modes:
| Mode | Behavior |
|---|---|
| Momentary | Temporarily activates another bank while held |
| Toggle | Switches to another bank until pressed again |
The visual representation of a controller component in Kilowhat’s interface. Each card displays key information at a glance:
- Hardware ID
- Message type and parameter
- MIDI channel and port
- Feedback color/mode
- User comment
Select a card to access its full configuration options. See Understanding Cards for details.
Comment
Section titled “Comment”A user-defined label for a component, displayed on its card. Use descriptive comments like “Volume”, “Filter”, or “Send A” to identify controls quickly in your configuration.
Dead Zone
Section titled “Dead Zone”An expanded area around the center position of an analog control that outputs a constant center value (e.g., 64 for a 0-127 range). Dead zones are useful for:
- Parameters requiring a reliable neutral position (pan, EQ, balance)
- Controls without physical center detents
- Preventing accidental value changes when targeting the middle value
Configure dead zone size in the Analog component settings.
Feedback
Section titled “Feedback”The visual response from LEDs on your controller based on incoming MIDI messages. Feedback creates a two-way communication loop:
- You move a control, sending MIDI to your software
- Your software processes the change
- Your software sends MIDI back to your controller
- The LED updates to reflect the current parameter state
Feedback ensures your controller always displays the true state of your software’s parameters, even when values change from automation or other sources. See Feedback for configuration details.
Hardware ID (HW ID)
Section titled “Hardware ID (HW ID)”A unique numerical identifier for each component in your controller, displayed in the top-left corner of every card. Hardware IDs are fixed and cannot be changed - they correspond to the physical position of each component in your controller’s circuit design.
Takeover Mode
Section titled “Takeover Mode”Determines how analog components (faders, pots, joysticks) behave when their physical position does not match the current parameter value. This commonly occurs when:
- Switching between banks
- The parameter was changed in your DAW
- The controller was just powered on
| Mode | Behavior |
|---|---|
| None | Incoming values do not affect component behavior; immediate control |
| Pick-Up | Component does not send messages until its physical position matches the current value |
| Value Scaling | Component sends messages immediately, smoothly converging toward the current value |
Value to Color
Section titled “Value to Color”A feedback color mode where the LED color changes based on the received MIDI value. Each value (0-127) maps to a specific color from a palette of 128 colors. This mode is particularly useful for:
- Ableton Live clip matrix status
- Multi-state parameters
- Track arm/solo/mute indicators
- Creative visual feedback
Value to Intensity
Section titled “Value to Intensity”A feedback feature (firmware v0.20+) that adjusts LED brightness based on incoming MIDI values. Configure a dedicated MIDI channel for intensity control in Controller Options.
Hardware Terms
Section titled “Hardware Terms”DIN5 (MIDI Port)
Section titled “DIN5 (MIDI Port)”The traditional 5-pin circular MIDI connector used for hardware MIDI connections. In Kilowhat, “MIDI” port refers to the DIN5 connection, as opposed to USB MIDI.
Encoder
Section titled “Encoder”A rotary control that can be turned continuously. Yaeltex encoders consist of two parts:
| Part | Function |
|---|---|
| Rotary | The turning action, sends MIDI when rotated |
| Switch | Pressing down on the encoder, sends separate MIDI messages |
Encoders can operate in absolute mode (tracking position between min/max) or relative modes (sending increment/decrement values). See Encoders for complete configuration options.
Endless Encoder
Section titled “Endless Encoder”An encoder without fixed endpoints that can rotate continuously in either direction. Most Yaeltex encoders are endless encoders, ideal for relative mode operation where there is no physical stop at minimum or maximum values.
Expression Pedal
Section titled “Expression Pedal”An external foot-controlled analog input that connects to your controller. Expression pedals send continuous values based on pedal position, typically used for volume swells, wah effects, or parameter morphing.
A linear sliding control that moves along a straight track. Faders output continuous values based on their physical position and are commonly used for volume, crossfade, and mixing applications. Configure faders in the Analog section.
Joystick
Section titled “Joystick”A two-axis analog input that can move in any direction. Each axis (X and Y) can be configured independently to send different MIDI messages. Joysticks often use:
- Dead Zone: For reliable center position
- Split Mode: To divide each axis into two separate controls
LED Ring
Section titled “LED Ring”A circular array of LEDs surrounding an encoder that displays the current value visually. LED rings support multiple display modes:
| Mode | Description |
|---|---|
| Fill | LEDs light from minimum to current value |
| Spot | Single LED indicates current position |
| Mirror | LEDs fill symmetrically from center |
| Pivot | LEDs extend from center based on value direction |
Potentiometer (Pot)
Section titled “Potentiometer (Pot)”A rotary control with fixed endpoints (unlike an endless encoder). Pots have a minimum and maximum physical position, making them ideal for absolute value control. Configure pots in the Analog section.
Additional Terms
Section titled “Additional Terms”7-bit Resolution
Section titled “7-bit Resolution”Standard MIDI resolution providing 128 discrete values (0-127). Used by NOTE velocity, CC values, and Program Change numbers. Sufficient for most control applications but may produce audible stepping on sensitive parameters.
14-bit Resolution
Section titled “14-bit Resolution”High-resolution MIDI providing 16,384 discrete values (0-16383). Available through NRPN, RPN, and Pitch Bend messages. Use 14-bit resolution for:
- Filter cutoff and resonance
- Fine pitch control
- Any parameter where smooth transitions are critical
Acceleration
Section titled “Acceleration”Encoder speed sensitivity where faster rotation produces larger value changes. Kilowhat offers three acceleration levels:
| Level | Description |
|---|---|
| Acceleration 1 | Light sensitivity, subtle speed response |
| Acceleration 2 | Medium sensitivity, balanced response |
| Acceleration 3 | Heavy sensitivity, large jumps at high speed |
Channel
Section titled “Channel”MIDI channels (1-16) allow multiple devices or instrument parts to communicate independently over the same connection. Each component can be assigned to any channel, and different banks can use different channel assignments.
Fixed Rate
Section titled “Fixed Rate”Encoder speed mode that ignores rotation velocity, providing consistent value increments regardless of how fast you turn. Available in three speeds (Fixed 1, 2, 3) for slow, medium, and fast increment rates.
Local Feedback
Section titled “Local Feedback”Feedback source setting where LEDs respond only to the component’s own actions, without waiting for external MIDI confirmation. Use Local feedback for:
- Standalone operation without connected software
- Immediate visual response
- Situations where external feedback is not available
MIDI Merge
Section titled “MIDI Merge”A routing feature that combines MIDI messages from multiple sources. Your controller can merge incoming MIDI (from keyboards, other controllers) with its own messages and send everything to a single output.
Momentary
Section titled “Momentary”Button behavior where the ON state is active only while the button is held. Releasing the button returns to the OFF state. Compare with Toggle.
Remote Banks
Section titled “Remote Banks”A feature that links bank changes to Program Change messages. When enabled:
- Changing banks sends a PC message on the configured channel
- Receiving a PC message on that channel switches to the corresponding bank
Useful for synchronized bank changes across multiple controllers or automation-driven bank switching.
Split Mode
Section titled “Split Mode”An analog component mode that divides a single control into two halves, each sending to different MIDI channels:
- First half: Sends on channel 15 (configurable), values from 127 down to 0
- Second half: Sends on the configured channel, values from 0 up to 127
Ideal for crossfaders, pan controls, or any bipolar parameter with a center neutral point.
Toggle
Section titled “Toggle”Button behavior where each press alternates between ON and OFF states. The first press activates, the second press deactivates. Compare with Momentary.
Velocity
Section titled “Velocity”The intensity or speed of a note-on event, transmitted as a value from 0-127. Higher velocity typically means louder or more intense sound. In controller applications, velocity often represents button press intensity for pressure-sensitive pads.
Related Pages
Section titled “Related Pages”- MIDI Monitor - Real-time MIDI message viewing
- Understanding Cards - Card interface overview
- Controller Options - Global controller settings
- Banks Overview - Bank configuration and management