Exemple #1
0
 public BotAudioProvider(RadioInformation receivedRadioInfo, ConcurrentQueue <byte[]> responseQueue)
 {
     LogClientId          = receivedRadioInfo.name;
     _speechAudioProvider = new BufferedWaveProvider(PcmMono16Ks16Le)
     {
         BufferDuration          = new TimeSpan(0, 1, 0),
         DiscardOnBufferOverflow = true,
         ReadFully = false
     };
     _silence = new byte[_speechAudioProvider.WaveFormat.AverageBytesPerSecond * 2];
     SpeechRecognitionListener = new SpeechRecognitionListener(_speechAudioProvider, responseQueue, receivedRadioInfo);
 }
Exemple #2
0
        private bool startEnqueueAudio = true; //a flag to indicate whether to put received audio in the queue.

        public EBookSpeechRecognizer(SpeechRecognitionListener listener)
        {
            this.listener = listener;

            if (recEngine == null)
            {
                recEngine = new SpeechRecognitionEngine();
                recEngine.EndSilenceTimeout          = TimeSpan.FromMilliseconds(UNAMBIGUOUS_SILENCE_TIMEOUT);
                recEngine.EndSilenceTimeoutAmbiguous = TimeSpan.FromMilliseconds(AMBIGUOUS_SILENCE_TIMEOUT);

                recEngine.SpeechRecognized          += recEngine_SpeechRecognized;
                recEngine.SpeechHypothesized        += recEngine_SpeechHypothesized;
                recEngine.SpeechRecognitionRejected += recEngine_SpeechRecognitionRejected;
                recEngine.SpeechDetected            += recEngine_SpeechDetected;
                recEngine.AudioStateChanged         += recEngine_AudioStateChanged;
                recEngine.LoadGrammarCompleted      += recEngine_LoadGrammarCompleted;
                recEngine.RecognizeCompleted        += recEngine_RecognizeCompleted;
                recEngine.AudioLevelUpdated         += recEngine_AudioLevelUpdated;
            }
        }