昨日のエントリの続き、今回はPCでMUSEを使ってみます。


MUSEのSDKなど開発情報はこちらから得ることができます。

MUSE開発サイト









ではまず、SDKをダウンロードしましょう。


To Get Started: の下にある、1. Download the SDKをクリックし、必要なのはDownload MuseSDK Tools 3.4.1 (MuseIO, MuseLab, MusePlayer) for: です。

その下にあるLibMuseはスマホアプリを作るためのライブラリなので、PCで動かす場合は必要ありません。


ダウンロードしたzipファイルはインストーラーになっているので、そのままインストールします。


中には主に3つのアプリが入っています。

  • MuseIO: MUSEと通信するためのコマンドプロンプトアプリ。これが重要。
  • MuseLab: データを見るためのGUIアプリ。MuseIOと一緒に使う。
  • MusePlayer: データを記録したり再生したり変換したりするためのコマンドプロンプトアプリ。今回は使わない。

さて、インストールしたらもうOKなのですが、使うときにはまずデバイスをPCとBluetoothでペアリングしないといけません。


ペアリングは、PCのBluetoothの設定で行います。MUSEの右耳内側の電源ボタンを6秒押すとペアリングモードになりますので、それでペアリングすればOKです。


さて・・・ここで結構困ったのですが、 どうやらPCで読み込む場合には、

  • MuseIOでMUSEとPCを繋ぐ: MuseIOが一種の中継基地になる
  • MuseLabからMuseIOを見に行く

のような流れになります。


まず、MuseIOを使います。コンソールを起動し、 Museをインストールしたディレクトリに移動します。



デフォルトの場合はC:\Program Files (x86)\Museにインストールされてますので、


cd C:\Program Files (x86)\Muse


と入力しましょう。


これでmuse-io.exeのあるディレクトリに移動しているので、


muse-io --osc osc.udp://localhost:5000


と入力します。そうすると、Museを探しにいき、見つけたら 


Connection failure 2615.
Device match pattern: muse
Connecting to paired device "Muse": n/a

Connection failure 2616.
Device match pattern: muse
Connecting to paired device "Muse": open!

Connected.

================== Muse Status ==================
  Muse Hardware:         12.0.0
  Muse Firmware:         7.2.4
  Muse Firmware type:    Consumer
  Muse Bootloader:       7.2.4
  Build No:              44
  BT Mac Address:        00066668B263
  BT Firmware:           Ver 5.45 IAP 10
  Serial:                1120-BDUV-B263
  Preset:                14
  Filters Enabled:       true
    - Notch Frequency:   60Hz
  Accelerometer Enabled: true
  EEG Sample Frequency:  3520Hz
  EEG Output Frequency:  220Hz
  EEG Samples Bitwidth:  10
  EEG Channel Count:     4
  EEG Channel Layout:    TP9 FP1 FP2 TP10
  Downsampling:          16
  Output Mode:           SEROUT_COMPRESS
=================================================

bits/second: 8630       receiving at: 220.17Hz          dropped samples: 0


みたいな感じでMuseの情報を取得、表示します!


さて、ここでよくわからないのがosc


これ、 PC同士などで通信するときのデータ形式の一つでOpenSound Contolというもの。元々は音楽のMIDI用に作られたものだそうなのですが、便利なのでいろいろ使われているようです。


MuseIOは、Bluetooth経由でPCとMuseを繋ぎ、自分自身がosc形式のデータを送信するクライアントとして機能するアプリのようです。


つまり、上のコマンド muse-io --osc osc.udp://localhost:5000 の場合、通信はUDP方式で行い(たぶんTCP/IPでもできるのですが、調べてません)、ホストのポート番号を5000にしているというわけです。



なんのこっちゃ?



と思われるかもしれませんが、謎はMuseLabを起動すればわかります。 




・・・というわけで、MuseLabをダブルクリックしてみましょう。
(以下、全画面は見えづらいので、画像をクリックして拡大して確認して下さいませ。)


MuseLab起動直後



何も表示されてないし、何をどうしていいかわかりません。右上には見覚えのあるMuseとの接続状態を示すアイコンがあります。

この状態ではまだMuseLabがMuseIOにアクセスできていないわけです。


ここで左上にTCPとUDPを選ぶボタンがあり、その左側にOpened Portsってのがありますよね!


そこで、UDPを選び、MuseIOを起動したときに設定した5000をOpened Portsに入力して、下のOpen Portボタンをクリックします。

MuseLab-OpenPort



これで繋がったのですが、まだ表示はされません。何故なら表示はVisualizerだからです。


左上のメニューの下でOSCというものを選んでいますが、そのプルダウンメニューでVisualizersを選びます。

MuseLab-Visualizer



するとこんな画面が出ますので、とりあえずScrolling Line Graphを選んでFinishボタンをクリックします。

MuseLab-NewVisualizer 




これでOKです。


左の列に、ディレクトリみたいな名前がいっぱい並び、チェックボックスで選ぶことができます。


これらは全て、osc形式で送られてきているMuseからのデータの情報です。とりあえず脳波が見たいので、 eegと書いてある4つをチェックしてみましょう。


すると、脳波が4本表示されました!!! 




さて、試しに5回まばたきしてみたデータがこちら。


MuseLab-5blinks
 


ちゃんと5回ピクピク反応してますね^^。




いろいろ試してみたのですが、例えば片目をつぶると一見すんごく反応しているように見えるものの、実は片目だけつぶると少しおでこが変形するので、電極の接触が悪くなっているだけのようです。


しばらくこれでどんなデータが取れそうか、特徴を掴んでみましょうね。



そして、その次はついに自分でコーディングしてこのoscデータを取り込んでみたいと思います。