Quick Facts
- Category: Open Source
- Published: 2026-05-01 11:58:11
- How to Defend Against AI-Implanted Malware in npm Packages from North Korean Threat Actors
- What You Need to Know About Why are top university websites serving porn? It ...
- Apple’s Q2 2026 Earnings: John Ternus Steps Into the Spotlight
- The Role of Humility in Design and Beyond
- From Proposal to Appeal: A Guide to Federal Vaccine Policy Disputes
Bluetooth MIDI can be a dream for wireless music setups, but on Windows, it often turns into a nightmare of silent keyboards and invisible devices. I created a free open-source utility that bridges Bluetooth Low Energy (BLE) MIDI keyboards into the modern Windows MIDI Services stack. This allows any Digital Audio Workstation (DAW) or Web MIDI app to see and use your wireless keyboard as if it were plugged in with a cable. Below, I answer the most common questions about this tool, from its core functionality to the surprising bugs it fixes.
What is Perfect Bluetooth MIDI for Windows?
Perfect Bluetooth MIDI for Windows is a small, single-executable utility that acts as a bridge between Bluetooth LE MIDI peripherals (like digital pianos) and the Windows MIDI Services (WMS) stack. It enables any DAW or Web MIDI application to detect and communicate with a BLE MIDI device wirelessly, as if it were a standard wired MIDI port. The tool is open-source (MIT license), requires no installation, and includes no telemetry or accounts. It was born from my own frustration with a Roland FP-90X piano that paired successfully but remained invisible to my music software. After isolating three independent bugs, I built this utility to solve all of them in a single app. The application uses the WinRT API for BLE input and WMS loopback endpoints for output, ensuring compatibility with both legacy and modern MIDI applications.
Why does Windows not recognize BLE MIDI devices natively?
Windows exposes Bluetooth LE MIDI devices only through the WinRT API, which most DAWs and MIDI applications do not poll. When you pair a BLE keyboard, Windows sees it, but the MIDI data never reaches the software you want to use. The usual workaround involves combining tools like MIDIberry and loopMIDI, but that can be unreliable and complex. My utility solves this by reading the BLE MIDI stream via WinRT and then writing it to a WMS loopback endpoint. The Windows MIDI Services stack includes a feature called loopback endpoints: anything written to one appears as a standard MIDI port to all applications (winmm, WinRT, or WMS). So the piano-to-PC direction works seamlessly—your DAW now sees the keyboard as a normal MIDI input.
How does the utility handle PC-to-piano communication?
After solving the piano-to-PC path, sending notes from your computer to the piano remained broken. I tried both BLE write modes (some firmware silently drops one type) and explored proprietary characteristics, but the piano stayed silent even though the bytes were delivered (verified via ATT acknowledgments). The real issue turned out to be a MIDI channel mismatch. The Roland FP-90X has a Transmit Channel setting that defaults to 1, but it actually receives only on channel 4—and that cannot be changed. Notes sent on channel 1 were delivered to the piano's GATT layer but then silently discarded by the synth engine because they weren't on the expected channel. My utility adds a 'Detect' button that plays test notes on channels 1 through 16; you count the notes you hear, and the tool remembers the correct receive channel per device (stored by MAC address). It takes about 75 seconds to set up, once per piano.
What is the 'Detect' button and how do I use it?
The 'Detect' button is a built-in feature of Perfect Bluetooth MIDI for Windows that automatically finds the MIDI receive channel your piano actually listens to. Since many BLE keyboards (like the Roland FP-90X) have a fixed receive channel that differs from the adjustable transmit channel, this step is crucial for bidirectional communication. When you click Detect, the utility sends a series of short test notes, one on each MIDI channel from 1 to 16. You simply listen and count how many notes you hear. That number equals the correct receive channel. The tool saves this setting per BLE MAC address, so you only need to do it once per device. The process takes roughly 75 seconds and solves a problem that gave me zero error messages—no feedback at any layer, just silence. Now, with the channel matched, notes from your PC play through the piano's speakers as expected.
Which technologies power the utility?
The application is built on .NET 10 and uses Avalonia for the user interface. While the BLE/MIDI logic is Windows-specific (using WinRT and Windows MIDI Services), the UI layer is portable to other platforms. For BLE MIDI input, it directly uses the Windows.Devices.Midi (WinRT) namespace rather than relying on older drivers like Korg's WinMM driver. Output goes through the Microsoft.Windows.Devices.Midi2 packages (WMS loopback endpoints). The result is a single self-contained executable about 21 MB in size, licensed under MIT, with no installer, no telemetry, and no account required. The open-source code is available on GitHub, and the project page includes screenshots and download links. The community (including a Microsoft MIDI team member) has responded positively to the approach, especially the seamless BLE integration with the new MIDI Services stack.
What devices are compatible with Perfect Bluetooth MIDI for Windows?
The utility works with any Bluetooth Low Energy MIDI keyboard or instrument that pairs with Windows 11 (or Windows 10 with the appropriate MIDI Services update). It has been specifically tested with the Roland FP-90X, but the underlying mechanism—WinRT BLE input plus WMS loopback output—should work with all BLE MIDI peripherals. The Detect button is especially useful for devices like the FP-90X that have hidden receive-channel quirks. If your keyboard appears in Windows Bluetooth settings but your DAW ignores it, this tool should bridge the gap. Since the utility is free and open-source, you can inspect the code for compatibility details or submit issues for unsupported devices. The author built it for personal use with several DAWs and Web MIDI sites, and it has proven reliable in practice.
Is the utility free, and how do I get it?
Yes, Perfect Bluetooth MIDI for Windows is completely free and open-source under the MIT license. It does not collect any telemetry, require any accounts, or demand payment. The single executable (about 21 MB) can be downloaded from the project website: https://mayerwin.github.io/Perfect-Bluetooth-MIDI-For-Windows/. The source code is available on GitHub through the same site. No installation is needed—just run the .exe file, pair your BLE keyboard via Windows settings, and the utility will detect and expose it to your music software. The tool saves its settings locally (receive channel per MAC), so you can set it up once and forget it. It's designed to be a lightweight, one-stop solution for the three common BLE MIDI bugs that plague Windows users: WinRT invisibility, write-mode confusion, and channel mismatch.