none
Speech recognition RRS feed

  • Question

  •  

    Hi,

    I have a problem with the speech recognition engine.

    It works perfectly if I say something immediately after my application has started.

    In that case -> it will work ok the entire session.

    If I wait a few seconds before saying something however ...

    In that case -> it will not work at all in the entire session.

     

    Source sniplet for setting up the speech recog:

    speechEngine = new SpeechRecognitionEngine(ri.Id);

                   

    // Use the default audio device for input.

    speechEngine.SetInputToDefaultAudioDevice();

    // Create a grammar from the grammar definition XML file.

    using (var memoryStream = new MemoryStream(Encoding.ASCII.GetBytes(Properties.Resources.SpeechGrammar)))

    {

    var g = new Grammar(memoryStream);

    speechEngine.LoadGrammar(g);

    }

    // Hook up the interesting events      

    speechEngine.SpeechRecognized += SpeechRecognized;

    speechEngine.SpeechRecognitionRejected += SpeechRejected;               

    speechEngine.SpeechHypothesized += SpeechHypothesized;

           

    // Start recog.                       

    speechEngine.RecognizeAsync(RecognizeMode.Multiple);

     

    I use this in context of a Kinect application (currently using Kinect 1.5 SDK).

    The reason for using SetInputToDefaultAudioDevice() is that I need to be able to not just use the Kinect sensor Audio input (e.g. use a headset in a noisy environment).

    As far as I understand the default timeout (InitialSilenceTimeout) should be ok.

    I've tried modifying it (and also other timeout’s) without success.


    Pelle

    Wednesday, January 30, 2013 2:49 PM