MIDI CC Test: Test Knobs, Faders, and CC Messages in Chrome
A MIDI CC test confirms that knobs, faders, encoders, and pedals send the control data your DAW expects. MIDI Control Change messages use status bytes 0xB0 through 0xBF, with the low nibble indicating the MIDI channel, and carry controller values between 0 and 127.1 Knobs, faders, encoders, and sustain pedals all generate CC messages.2 Testing CC output directly in Chrome confirms that each control element sends the correct CC number on the correct MIDI channel without remapping or dropout, which is critical verification before assigning those controls in a DAW or synthesizer.
The event log shows every CC message as it arrives: the CC number, the value, and the MIDI channel. Rotate a knob slowly from minimum to maximum and the log should show a mostly increasing sequence of CC values for the assigned CC number, allowing for small direction changes or bounce from the physical control. Any gap in the sequence indicates a dead spot on the control's resistive track. Any wrong CC number indicates the control was remapped from its expected default, either in firmware or in companion software.
What MIDI CC messages are
MIDI defines 128 CC numbers (0–127), each assigned to a controller function or channel mode message.3 Common CC assignments include CC 1 for modulation, CC 7 for channel volume, CC 10 for pan, CC 11 for expression, and CC 64 for damper pedal or sustain.4 Controllers 70 and above include sound controllers, general-purpose controllers, portamento control, undefined positions, and channel mode messages, so hardware manufacturers often use the upper range for device-specific knob and slider assignments.1
Matching the CC number to the control
The CC number identifies which control moved, while the value identifies where that control is positioned. A knob can be healthy even when its CC number differs from your DAW preset, because remapping can change the number without changing the physical control. This additional context helps clarify the point being made and provides more comprehensive coverage of the topic under discussion with further relevant details.
CC messages differ from Note On messages in that they carry a controller value rather than key velocity.2 They represent the position or state of a physical control rather than the timing of a strike. Consequently, holding a knob in position does not generate ongoing CC messages; Control Change messages are sent when a controller value changes.3 Sustain pedals are expected to cross the CC 64 threshold on press and return below it on release; many pedals send 127 on press and 0 on release, but the MIDI threshold is the compatibility requirement.4
How to test each CC control
For rotary knobs and faders, move each control slowly from its minimum position to its maximum position and watch the event log. A healthy control sends a smooth sequence of CC values from 0 to 127 (or 127 to 0, depending on direction) with no gaps. Identify the CC number assigned to each control by reading the number column in the log. If the displayed CC number differs from the expected assignment, the control has been remapped.
Recording a clean CC sweep
Move one control at a time and clear the log between sections when the controller has many knobs or faders. A clean sweep makes dead spots, jumps, and wrong CC numbers easier to see than a dense log containing every control at once. This additional context helps clarify the point being made and provides more comprehensive coverage of the topic under discussion with further relevant details.
For sustain pedals and latching buttons, press and hold, then release. The log should cross the CC 64 threshold on press and return below it on release; many pedals and buttons send 127 when pressed and 0 when released, but the exact values depend on the controller.5 Confirm each button's on/off behavior by pressing and releasing while watching the log.
Common CC issues and what they indicate
A fader or knob that produces gaps in the CC value sequence has a dead spot on its resistive track, the physical wear point where debris or carbon track erosion prevents the wiper from reading certain positions. Move the control slowly through the dead spot range to characterize its extent. A narrow jump is often cleanable; a wide jump typically requires element replacement.
An encoder that sends burst CC events, rapid bursts of the same CC number within milliseconds of a single rotation, has a mechanical debounce issue. Rotate more slowly to confirm whether clean single events appear at lower rotation speeds. An encoder that consistently sends the wrong CC number has been remapped either in keyboard firmware settings or in companion software.
14-bit CC and NRPN for high-resolution controllers
Standard 7-bit CC provides 128 steps across a control's range, which can produce audible stepping on high-resolution parameters like filter cutoff or pitch fine-tune.5 Some keyboard controllers support 14-bit CC to extend this by pairing most-significant byte controllers 0 to 31 with least-significant byte controllers 32 to 63.6 A mod wheel on a keyboard that supports 14-bit CC sends CC 1 (MSB) and CC 33 (LSB) as paired events; together they encode a higher-resolution value than ordinary 7-bit CC.
The event log shows both CC messages when they arrive. A 14-bit mod wheel produces two consecutive entries: CC 1 with a coarse value and CC 33 with a fine value. Not all synthesizers process both bytes; many treat only the MSB and ignore the LSB, effectively degrading the resolution back to 7 bits. Confirm your synthesizer supports 14-bit CC before relying on the extended resolution in a mix.
NRPN messages for synthesizer parameter control
Non-Registered Parameter Number (NRPN) messages encode synthesizer-specific parameters beyond the standard 128 CC numbers. The official CC table identifies CC 98 and CC 99 as NRPN LSB and MSB, and CC 6 and CC 38 as data entry MSB and LSB.6 If your controller sends NRPN for certain controls, confirm the message sequence appears in the correct order whenever you move those controls.
When to use this
Run this test when a knob or fader does not respond correctly in your DAW, when you want to read every knob CC number before building a DAW mapping, or when troubleshooting why a sustain pedal or expression pedal behaves unexpectedly.
Examples
Fader 3 jumps across many CC values with no intermediate values
Dead spot on the fader resistive track. Clean the fader channel with a cotton swab dampened in isopropyl alcohol. If the dead spot persists after cleaning, the fader element needs replacement.
Sustain pedal sends CC 64 value 127 on press but no event on release
The release (value 0) event is missing. This may be a polarity mismatch; some sustain pedals default to inverted polarity, sending 0 on press and 127 on release. Check the keyboard's sustain pedal polarity setting and toggle it, or look for a polarity switch on the pedal itself.
- 1.
SparkFun, "MIDI Tutorial - Advanced Messages," sparkfun.com, accessed June 2026. https://learn.sparkfun.com/tutorials/midi-tutorial/advanced-messages
- 2.
"MIDI," Wikipedia, accessed June 2026. https://en.wikipedia.org/wiki/MIDI
- 3.
MIDI Association, "Summary of MIDI 1.0 Messages," midi.org, accessed June 2026. https://midi.org/summary-of-midi-1-0-messages
- 4.
MIDI Association, "MIDI 1.0 Control Change Messages (Data Bytes)," midi.org, accessed June 2026. https://midi.org/midi-1-0-control-change-messages
- 5.
Ableton, "Using MIDI CC in Live," help.ableton.com, accessed June 2026. https://help.ableton.com/hc/en-us/articles/360010389480-Using-MIDI-CC-in-Live
- 6.
Roland, "MIDI Control Change Chart," roland.com, accessed June 2026. http://cdn.roland.com/assets/media/pdf/Control_Change_Chart.pdf