Show HN: Windows용 완벽한 Bluetooth MIDI
Source: Hacker News
Overview
안녕하세요 HN, 저는 Erwin입니다. 저는 Bluetooth LE MIDI 키보드를 새로운 Windows MIDI Services 스택에 연결해 주는 작은 무료 오픈소스 유틸리티를 만들었습니다. 이를 통해 어떤 DAW나 Web MIDI 앱도 유선 키보드처럼 사용할 수 있습니다.
Problem Description
Roland FP‑90X 피아노를 구매한 이유 중 하나가 Bluetooth MIDI가 지원되기 때문이었습니다. Windows 11 PC에서 페어링은 성공했지만, DAW에서는 키보드를 인식하지 못했고, PC에서 보낸 노트도 피아노에서 울리지 않았습니다. 여러 저녁에 걸친 디버깅 끝에 서로 독립적인 세 가지 버그가 겹쳐 있음을 발견했습니다.
- Windows BLE‑MIDI 노출 – Windows는 BLE‑MIDI를 WinRT API를 통해서만 기본적으로 노출합니다. 거의 모든 DAW가 이 API를 폴링하지 않기 때문에, 페어링이 성공해도 MIDI 앱에서는 장치를 볼 수 없습니다.
- Direction 2 (PC → piano) 실패 – Note‑On 전송은 ATT‑ACK을 받았지만 피아노는 소리를 내지 않았습니다. 바이트는 피아노에 도달했지만 GATT 레이어 위에서 무언가가 이를 버렸습니다.
- MIDI 채널 불일치 – FP‑90X에는 Transmit Channel이라는 패널 설정이 존재하지만(기본값 1), 실제로는 채널 4에서 수신하며 이를 변경할 수 없습니다. 채널 1로 보낸 노트는 GATT 수준에서는 ACK을 받지만 신시사이저 엔진에서 조용히 버려집니다.
Solution
새로운 Windows MIDI Services (WMS) 스택은 loopback endpoints를 제공합니다: 한 엔드포인트에 기록된 데이터는 다른 엔드포인트에 나타나며, WinMM/WinRT/WMS 앱은 이를 일반 MIDI 포트처럼 인식합니다. 유틸리티는 다음과 같이 동작합니다:
- BLE‑MIDI 입력 – WinRT API를 사용해 BLE‑MIDI 데이터를 수신합니다.
- WMS loopback 출력 – 수신된 데이터를 WMS loopback 엔드포인트로 보내어 모든 MIDI 애플리케이션에서 보이게 합니다. 이는 피아노 → PC 방향을 해결합니다.
PC → 피아노 방향에서는 페어링, 암호화, 쓰기 모드, 독점 특성을 모두 배제한 뒤 남은 문제가 MIDI 채널이었습니다. 저는 Detect 버튼을 추가해 각 채널(1‑16)마다 상승하는 테스트 노트를 연속 재생하도록 했습니다. 사용자는 실제로 들리는 노트 수를 세고, 그 카운트가 해당 키보드의 수신 채널이 됩니다. 감지된 채널은 BLE MAC 주소별로 저장됩니다(≈ 75 초 소요, 피아노당 한 번 수행).
Technical Details
- Language / Runtime: .NET 10
- UI: Avalonia (UI 레이어는 이식 가능; BLE/MIDI 쪽은 Windows 전용)
- MIDI APIs: WMS용
Microsoft.Windows.Devices.Midi2패키지, BLE용Windows.Devices.Midi(WinRT) 직접 사용 (Korg의 오래된 WinMM 드라이버 대신) - License: MIT
- Distribution: 단일 독립 실행형 ~21 MB 실행 파일, 설치 프로그램 없음, 텔레메트리 없음, 계정 필요 없음
Links
- Project site (with screenshots):
- Source code:
- Long‑form technical write‑up (full debugging story):
- Reddit comment from Microsoft Windows MIDI Services team:
- Comments thread:
개인적으로 제 FP‑90X만 테스트했습니다. BLE 쪽은 일반적인 구현이라 WIDI Master, CME, Yamaha MD‑BT01, Korg microKey Air, ROLI Seaboard 등 다른 키보드도 작동할 가능성이 높지만 각각 확인해 보지는 않았습니다. 장치 테스트 보고서, 이슈, PR은 언제든 환영합니다.