最近KinectでSpeechを使った音声認識の情報がぽろぽろ出始めたので少しやってみました。
Speechサンプルの動作に必要なファイル
Speech サンプル (x86 のみ)を動作させるには、次の3つをインストールする必要があります。これらをインストールしてSpeechサンプルが動作すること(red,blue,greenの声を認識すること)を確認してください。
- Microsoft Speech Platform - Server Runtime, バージョン 10.2 (x86 エディション)(英語)
- Microsoft Speech Platform - Software Development Kit, バージョン 10.2 (x86 エディション)(英語)
- Kinect for Windows Runtime Language Pack, バージョン 0.9(Kinect for Windows SDK Beta用のMicrosoft Speech Platform旧バージョン) (英語)
ソース
kinect_sdk_sandbox/Program.cs at master · kaorun55/kinect_sdk_sandbox · GitHub
追加したのは次の2か所のみです。"AppID"には Bing Developer Center で取得した Aplication IDを入れてください。
private static BingTranslate.LanguageServiceClient translator = new BingTranslate.LanguageServiceClient( "BasicHttpBinding_LanguageService", "http://api.microsofttranslator.com/V1/soap.svc" );
Console.Write( "\nSpeech Recognized: \t{0}", e.Result.Text ); Console.WriteLine( "\t{0}", translator.Translate( "AppID", e.Result.Text, "en", "ja" ) );
LanguageServiceClientはバージョンが上がったためか、同名のクラスが2種類あるので、名前で分けてあげます。 app.config の中に「BasicHttpBinding_LanguageService」と「BasicHttpBinding_LanguageService1」ができるので、今回は「BasicHttpBinding_LanguageService」を使いました。
これを設定しない場合の例外は、次のように表示されます。
コントラクト 'ServiceReference1.LanguageService' の複数のエンドポイント構成が見つかったため、このコントラクトのエンドポイント構成セクションを読み込めませんでした。優先するエンドポイント構成セクションを名前で指定してください。