一台蓝牙 MIDI 钢琴,在 Windows 11 上已经配对。底层写入也返回 ACK。按理说,DAW 应该能看见,钢琴也该出声。

现实很拧巴:DAW 看不见,Web MIDI 不稳定,PC 发出的 NoteOn 像被吞了。更麻烦的是,字节确实送到了设备,只是设备不告诉你为什么没响。

Perfect Bluetooth MIDI for Windows 就是为这个缝隙写出来的。名字叫 Perfect,但现在不能按“完美”理解。它是一个开发者为自己的 Roland FP-90X 踩坑后做出的免费开源工具,价值不在包装,而在把 Windows 蓝牙 MIDI 的一段断路接上。

它补的是 WinRT 和传统 MIDI 之间的断层

这个工具免费、开源,MIT 协议。形态很克制:一个自包含 exe,大约 21MB;无安装器、无遥测、无账号。

核心路径也不绕:用 WinRT 读取 BLE-MIDI,再用 Windows MIDI Services 的 loopback endpoint 输出。这样,winmm、WinRT、WMS 应用都可以像看到一根有线 MIDI 线一样使用它。

问题点工具怎么处理对用户的影响
Windows 原生 BLE-MIDI 主要暴露给 WinRT用 WinRT 读取 BLE-MIDI避开部分 DAW 不轮询 BLE-MIDI 的尴尬
很多 DAW 仍习惯传统 MIDI 端口用 WMS loopback 暴露普通 MIDI 端口DAW/Web MIDI 更容易识别
安装负担单 exe,无账号、无遥测适合临时排障,不像又装一套常驻软件
验证范围作者只实测 Roland FP-90X不能当成全设备兼容清单

这里的关键不是“又多了一个 MIDI 小工具”。关键是 Windows 的蓝牙配对成功,不等于音乐软件能用。

系统看到设备,应用未必看到端口。底层 ACK 了,上层未必发声。中间差的不是一个按钮,而是一层抽象。

受影响最直接的是两类人。

一类是 Windows 上用蓝牙 MIDI 键盘、数码钢琴接 DAW 的用户。尤其是已经配对成功,却在 Ableton、Cubase、FL Studio、网页 MIDI 工具里找不到设备的人。

另一类是做 MIDI、音频、外设工具的开发者。这个项目提醒他们:Windows 上的 MIDI 用户不是只活在一个 API 世界里。WinRT、winmm、Windows MIDI Services 并存,桥接能力本身就是产品体验的一部分。

更典型的坑:包到了,声音没了

作者遇到的第二个问题,比“DAW 看不见”更有代表性。

Roland FP-90X 面板里有 Transmit Channel,默认是 1。直觉上,往通道 1 发 NoteOn,就该响。

但作者排查后发现,这台琴实际接收通道是 4,而且不能改。发到通道 1 的 NoteOn 会被 BLE/GATT 层 ACK。也就是说,包到了。

然后,它在合成器引擎那一层被静默丢弃。

没有错误码。没有提示。没有一句“你发错通道了”。

工具于是加了一个 Detect 按钮:从 1 到 16 通道逐个播放测试音。用户数自己听到了第几声,就确认接收通道。结果按 BLE MAC 保存。每台设备做一次,大约 75 秒。

这不炫。甚至有点笨。但这类“笨办法”反而可靠。

因为现实里的外设不是纯软件理想国。它有厂商默认值,有历史 MIDI 习惯,有文档缝隙,还有大量不会报错的失败。

对普通音乐制作用户,比较实际的做法是:如果你已经在 Windows 上配对了蓝牙 MIDI 设备,但 DAW 找不到,或发音符没声音,可以把这个工具当排障桥接器试一次。先确认设备能被桥成普通 MIDI 端口,再用 Detect 找接收通道。

但不要急着把采购决策押上去。作者只实际验证了 Roland FP-90X。WIDI Master、CME、Yamaha MD-BT01、Korg microKey Air、ROLI 等设备,从技术逻辑上可能可用,但现在不能写成已确认兼容。

你现在的情况更现实的动作
已有蓝牙 MIDI 设备,Windows 配对成功但 DAW 看不见可以试这个工具做桥接排障
设备能被看到,但发声不对或没声用 Detect 检查 1-16 通道
准备新买蓝牙 MIDI 键盘,只为 Windows 无线使用先观望兼容反馈,不要只看“支持 BLE-MIDI”
开发 MIDI/音频工具不要只假设 WinRT 路径,传统 MIDI 端口仍要照顾

这里还有一个限制要说清:Windows MIDI Services 团队成员曾在 Reddit 上正面评论过 BLE 集成,但这不是微软官方背书。这个项目目前更像用户自救和社区验证,还没到平台级承诺。

我更在意的是:平台把失败留给了用户

我不想把锅简单扣给 Windows,也不想把问题全推给 Roland。

材料里能看到的是一串叠加故障:API 暴露方式、DAW 兼容路径、设备通道设定、底层 ACK 掩盖上层丢弃。每一层单看都能解释,合起来就是用户的噩梦。

这类事在 PC 外设史里很熟。打印机、声卡、扫描仪、游戏手柄,都有过类似阶段:硬件说自己兼容,系统说已经识别,应用说我没看见。

《史记》里那句“天下熙熙,皆为利来”放在这里不算突兀。平台、应用、设备厂商各有收益边界,但“最后一米体验”常常没人结账。结果就是用户自己修路,小开发者出来补缝。

这次工具真正可贵的地方,不是把蓝牙 MIDI 说成魔法,而是承认它会失败,并且给出可诊断路径。

“配上了但不能用”被拆成几件事:系统是否能读 BLE-MIDI,应用是否能看到 loopback 端口,设备实际吃哪个通道,结果是否能按 BLE MAC 保存。

这比一句“请检查驱动”强太多。

接下来最该看的,不是这个工具的名字能不能配得上 Perfect,而是三件小事:更多设备是否被真实验证;DAW 对 Windows MIDI Services 的支持是否跟上;设备厂商能不能少一点静默失败,多给一点可见反馈。

如果这三件事没有动,类似工具还会继续出现。不是因为小工具太强,而是因为平台边界仍然粗糙。