M-VAVE SMC-MixerをSh4derJockeyでワイヤレス利用する

M-VAVE SMC-Mixer(KORG nanoKONTROL2によく似た形状のワイヤレス対応のMIDIコントコーラー)をAliExpressで購入したので、Windows 11へBluetooth MIDIで接続し、Sh4derJockeyのMIDIコントローラーとしてワイヤレスで利用できるようにしました。
Windowsでは専用のBLE-MIDI接続ソフトが必要だったほか、配布されているSinco Connectorだけでは必要なDLLが不足してクラッシュする問題にも遭遇しました。本記事では、実際に接続できた手順とトラブルシューティングをまとめます。
アリエクで買ったMIDIコン(M-VAVE SMC-Mixer)が無事に届きました!
— がむ (@gam0022) August 25, 2026
中国から発送なのに4日で届いてすごい…
電源つけたら光ってかっこいい✨️
nanoKONTROL2と並べるとちょうど良さそうなサイズ感でした pic.twitter.com/8DYq8m32JH
SMC-MixerをCCモードにする
SMC-Mixerの電源を入れ、SHIFTを押しながら右側のボタンを押します。

SHIFTを押している間に右側のボタンが点灯すれば、CCモードです。左側が点灯する場合はDAWモードです。
Sh4derJockeyではフェーダーやノブを通常のMIDI CCとして扱いたいため、CCモードを使用します。
Sinco Connectorをインストールする
WindowsでBLE-MIDIを利用するため、M-VAVE公式ダウンロードページの「Other Software」タブから「Sinco Connector」をインストールします。
SMC-MixerのBTボタンを長押しすると、青いランプが点滅してBluetooth接続待ちになります。Sinco Connectorを起動し、一覧からSMC-Mixerを選んで接続します。
接続に成功すると、本体の青いランプが点滅から点灯に変わります。
Sinco ConnectorがConnectingの直後にクラッシュする問題
私の環境では、Sinco ConnectorでConnectingと表示された直後にアプリが終了しました。Windowsのイベントログには、次の例外が記録されていました。
BTMidiConnector.exe
System.DllNotFoundException
BMIDI.GetPortIndexByName(...)
Sinco Connectorの実行ファイルを調べると、問題のメソッドは次のDLLを呼び出していました。
bmidilib2.dll!BMIDI_GetPortIndexByName
しかし、Sinco Connectorのインストーラーだけでは、bmidilib2.dllとBomeのバスドライバーbomebus.sysがインストールされていませんでした。
そこで、Bome BMIDI Virtual MIDI SDK公式ページから「BMIDI 2.1.0.44 Stand-Alone Installer」をダウンロードし、管理者としてインストールしました。
インストール後はPCを再起動し、さらにSinco Connectorも再起動します。BMIDI Driverを導入しても、起動中のSinco Connectorには反映されません。私の環境でも、Sinco Connectorを再起動することでMIDIメッセージが転送されるようになりました。
非公式サイトからDLL単体を入手するのではなく、署名済みドライバーを含むBome公式インストーラーを利用するのが安全です。
Sh4derJockeyから見えるMIDIポート名を確認する
デバイスマネージャーではSMC-Mixer (Bluetooth MIDI IN)と表示されましたが、Sh4derJockeyが利用するWinMM上の名前は異なっていました。
Windows MIDI Servicesのmidi1enumで確認できます。
midi1enum
私の環境では、次の入力ポートが表示されました。
0 : Default App Loopback (A)
1 : Default App Loopback (B)
2 : SMC-Mixer-bt
したがって、Sh4derJockeyにはSMC-Mixer-btを指定します。
Sh4derJockeyのconfig.yamlを設定する
MIDIデバイス名はpipeline.yamlではなく、プロジェクト直下のconfig.yamlへ記述します。
midi_devices:
- "SMC-Mixer-bt"
pipeline.yamlにmidi_devicesを書いても、Sh4derJockeyからは読み込まれません。
診断ログを表示しながら起動する場合は、-vvを付けます。
Set-Location "D:\VJ\draw_tokyo3\draw_tokyo3"
& "D:\VJ\sh4der-jockey\target\release\sh4der-jockey.exe" -vv
接続に成功すると、次のログが表示されます。
Connecting to input port: SMC-Mixer-bt
このバージョンのSh4derJockeyではRUST_LOG=infoではなく、-vvでInfoログを有効にします。
MIDI入力を確認する
Sh4derJockeyでbindできない場合は、先にmidi1monitorでMIDI入力だけを確認できます。
midi1monitor
一覧からSMC-Mixer-btを選び、フェーダーを動かします。Control Changeが表示されれば、SMC-MixerからWinMMポートまでの接続は正常です。
ポートは表示されるのに何も受信できない場合は、Sinco Connectorを再起動してから接続し直します。私の環境では、この再起動が最後の解決手順になりました。
ボタンをbindするためMidiSuite V1.3.7でNoteへ変更する
SMC-MixerをCCモードにすると、初期設定ではボタンもフェーダーと同じControl Changeとして送信されます。さらに、ボタンとフェーダーへ同じCC番号が割り当てられている箇所もありました。
Sh4derJockeyはControl Changeをスライダー入力、Note On/Note Offをボタン入力として扱うため、このままではボタン欄へbindできません。
そこで、M-VAVE公式ダウンロードページの「PC Software」タブから旧版の「MidiSuite V1.3.7」をダウンロードしました。新しいMidiSuiteではUSB接続したSMC-Mixerが認識されませんでしたが、V1.3.7では接続できました。
SMC-MixerをUSBケーブルでPCへ接続し、MidiSuite V1.3.7で各ボタンの送信形式をCCからNoteへ変更して、最後に「保存」ボタンを押します。NoteとCCは別種のMIDIメッセージなので、フェーダーと同じ番号を使用しても衝突しません。

変更後、ボタンを押して離すと、次のメッセージが送信されました。
90 1c 7f Note On Channel: 1, Note: 28, Velocity: 127
90 1c 00 Note On Channel: 1, Note: 28, Velocity: 0
Note OnのVelocity 0は、MIDIでは実質的なNote Offとして使われる表現です。しかし、元のSh4derJockeyはこれを押下として処理していたため、解放時にも押下回数が増え、最後に離してからの時間も更新されませんでした。
そこで、Velocity 0のNote OnをNote Offとして処理するようにSh4derJockeyを修正しました。変更内容はPull Request #6: Handle Note On with velocity 0 as Note Offで確認できます。
Sh4derJockeyでbindする
Sh4derJockeyでは、GUIのbindボタンを押し続けながらSMC-Mixerのフェーダーやボタンを操作し、その後にマウスボタンを離します。
bindを一度クリックしてからコントローラーを操作する方式ではない点に注意が必要です。
毎回の起動順
最終的に、次の順番で安定して利用できました。
- SMC-Mixerの電源を入れる
- CCモードを確認する
- Sinco Connectorを起動してSMC-Mixerへ接続する
- 本体の青いBTランプが点灯したことを確認する
- Sh4derJockeyを起動する
途中で入力できなくなった場合は、Sh4derJockeyより先にSinco Connectorを再起動します。
まとめ
Windows 11でM-VAVE SMC-MixerをSh4derJockeyからワイヤレス利用するには、Sinco Connectorに加えてBome BMIDI Driverが必要でした。
また、Sh4derJockeyに設定するデバイス名はデバイスマネージャーの表示名ではなく、WinMM上のSMC-Mixer-btでした。MIDIデバイス名をconfig.yamlへ記述し、Sinco Connector、Sh4derJockeyの順に起動することで、フェーダーとノブをBluetooth MIDI経由でbindできるようになりました。ボタンについては、MidiSuite V1.3.7で送信形式をNoteへ変更し、Velocity 0のNote OnをNote Offとして扱うSh4derJockeyの修正を適用することでbindできました。
Related Posts
NxPC.Live vol.77 NxPC.Lab × draw();でGLSLライブコーディングによるVJをしました
2026/3/27に開催されたNxPC.Live vol.77 NxPC.Lab × draw()にて、RIKUPIさんのDJにGLSLライブコーディングによるVJで出演しました。
draw(tokyo); #3でGLSLライブコーディングによるVJをしました
10/12に渋谷のclubasiaで開催されたオーディオビジュアルイベントdraw(tokyo);
draw(tokyo); #2でVJデビュー!(GLSLライブコーディング)
3/22に渋谷のCIRCUS TOKYOでオーディオビジュアルイベントdraw(tokyo);#2が開催されました。
HugoをGitHub Pagesで公開し、2リポジトリ構成の管理を楽にする方法
本サイトのホスト先をConoHa VPSからGitHub Pagesに乗り換えました。
Google Search and Ray Tracing Were Driven by the Same Mathematical Algorithm: A 1998 Miracle in Computer Science
PageRank and path tracing may look unrelated, but they share the same mathematical foundations. This article explains their recursive structure and the magic of random sampling …
Google検索とレイトレーシング、実は同じ数理アルゴリズムで動いていた。1998年に起きた「計算機科学の奇跡」
一見無関係に見える「ページランク」と「パストレーシング」。その根底にある数学的共通点と、再帰的な定義を解き明かすランダムサンプリングの魔法について解説します。
Books
ブログ執筆者の著書


