SDKにはx86用とx64用の2つがあり、開発環境に応じたものを導入する必要があります。
実行にはランタイムのインストールも必要です。これにもx86とx64の2つがあるため、環境に合わせてインストールします。SDKと同一プラットフォーム向けのランタイムは、これのインストール フォルダのRedist\SpeechPlatformRuntime.msiを実行することでもインストールできます。なおこれは、Microsoft Speech Platform - Runtimeで配布されているものと同一です。
SDKやランタイムには音声エンジンが含まれていないため、対象とする言語に合わせて別途インストールが必要です。必要なファイルは次のページからダウンロードできます。
このページでは多数のファイルが公開されていますが、それらは次の規則で命名されています。
static void Main( string[] args ) { // あか、みどり、あおを認識する、単純な文法を作成する Choices choices = new Choices(); choices.Add( new string[] { "あか", "みどり", "あお" } ); // GrammarBuilderのインスタンスを作成し、Choicesを追加する GrammarBuilder grammarBuilder = new GrammarBuilder(); grammarBuilder.Append( choices ); // Grammarのインスタンスを作成する Grammar grammar = new Grammar( grammarBuilder ); // SpeechRecognitionEngineのインスタンスを作成し、Grammarを読み込む SpeechRecognitionEngine speechRecognitionEngine = new SpeechRecognitionEngine( new System.Globalization.CultureInfo( "ja-JP" ) ); speechRecognitionEngine.LoadGrammar( grammar ); // Waveファイルを入力ソースとして設定する speechRecognitionEngine.SetInputToWaveFile( @"c:\sample.wav" ); // 音声認識イベントのハンドラを登録する speechRecognitionEngine.SpeechRecognized += new EventHandler<SpeechRecognizedEventArgs>( SpeechRecognized ); // 認識を開始する speechRecognitionEngine.Recognize(); } // 音声認識イベントのハンドラ static void SpeechRecognized( object sender, SpeechRecognizedEventArgs e ) { // 認識したテキストを出力する Console.Write( e.Result.Text ); }Get Started with Speech Recognition (Microsoft.Speech) | MSDN
SpeechRecognitionEngineのインスタンス作成時に「Speech Recognition is not available on this system. SAPI and Speech Recognition engines cannot be found.」として例外が発生することがあります。これは対象プラットフォーム向けのランタイムがインストールされていないのが原因で、それをインストールすることで解決できます。Speech Recognition is not available on this system. SAPI and Speech Recognition engines cannot be found
SpeechRecognitionEngineのインスタンス生成時に「No recognizer of the required ID found.」として例外が発生することがあります。これは指定の言語用の音声エンジンがインストールされていないのが原因で、それをインストールすることで解決できます。