1

KinectSDKの例をモデルにしています

private static RecognizerInfo GetKinectRecognizer()
    {
        foreach (RecognizerInfo recognizer in SpeechRecognitionEngine.InstalledRecognizers())
        {
            string value;
            recognizer.AdditionalInfo.TryGetValue("Kinect", out value);
            if ("True".Equals(value, StringComparison.OrdinalIgnoreCase) && "en-US".Equals(recognizer.Culture.Name, StringComparison.OrdinalIgnoreCase))
            {
                return recognizer;
            }
        }

        return null;
    }

ウィンドウロード時

RecognizerInfo ri = GetKinectRecognizer();

        if (null != ri)
        {

            this.speechEngine = new SpeechRecognitionEngine(ri.Id);

             var directions = new Choices();
             directions.Add(new SemanticResultValue("forward", "FORWARD"));
             directions.Add(new SemanticResultValue("backward", "BACKWARD"));
             directions.Add(new SemanticResultValue("turn left", "LEFT"));
             directions.Add(new SemanticResultValue("turn right", "RIGHT"));

             var gb = new GrammarBuilder { Culture = ri.Culture };
             gb.Append(directions);

             var g = new Grammar(gb);

            speechEngine.SpeechRecognized += SpeechRecognized;
            speechEngine.SpeechRecognitionRejected += SpeechRejected;

            speechEngine.SetInputToAudioStream(
            kinect.AudioSource.Start(), new SpeechAudioFormatInfo(EncodingFormat.Pcm, 16000, 16, 1, 32000, 2, null));
            speechEngine.RecognizeAsync(RecognizeMode.Multiple);
        }

エラー:

タイプ'System.InvalidOperationException'の未処理の例外がMicrosoft.Speech.dllで発生しました

追加情報:認識を行う前に、少なくとも1つの文法をロードする必要があります。

私にできることは何ですか?

4

1 に答える 1

1

同じエラーが発生しました。riがnullであり、コンピュータに言語パックがインストールされていません。そして、あなたがそれらをインストールしたとしても、それはそれらを見つけることができませんでした。あなたがしなければならないのは、すべて、kinect SDK、ドライバー、ランタイム、ツールキット、Microsoft Speech x64 / x86、および言語パックをアンインストールすることです。次に、すべてを次の順序で再度インストールします。

1番目:KINECT SDK(ドライバーのように必要な残りすべてが付属しています)2番目:Microsoft Speech 3番目:言語パック

私はkinectsdk1.5を使用していますが、マイクロソフトの誰かがこれが可能な解決策である可能性があると私に言うまで、私はこれとまったく同じ問題を4日間抱えていました。

よろしく!カロライナ

于 2013-05-07T19:58:28.290 に答える