CASIO USB-MIDIドライバ 64bit版Windows 対応方法

<2012/12/22追記 公式対応>
久々にCASIOの製品別Windows ®7対応状況を見たら10月25日付で更新されており、なんとUSB-MIDIドライバが64bit対応になったようだ!
対応予定なしと言っていたのだが、Windows8対応に合わせてやったのかもしれない。 ダウンロードは以下より。

CASIO:http://support.casio.jp/download.php?cid=008&amp;pid=321

(※下記のような方法で他機種のドライバを流用していた方は、事前にアンインストールしておいたほうが良いだろう。)

「CCUSBX64_INST.zip」をダウンロードし解凍。
あとはフォルダ内の「dpinst.exe」を実行すればインストールされる。
キーボードを接続し、無事認識されれば完了!

どうせ対応するならもっと早くやってくれよな!CASIO!


※以下は古い情報です

家にはお遊び用のLK-202TVという電子キーボードあり、USB端子でPCと接続しMIDIをやり取りできる。
だが、肝心のそのUSB-MIDIドライバが64bitOSに対応していないのである。(参照:CASIO対応状況
以前、CASIOに問い合わせたことがあるのだが、一応担当部署には伝えるとか言っていたが今後対応する気はなさそうだ。

ということで、Googleで検索しているとGoogle Codeで「casio-usb-midi-driver-x64」というプロジェクトを見つけた。
64bitOSにドライバを移植するプロジェクトみたいだ。
リポジトリを覗いてないのでよくわからんが、リリースはされていないみたい?
あきらめ半分そこに投稿されてる情報を見ていると、RolandのPC-50というMIDIキーボードの64bitドライバを流用したところ正常に動作したというのだ。
物は試しなので、導入してみると…バッチリ大成功。
てなことで以下に手順をざっと書いておきます。

まず、Roland PC-50のドライバを入手

こちらより、ご利用の64bit Windowsのドライバをダウンロード。
ZIPで圧縮されてるので解凍しときます。

CASIOキーボード用に書き換えます...

まず、コントロールパネルからデバイスマネージャで対象のキーボードであろう「不明なデバイス」が表示されていると思います。
そのプロパティの「詳細」タブの[プロパティ]-[ハードウェアID]の値をコピーしておいてください。
私のキーボードの場合「USB\VID_07CF&PID_6802&REV_0100」でした。 ハードウェアID

先ほど解凍したフォルダ内の「Files」フォルダにある「RDIF1053.INF」をテキストエディタで開きます。
そしたら、44行目の

%RDID0053DeviceDesc%=RDID0053Install, USB\VID_0582&PID_008B ; PC-50

を見つけてください。(Windows 7 64bit用INFファイルなので他と違う可能性があります)

そうしましたら、このコンマ以降の「USB\~~~」を先ほどコピーしたハードウェアIDに置き換えてください。
↓LK-202TBの場合こんな感じ

%RDID0053DeviceDesc%=RDID0053Install, USB\VID_07CF&PID_6802&REV_0100

次に、INFファイル下部にある[Strings]セクションをいじります。(省略可)

121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
[Strings]
MfgName="Roland"

RDID0053DiskName="PC-50 Driver Installation disk"
RDID0053DeviceDesc="PC-50"

Proxy.CLSID="{17CCA71B-ECD7-11D0-B908-00A0C9223196}"
KSCATEGORY_AUDIO="{6994AD04-93EF-11D0-A3CC-00A0C9223196}"
KSCATEGORY_RENDER="{65E8773E-8F56-11D0-A3B9-00A0C9223196}"
KSCATEGORY_CAPTURE="{65E8773D-8F56-11D0-A3B9-00A0C9223196}"

KSNAME_Mo11="MidiOut1-1"
WDM.Mo11.szPname="PC-50 MIDI OUT"

KSNAME_Mi11="MidiIn1-1"
WDM.Mi11.szPname="PC-50"

121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
[Strings]
MfgName="CASIO"

RDID0053DiskName="LK-202TV Driver Installation disk"
RDID0053DeviceDesc="LK-202TV"

Proxy.CLSID="{17CCA71B-ECD7-11D0-B908-00A0C9223196}"
KSCATEGORY_AUDIO="{6994AD04-93EF-11D0-A3CC-00A0C9223196}"
KSCATEGORY_RENDER="{65E8773E-8F56-11D0-A3B9-00A0C9223196}"
KSCATEGORY_CAPTURE="{65E8773D-8F56-11D0-A3B9-00A0C9223196}"

KSNAME_Mo11="MidiOut1-1"
WDM.Mo11.szPname="LK-202TV MIDI OUT"

KSNAME_Mi11="MidiIn1-1"
WDM.Mi11.szPname="LK202TV MIDI IN"

のように書き換えます。

したら、書き換えは終了、上書き保存を忘れなく。

ドライバの認識・インストール

先ほど開いたデバイスマネージャの不明なデバイスの「ドライバー」タブより「ドライバーの更新」をクリック。
ドライバの更新1

なんかウィザードが表示されるので、下の「コンピューターを参照してドライバーソフトウェアを検索します」を選択。
ドライバの更新2

んで、先ほど作業したINFファイルがあるフォルダを選択し、「次へ」
ドライバの更新3

発行元の検証がどうとか警告されますが、Rolandのサイトからダウンロードしたドライバであることを確認した上で「インストールします」を選択。
ドライバの更新4

少しするとインストールが完了すると思います。
(ここで検出されない場合は、ハードウェアIDの書き換えに問題があるか、そのCASIOキーボードとPC-50ドライバの互換性がない)
ドライバの更新5

さてさて、MIDI対応ソフトなどで動作を確認してみてくださいな・・・

[追記] やはり正常動作には至らず?

私はWindows7 Professional 64bit環境で利用しているのだが、どうも調子が悪い。
一応、上記の手順でドライバをインストール・認識に成功した。
下の画像でもわかるように、きちんとMIDIメッセージ入力が行われている。
MIDI Input

しかし、暫くすると、突然うんともすんとも言わなくなることが多々ある。
たまにCASIOキーボード側がフリーズ状態になってしまったり、電源が自動で切れたりするのだ。
何度か再接続・再起動を繰り返していると、Windowsによって正常に認識されなくなってしまった。
異なるUSBポートに接続したり、PCIの増設USBポートに接続しても変わらないので、USBコントローラ側の問題ではなさそう。
やはり、純正USB-MIDIドライバではないから正常動作しないようだ。
USB Unknown

調子が良い時もあるのだが、機嫌を損ねるとダメらしい(笑)
まあ、所詮お遊びキーボードだし、デバイスドライバを解析する頭もないのでこれ以上の追及はやめた。
ザブのXP機に接続するか、押入れからMIDI端子付きの古い重いキーボードを出すか、お安いMIDIキーボードを新規購入するか…