[BUG]: Code Index Number for System Realtime Messages in USB MIDI Packet seems to be wrong when using USBMidi2-ACX

Open
#1,025 1 comment 0 reactions 1 assignee View on GitHub

@Psychlist1972 is already working on this.

Since Jun 4, 2026.

Assessment

This issue has not been assessed yet.

Description

area-usb-driver :computer: bug :lady_beetle:
Report pre-requisites
  • I have searched this repo for existing issues to confirm this is not a duplicate
  • I agree to follow this project's Code of Conduct
Clarity and Disclosure
  • I confirm that any AI analysis included in this report is clearly called out / tagged as AI-generated with "AI Generated Content". Reports with suspected AI content may be closed if not disclosed.
  • I confirm that I will quickly follow-up to questions or requests for additional detail, otherwise the issue may be closed
Windows Version

Windows 11 Pro 25H2 26200.8524

Type of bug
  • Windows doesn't recognize MIDI device (doesn't show in device manager)
  • Application doesn't recognize MIDI device or ports
  • Cannot update firmware on MIDI device (specify device, app, and firmware info)
  • MIDI device is recognized, but cannot send or receive messages
  • Sent or received MIDI messages are corrupted
  • Application not working as expected
  • MIDI 1.0 ports not named as expected
  • Performance not as expected
  • Localization issue (incorrect or missing language for Windows running something other than en-US)
  • General application crash or hang
  • MIDI Service crash or hang requiring Windows reboot
  • Windows bugcheck / BSOD (please include in the areas below the device id from Windows Settings About page or a link to your crash dump uploaded to a sharing service)
  • Other or Unsure (please indicate in additional notes section below)
Location
  • Application using WinMM MIDI 1.0 (Classic API). Name provided below.
  • Application using WinRT MIDI 1.0 (Windows 10 MIDI). Name provided below.
  • Application using Windows MIDI Services SDK (MIDI 2.0). Name provided below.
  • Other app/DAW/tool. Not sure about which API or SDK it uses. Name provided below.
  • Windows MIDI Services tools like MIDI Settings, Console, etc.
  • Directly in Windows MIDI Services SDK (for Developers only, please provide repro code)
  • General Windows shell (Device Manager, Settings, Services, etc.). Name provided below.
  • Windows MIDI 2.0 Class Driver (usbmidi2-acx)
  • Windows MIDI 1.0 Class Driver (usbaudio)
  • Vendor-provided MIDI driver (please provide details below)
  • Other or Unsure (please indicate in additional notes section below)
Application Name and Version

Pocket MIDI 64bit

MIDI Device Name

KORG nanoKEY Studio

Output from the MIDI Diagnostics Tool

tmplz4zek.tmp.txt

Repro
  • I confirm that I was able to reproduce this issue using a simple app like midi.exe, midi1monitor.exe or Pocket MIDI
  • I tried but was unable to reproduce this issue using a simple application
Steps to reproduce

When WinMM app sends System Realtime Messages like Timing Clock (F8) to a MIDI 1.0 device installed Windows MIDI 2.0 Class Driver (usbmidi2-acx), Code Index Number of USB MIDI packets including the sent message is "0x5", which is for 1-Byte System Common Messages or the end of System Realtime Messages. This is supposed that "0xF" is originally correct for System Realtime Messages. When using MIDI 1.0 Class Driver, this seems to be "0xF".

  1. Connect a MIDI 1.0 device to PC. (using KORG nanoKEY Studio here)
  2. Confirm that Windows MIDI 2.0 Class Driver is installed to the device.
  3. Launch Pocket MIDI and set MIDI IN/OUT port of the device.
  4. Open Views > Timing Clock and click play button to transmit F8 messages.
  5. Capture these messages by analyzer, the first byte of the USB MIDI Packet including a F8 message is "0x05".(see below)
Image
  1. Replace the installed driver to Windows MIDI 1.0 Class Driver.
  2. Do the same steps as 3-5, the first byte is "0x0F". (see below)
Image

As a result, KORG nanoKEY Studio cannot correctly recognize System Realtime Messages (FA: Play, FC: Stop, and F8: Timing Clock) when using usbmidi2-acx.

Expected behavior

Code Index Number for System Realtime Messages is always "0xF".

Additional notes

KORG SQ-1 issue reported in the Discord seems to be caused by the same issue.

Dominant language
C++
Stars
680
Forks
73
Avg merge
4h 51m
Merged PRs (30d)
59

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from microsoft/MIDI

All issues in microsoft/MIDI

Similar issues

More C++ issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.