From window, to wind

趣味のゲームとJavaプログラムなどについて 適当に書き綴るブログ

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

脳波センサのAPI取得

NHKの某番組を見て脳波センサが欲しくなったのでついつい買っちゃいました。

買った物は東芝のMindTune(21000円)です。安いと考えるか高いと考えるかはお任せします。
http://www.toshiba-tops.co.jp/e_shop/acessories/mindtune/
IMG_0674.jpg
心配だったのですが、Windows7 64bitでも問題なく動きます。

測定できるのは
Delta,Theta,LowAlpha,HighAlpha,LowBeta,HighBeta,LowGamma,HighGammaの8種とAttention(集中),Meditation(瞑想)の2種です。実際には波形を取って周波数から8種に分けて集中と瞑想を計算してるのだと思います。

付属ソフトの画面
Visualizer.jpg

集中と瞑想をコントロールするゲームもあるので簡単な遊びは出来ます。

このソフトで測定した物をニコ動に上げてあるので、挙動が気になる方はそちらでご確認を。


タイトルにあるとおり今回はAPIで脳波センサの取得にチャレンジしてみました。
内容は続きからどうぞ。

購入したのは東芝のMindTuneですが、ニューロスカイのMindSetと同等の物なのでMindSetと同じくSensor APIで情報を取得できます。脳波センサのAPI取得方法についてはMSDNのブログにまとまっています。

ただ幾つか注意点があったのでそちらをまとめることにします。

まず下記のページを参考にしてドライバをインストールする必要があります。その際にWindowsDriverKitをインストールする必要があるのですが、ISOファイルですので仮想ドライブなどでマウントしてください。
http://neurosky.jp/thinkgearsensor.html

ドライバのインストールのほかにSensor APIを使う必要があるのでWindows API CodePackをダウンロードする必要があります。そしてSensorなどを参照プロジェクトとして追加します。ただし注意点として、下記のブログに書いてある既存のプロジェクトの追加はVisualStudio2010C# Expressでは利用できないので、Professionalの評価版などを利用してください。Expressでも出来ました、誤情報すいません。
http://msdn.microsoft.com/ja-jp/windows/ff432707.aspx

準備ができたら、下記サイトを参考にしてコードを書いていきます。途中XAMLの記述で1か所余分にstackpanelのタグを記述しているところがあるので注意です。
http://msdn.microsoft.com/ja-jp/windows/ff512470.aspx

ここまでブログ通りの操作をしても、おそらく実行時にDataReportがnullとなって例外を吐きます。原因を調べるためプロパティ値を見てみるとSensorのアクセスが否定されていることが分かります。原因としてはセンサーの情報を外部アプリで取得できる用に設定していないことが挙げられます。下記のブログから対処法が分かりました。
http://blogs.msdn.com/b/hirosho/archive/2010/05/10/windows-7-sensor-api-faq-for-obaka.aspx
コントロールパネルで設定を変更します。
センサーを有効

これでC#でセンサの情報を取得できるようになります。集中と瞑想以外の情報の取得方法については下記のブログを参考にしてください。
http://blogs.msdn.com/b/hirosho/archive/2010/03/10/neurosky-mindset-windows-7-sensor-api.aspx
Sensorの情報については下記のブログを見ると参考になると思います。
http://msdn.microsoft.com/ja-jp/ff963708

プログラミング素人には結構苦労する内容だったので参考になったサイトをまとめさせてもらいました。まあ自分が後で確認する時のメモ用ですね。VisualStudioのProfessionalの評価版は期限があるので気をつけてください。

何かツールとしてまとまったら、また記事にしようと思いますのでお待ちください。
スポンサーサイト

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバックURLはこちら
http://kagenyan.blog69.fc2.com/tb.php/131-f60efd3d
この記事にトラックバックする(FC2ブログユーザー)

FC2Ad

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。