Search code examples
wpf.net-4.0speech-recognitionkinectsapi

Speech Recognition - Unhandled Exception - SAPI Not Found, even when installed


I am trying to use Microsoft Kinect, for audio recognition. This is on a Windows 7 x64 machine.

I am able to use the Kinect for Speech Recognition, using the default Windows Speech Recognition. I have installed Microsoft Speech SDK 5.1, SpeechPlatformRuntime (x64) and MicrosoftSpeechPlatformSDK (x64), compiling for .NET 4.0 (tried with client version too).

But when I try to do this in a wpf app in VS,

RecognizerInfo ri = SpeechRecognitionEngine.InstalledRecognizers().Where(
    r => r.Id == "SR_MS_en-US_Kinect_10.0").FirstOrDefault();
var sre = new SpeechRecognitionEngine(ri.Id);

It throws up the following in the Output window..

A first chance exception of type 'System.Runtime.InteropServices.COMException' occurred in Microsoft.Speech.dll
A first chance exception of type 'System.PlatformNotSupportedException' occurred in Microsoft.Speech.dll
An unhandled exception of type 'System.PlatformNotSupportedException' occurred in Microsoft.Speech.dll

Additional information: Speech Recognition is not available on this system. SAPI and Speech Recognition engines cannot be found.

I am missing something small but important here. Since, Windows can use the Kinect to recognize the speech, I am sure all the necessary drivers are installed. Also, I have installed SAPI, and the speech SDK.


Solution

  • Had forgotten to install the x86 version of Microsoft Speech Platform - Server Runtime.

    It's mentioned here, under "Updates for Kinect for Windows SDK Beta 2" : http://channel9.msdn.com/Series/KinectSDKQuickstarts/Getting-Started