How to inspect an MPE controller's MIDI messages
Check whether an MPE controller sends separate note, pressure, and pitch data, and learn what a browser MIDI test can and cannot confirm.
Your MPE controller may play notes normally while its slides, pressure, or per-note pitch bends seem to do nothing. The first step is to check what messages the controller actually sends, before changing settings in your music software.
The MIDI Test shows incoming messages from a keyboard or controller in your browser. You can try individual notes and gestures to see whether the device sends separate expression data.
Inspect the controller's messages
- Open the MIDI Test in a browser other than Safari. Browser MIDI testing does not work in Safari.
- Connect the controller by USB or Bluetooth, then grant the browser access to MIDI devices if it asks. If the test lists MIDI inputs, choose your controller.
- Press and release one key without touching any expressive controls. Look for a note-on message when you press it and a note-off message when you release it. This confirms the basic note signal is arriving.
- Hold one note and move a slide, bend, or pressure control. Check whether new messages appear while the note is held. Repeat with another key so you can compare the messages.
- Hold two notes at once and move an expressive control for just one note. Check whether the messages for that gesture are associated with a different MIDI channel from the other note.
Keep the test simple: one note, one gesture, then two notes. If you move several controls at once, the message list can be difficult to interpret. For a basic check of two-key input, see how to test a MIDI keyboard with two keys held down.
What the messages mean
You see note-on and note-off messages
The controller is sending basic note data. Note-on means a key was pressed, and note-off means it was released. A note-on message may include velocity, which represents how hard or fast the key was played. These messages alone do not confirm that MPE expression is working.
Moving a control sends pitch or pressure data
The controller is sending more than notes. MPE commonly uses per-note pitch bend, pressure, and a control change for slide, often assigned to MIDI Control Change 74. The exact messages depend on the controller's design and configuration. A bend gesture should cause a stream of pitch data; pressure or slide should also produce messages as you change the gesture.
Different notes use different channels
This is an important clue that the controller is using MPE. MPE assigns notes to separate MIDI channels so each held note can have its own expression, such as an individual bend or pressure change. A single-channel stream can still carry notes and controls, but it does not show the usual per-note channel separation used for MPE.
Notes appear, but gestures produce no messages
The basic MIDI connection works, but the controller may not be sending the gesture you tested. The control might be disabled, assigned differently, or configured for a non-MPE mode. Check the controller's setup and configuration, then repeat the test with one gesture at a time.
No messages appear
The browser is not receiving MIDI input. The controller may not be connected, the wrong input may be selected, or the browser may not have permission. It can also be a browser compatibility issue. Safari does not support this MIDI test.
How to fix missing or unclear messages
- Reconnect the controller. Unplug and reconnect a USB device, or disconnect and pair a Bluetooth controller again. On Windows 11, check Settings › Bluetooth & devices › Devices. On macOS, check System Settings › Bluetooth.
- Allow MIDI access. If the browser shows a permission prompt, allow access and reload the test if needed. If you previously blocked access, open the browser's site permissions from the icon beside the address bar and change the MIDI setting for the page.
- Choose the correct input. If more than one MIDI device is connected, select the controller you are testing in the MIDI input list. Disconnect other controllers temporarily if you are unsure which one is sending the messages.
- Check the controller's mode. Use the controller's own controls or configuration software to enable MPE mode and choose an MPE zone if it offers those settings. The browser test can show outgoing messages, but it cannot change the controller's internal mode.
- Try a different connection. Connect directly to the computer instead of through a hub, or try another USB cable or port. For Bluetooth, move the controller closer and disconnect it from other devices that may already be using it.
- Restart the browser and controller. Close other music software that may be holding the device, restart the controller, and reopen the test. Then repeat the single-note test before checking gestures.
What a browser test can confirm
The test can show that MIDI messages reach the browser and help you compare note, velocity, and expression activity. It cannot prove that a music app interprets those messages correctly, that the controller's sensor measures movement accurately, or that every MPE feature is configured as intended. If the expected messages appear here but a music app ignores them, check that app's MIDI input, MPE mode, and track settings.
If no input is available in the test, try a supported browser before assuming the controller is faulty. If the device also sends no messages in its manufacturer's configuration software or on another computer, check its cable, connection, and warranty support.
