« Web Bluetooth / BLE-MIDIをカンタンに試せるウェブアプリを作る | トップページ | ヤマハCBX-K1 XGのローカルオフ »

2019年6月 4日 (火曜日)

Windows 10 May 2019 UpdateのMIDI over Bluetoothの不具合

 Windows 10 May 2019 UpdateでMIDI over Bluetooth(BLE-MIDI)の不具合が発生している。一部のデバイスで、MIDI INが正常に動作しない。アップデート前までは普通に利用できていたものが、だ。完全に解決したとは言えないけど、ある程度解決策っぽいのが見つかったのでメモ。

 MIDI IN。Windowsに入力する側が動作しない。逆のMIDI OUTは正常に動作する。それが謎。デバイスとしてはINもOUTもちゃんと認識しているし、接続されているように見えるのだけど。そうそう。前提として、UWPアプリでの話。SONARとかMIDIberryとか。

 手元にあるもので、不具合が発生しているのは、以下のもの。

  • Quicco Sound mi.1
  • BBC micro:bit (INのみ)
  • Roland A-01

 逆に、問題ないのは以下のデバイス。

  • ROLI Lightpad Blocks
  • M5Stack M5Stack

 このうち、micro:bitとM5Stackはいわゆるマイコンで、MIDIコントローラーにするためのプログラムを書いたもの、という状態。そのプラットフォームでは一般的なライブラリを使っているので、他の人もカンタンに試せるものと考えている。で、M5StackはMIDI入出力に対応するのだけど、micro:bitは純正のBLE-MIDIのライブラリが入力のみの対応なので、「INのみ」と注釈をつけている。

 とりあえず、これが2019年6月初頭の状況。

 

 アップデート前はちゃんと使えていたのが、だめになったという事実は、Windows 10のやる気のなさを感じさせるのに十分な要素だが、Windowsメインで使っているユーザーとしてはそれでもなんとかしたい。ということで、いろいろ調べた。

 今回の大型アップデートでは、BLE-MIDIに限らず、USB-MIDIでも不具合が出ていることを知る。KORGのドライバーがどっちも不具合発生という話。

  Windows 10 May 2019 Update(version 1903) 対応状況について – KORG app ヘルプセンター

KORG USB-MIDI Driver、KORG BLE-MIDI Driver については、同 OS との互換性に重大な問題が確認されております。
ユーザーの皆様は Windows 10 May 2019 Update に対応したドライバーがリリースされるまで、OS のアップデートはお控えくださいますことをおすすめします。

とのこと。

 さらにこれに関して調べるとこうのも出てきた。

 Fixing Korg USB Midi driver issues in Windows 10 May 2019 Update – TheDigitalLifestyle.com – Connecting your digital lifestyle

 KORG MIDI Driver Uninstall Utilityを使って、1-10までの間に収まるようにしろ、という話。これは、別の不具合についての記事でも見たことがある。問題はこれの解消の仕方だ。

 今回のアップデートで、midiのエイリアスが削除されたため、正常に認識されてないのだという。で、解決方法は、レジストリエディタ(Regedit)を使って手動でエントリなどを追加するというものだ。

 症状こそ違うものの、なんか近いものを感じたので、Regeditで該当するあたりをチェックしてみる。

 コンピューター\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class

 というノードを見ろとのことだが、BLE-MIDIデバイスはここには列挙されてない。あるのはこっちだ。

 コンピューター\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\BTHLE

 これを便宜上1番めのノードとする。ここで、MIDI INができないデバイスを探して、CapabilitiesとかClassGUIDといった値の名前が並んでいる画面だ。

 そこには「Driver」という値の名前が左にあり、右に値の名前として「{e0cbf06c-cd8b-4647-bb8a-263b43f0f974}\0004」みたいなのがある。これをメモしておく(テキストエディタにコピペしておけばいい)。

 続いて、同画面でで、右クリック。新規で「文字列」を追加。「Alias」という名前を付け、できた項目をダブルクリックで値を入力。「midi1」とか「midi2」とかかぶらない名前をつける。不具合が出てるデバイスが3つあるならmidi1からmidi3まで。1個ならmidi1が1個でかまわない。

 Driverの値をメモ、エイリアスをつける、この2つの作業をデバイスごとやるわけだ。

 続いて、別のノードをチェック。見るべきはここ。これを2番目のノードとする。

 コンピューター\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Drivers32

 この画面で右クリックで新規の値を追加していく。

 値の名前は「midi1」、データは先にメモしたDriverの値。

 これをデバイスの数分繰り返す。3個メモしてたのなら、「midi1」から「midi3」まで追加すればOK。

 あとはRegeditを終了して、Windowsを再起動。これで、MIDI INが正常に動く。

 と、ここまで期待させておいてあれだが、正常に動いたのは、先に挙げた不具合ありの3つのうち2つのみ。mi.1とmicro:bitだけだ。

 残念ながらRoland A-01はいまだにMIDI INがだめ。Windows側からMIDIデータつっこんで鳴らすのはできるんだけども(たとえば、MIDIberryの左上ハンバーガーメニューで出るバーチャル鍵盤から鳴らせる)。

 実はA-01については、今回のアップデートの前からMIDI INができないことがあった。ペアリングし直せばOKだったりしたので、あまり気にしてなかったの。しかし、May 2019ではぜんぜんだめ。前はBLEのデバイス名を変更する(本体SYSTEMメニューにある)とうまくいったりとかいうことがあったんだけど、それも今回は不可。

 なんでだろうなあ。と思いながら、6月初頭のWindows 10におけるBLE-MIDIの現状メモは終わります。なにか情報がありましたら、コメントやツイッターで教えてください。

(追記)

 ちなみに、KORGのUSB-MIDIデバイスでは、Windowsのインボックスドライバで動作するものの、エディターなどが動作しないという不具合が出ている。MIDIの番号が1-10に収まっていなくてはならないとか(上のリンクに詳しく書いてある)。この場合も同様の作業で問題が解決できる模様(というか、BLE-MIDIの話はこれを参考にしているので、順番が逆だ)。探すべきレジストリはおそらくここだ。

コンピューター\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4d36e96c-e325-11ce-bfc1-08002be10318}

 {4d36e96c-e325-11ce-bfc1-08002be10318} というのは、マルチメディアクラスのClassGuidだそうだ。

 参考
 ベンダーが使用できるシステム定義のデバイス セットアップ クラス - Windows drivers | Microsoft Docs

 ここからKORGのUSB-MIDIデバイスを探して、Aliasを追加して……、という作業になる。

 ウチの環境では、ここにnanoKontrolがあった。

 コンピューター\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4d36e96c-e325-11ce-bfc1-08002be10318}\0012

 ここにAliasとして「midi4」(数字は環境により異なる) を追加。

 で、以下までノードをたどる。
 0012 - Drivers - midi - KORGUM64.DRV

 この「KORGUM64.DRV」が、2番目のノードのmidi4の値に書くところとなる。あとはWindows再起動でOK。のはずだが、うまくいかない。むー。KORGのUSB-MIDIデバイスの問題はもう少し探ることにする。

追記

 6月第2週のアップデート(KB4503293)で、mi.1が認識されない件は解決。上記の作業は不要となった。A-01の入力が不可なのは変わらず。また、進展があったら書く予定。

|

« Web Bluetooth / BLE-MIDIをカンタンに試せるウェブアプリを作る | トップページ | ヤマハCBX-K1 XGのローカルオフ »

パソコン・インターネット」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)




« Web Bluetooth / BLE-MIDIをカンタンに試せるウェブアプリを作る | トップページ | ヤマハCBX-K1 XGのローカルオフ »