Free Open-Source Tool Finally Fixes Bluetooth MIDI Issue on Windows 11

From Gafryer, the free encyclopedia of technology

Breaking News: Developer Releases Free Utility to Solve Bluetooth MIDI Connectivity on Windows 11

A developer has released a free, open-source utility that bridges Bluetooth Low Energy (BLE) MIDI keyboards with Windows 11's new MIDI Services stack, enabling seamless use with any DAW or Web MIDI app. The tool, called Perfect Bluetooth MIDI for Windows, addresses a persistent frustration for musicians where paired BLE MIDI devices are invisible to most music software.

Free Open-Source Tool Finally Fixes Bluetooth MIDI Issue on Windows 11

Developer Erwin, who built the tool for his own Roland FP-90X piano, discovered three independent bugs causing the failure. “Windows only natively exposes BLE-MIDI through the WinRT API, which almost no DAW polls,” he explained. “Even when pairing succeeds, MIDI apps still don’t see the device.”

Background: The Bluetooth MIDI Problem on Windows

Bluetooth MIDI keyboards have become common, but Windows 11 users have faced a major hurdle: the OS only makes BLE MIDI available via the WinRT API, which most Digital Audio Workstations (DAWs) ignore. Previous workarounds like MIDIberry plus loopMIDI were unreliable and required multiple apps.

Microsoft’s new Windows MIDI Services (WMS) stack introduced loopback endpoints, where anything written to one port appears on another, visible to all older APIs. Erwin built the utility to read from WinRT BLE and write to WMS loopback, solving the keyboard-to-PC direction. But the PC-to-keyboard direction remained broken.

What This Means for Musicians and Producers

NoteOn writes were getting ATT-acked, but the piano stayed silent,” Erwin noted. After testing write modes and proprietary characteristics, he traced the issue to a hidden MIDI channel conflict. The Roland FP-90X, despite having a configurable Transmit Channel (default 1), receives MIDI exclusively on channel 4 with no way to change it. Notes sent on channel 1 were transmitted over BLE but silently discarded by the synth engine.

The fix required an application-layer solution: a Detect button that plays test notes on each channel (1–16) while the user counts which notes they hear. That channel number is saved per Bluetooth MAC address. Once set, the piano works flawlessly with any DAW or web MIDI site.

Technical Details and Availability

The utility uses .NET 10 and Avalonia for a portable UI layer (though BLE/MIDI functions are Windows-only). It directly accesses Windows.Devices.Midi (WinRT) for BLE and uses Microsoft's Microsoft.Windows.Devices.Midi2 packages for WMS, avoiding Korg's older driver. The release is a single 21 MB self-contained EXE under the MIT license—no installer, no telemetry, no account required.

Erwin shared his work on Reddit’s r/synthesizers community, where Pete from the Microsoft Windows MIDI Services team commented positively on the BLE integration. “This is exactly the kind of community innovation that makes the MIDI ecosystem stronger,” Pete said.

Impact on the Music Tech Community

For musicians using Windows 11 with BLE MIDI keyboards, this tool eliminates a major barrier. “I built it for myself and use it with my FP-90X to play through apps and Web MIDI sites,” Erwin said. The utility addresses not only the channel issue but also the fundamental WinRT-to-DAW disconnect, making it broadly compatible with any BLE MIDI device exhibiting similar problems.

The detect feature is essential for keyboards that don’t expose their receive channel in documentation. Erwin warns that many popular models may have undocumented constraints. The tool stores the setting per device, making it a one-time 75-second setup.

Future Directions

Erwin has open-sourced the code under MIT, inviting contributions. The current version focuses on Windows 11 with Microsoft’s new MIDI stack, but the UI layer portability suggests potential cross-platform expansion. “This solves my problem, and hopefully it solves yours too,” he concluded. The project is hosted on GitHub, with screenshots and downloads available at mayerwin.github.io.

For more details, see the original Show HN post.