フューチャーホームコントローラーの音声認識をKinect for Xbox 360に肩代わりさせるまでの手順
はじめに
フューチャーホームコントローラー(Future Home Controller: FHC)は、以前の記事で書いたように、家電を音声でコントロールできるようにする未来感あふれるガジェットです。
ただちょっと困っているのが、音声をうまく認識してくれないことがあるのと、音声認識に時間がかかる点です。小さなハードウェアなのでスペック的に大変なのだと思います。
デフォルトの呼び掛けである「コンピュータ」を使うと、もっと精度がいいのかもしれませんが、やっぱり愛着があるほうがいいので、「ねぇジュイス」を呼び掛けにしています。
よく考えたらKinectにも音声認識機能があるので、音声認識だけをKinectでやったらどうなるか試してみました。*1
主に以下の記事を参考にさせていただきました。感謝です。この記事での「参考サイト」という表記はこの記事を指します。
Kinect for Windowsで機器を作るヒント(4) ―― 日本語の音声認識をやってみる|Tech Village (テックビレッジ) / CQ出版株式会社
Kinectハックの現状
今回試してみるまで、Kinect for Xbox 360をPCに繋ぐためには、サードパーティのドライバなどが必要で面倒そうなイメージがありました。しかし現状ではMicrosoftから公式にSDKが公開されており、このSDKを利用する場合は、もはやハックという感じではなくなっています。
Kinectハックの歴史を簡単にまとめると次のようになります。
- 2010年11月 Kinect発売
- 2010年12月 OpenNI公開
- 2011年6月 Kinect for Windows SDK Beta公開
- 2012年2月 Kinect for Windows SDK正式版公開
- 2012年5月 Kinect for Windows SDK 1.5公開。日本語認識が可能に
- 2012年10月 Kinect for Windows SDK 1.6公開。本記事執筆時点(2013年2月)で最新
なお、Kinect for Xbox 360をPCに接続する使い方は、非商用利用に関してのみ認められています。商用利用する場合は、Kinect for Windowsを利用しましょう。
1. Kinect for Xbox 360をPCに接続するためのケーブルを用意する
Kinect for Xbox 360を単体で買った場合やKinect for Windowsを買った場合はすぐにPCに接続できますが、XboxとKinectのセットを買った場合はPCと接続するケーブルが付属しません。
このため、まずケーブルを入手する必要があります。一般的にはMicrosoftに電話して購入するみたいですが、公式ページに記載が見つからなくて面倒だったので、Amazonで購入しました。
参考:
Kinect 電源 / USB ケーブルの入手方法 - 川西 裕幸のブログ - Site Home - MSDN Blogs
購入した変換ケーブル:
Microsoft マイクロソフト Xbox 360用 Kinectセンサー ACアダプタ-538086
- 出版社/メーカー: OEM
- メディア: エレクトロニクス
- この商品を含むブログ (1件) を見る
2. Visual Studio 2012をインストールする
C#で開発したいので、Microsoft Visual Studio Express 2012 for Windows Desktopをインストールします。*3
Microsoft Visual Studio Express 2012 for Windows Desktop | Microsoft Visual Studio
3. Kinect SDKなどをインストールする
以下のページからKinect for Windows SDKとDeveloper Toolkitをダウンロードしてインストールします。
Download the Kinect SDK & Developer Toolkit | Kinect for Windows
4. KinectをPCに接続する
手順1. で用意したケーブルを使って、KinectをPCに接続します。接続したら、Developer Toolkit BrowserからKinect Explorerなどのアプリケーションを実行し、正常に認識できているか確認します。
参考サイトにあるように、音声認識を使ったサンプルとして「Speech Basics-WPF」があります。「Run」ボタンを押すと起動し、Forward / Back / Turn Left / Turn Rightの掛け声で亀を動かせます。
「Install」ボタンを押すと、ローカルにプロジェクトのファイル一式がコピーされ、サンプルのソースを自由に変更して、動きを試せるようになります。
5. Speech SDKをインストールする
参考サイトにあるように、Developer Toolkit BrowserからSpeech Platform SDK 11.0のWebサイトにアクセスし、環境に合わせたSpeech Platform SDKをインストールします。
また、Kinect Speech Language PacksのWebサイトにアクセスし、日本語の言語パックもインストールします。
6. KinectとFHCを連携させる
およそ以下のようなプログラムを作りました。
呼び掛けの名前はFHCで設定したものと互いに被らないようにするか、FHCの音声認識を無効にしておくと良いです。
コマンドプロンプトで以下のように実行できます。
Kinect-FHC.exe [OPTION] FHCのIPアドレス APIキー 呼び掛けの名前
例:
Kinect-FHC.exe 192.168.1.5 webapi_XXXXXX ねぇジュイス
詳細は以下のページをご覧ください。