小ネタ 2008-013
ギターヒーロー3のギター型コントローラーをPCに接続してみる
Wii「ギターヒーロー3」のコントローラーを調べてみた。(2008-6-7)
Wiiの「ギターヒーロー3」というゲームには、ギター型のコントローラーが付属している。
このコントローラーは、Wiiリモコンの拡張ポートに接続して、Wiiリモコン自体をギター内に収納するような形になっている。
Wiiリモコン用の拡張機器なので、中身はヌンチャクやクラシックコントローラーと同様だと思われる。
試しにPCとWiiリモコンを接続して、このギターコントローラーの入力を読み出すソフトを作ってみた。
コントローラーにWiiリモコンをセットしたところ
作成したテスト用のソフトを公開しておく。
読み出した数値が表示されるだけで特に面白いものではないが、何かギターコントローラーを使ったソフトを作るための部品として参考にはなると思う。
[ ギターヒーロー3コントローラー(Wii)のテスト用ソフト 実行ファイルとソースコード (download) ]
(tiny_hid_dllが以前のものから更新して新しいものに入れ替わっている。古いDLLと混ぜないように注意。)
このギターコントローラー用のソフトは、ヌンチャクやクラシックコントローラー用のソフトとほとんど一緒である。以前の解析結果がほぼそのまま使用可能。
ただし、初期化の手順がヌンチャク/クラシックコントローラーに比べて少しだけ追加になっている。
(後日加筆)
GlobePIEというソフトはかなり前に対応していたそうだ。Wii版が日本で発売されたのは2008-05-22だが、海外では2007年末に既に発売されていたらしい。
PLAYSTATION3「ギターヒーロー3」のコントローラーを調べてみた。(2008-6-15)
PLAYSTATION3の「ギターヒーロー3」というゲームに付属のギター型のコントローラーは、無線式になっており、PS3本体にUSBの受信機のドングルを挿して使う。
このUSBドングルは、PCに挿すとUSBゲームパッドとして認識される。
このため、PS3版のギターヒーロー3コントローラーは、何もしなくてもPCでゲームパッドとして使うことができる。
ゲームパッド用のAPIを使って、ギターコントローラーの入力を読み出すソフトを作ってみた。
他のゲームパッドとの判別ができないので、他のゲームパッドは接続しないこと。
[ ギターヒーロー3コントローラー(PS3)のテスト用ソフト 実行ファイルとソースコード (download) ]
(後日加筆)
HID(ヒューマンインターフェースデバイス)用のAPIを使ってソフトを作ってみた。
他のゲームパッドとの判別ができるようになった。
[ ギターヒーロー3コントローラー(PS3)のテスト用ソフト その2 実行ファイルとソースコード (download) ]
方向ボタンは、ハットスイッチ(POV)として入力される。ニュートラルの場合と8方向のどれかの入力の場合とで、9つの値のいずれかが入力値になる。
ギターの弦のボタンは、方向ボタンの上下と一緒。
レバーは、3つめの軸(z軸)として入力される。
その他
XBox360版のギターヒーローコントローラーをPCに接続することも可能っぽい。
Playstation2版も、PS2コントローラーをPCに接続するためのアダプターを中継させれば使うことができると思われる。
ギターヒーロー3の無線版よりも前作の有線のコントローラーのほうが確実に接続できるかもしれない。
PCに接続したギター型コントローラの使いみち
PC用のギター演奏のフリーソフトのゲーム「Frets on Fire」で使うのが面白そう。プレイ動画を見た感じギターヒーローに似ている。
PS3版のコントローラーは割と簡単に対応可能なようだ。
Wii版ギターコントローラーを対応させるソフトを作ってみようかなあ。
自前で、ジャミネーターのような演奏ソフトを自作してみたい。
楽器の音を出すため、シンセサイザー的な波形合成ツールキット「The Synthesis Toolkit」というのがフリーソフトなので良さそうだ。
iPhoneのPocketGuitarというギター演奏ソフトがこのライブラリを使っているようで、ギター演奏ソフトが作れるのは実証されていると言える。
ツールキットのソースコードに同梱されているサンプルプログラムをWindows上でビルドして試してみた。
SKINIという形式で演奏データを渡してやるだけで音を出すことができた。
もっと簡単に楽器の音を出すためには、MIDI出力するというのでもいいのかもしれない。
[ MIDIギター音のテスト用ソフト 実行ファイルとソースコード (download) ]