Created
July 2, 2014 14:47
-
-
Save elbruno/e4816d4d5a59a3b159eb to your computer and use it in GitHub Desktop.
El Bruno - Kinect V2 SDK Speech demo
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
private void WindowLoaded(object sender, RoutedEventArgs e) | |
{ | |
kinectSensor = KinectSensor.GetDefault(); | |
kinectSensor.Open(); | |
var audioBeamList = kinectSensor.AudioSource.AudioBeams; | |
var audioStream = audioBeamList[0].OpenInputStream(); | |
convertStream = new KinectAudioStream(audioStream); | |
Var ri = GetKinectRecognizer(); | |
recognitionSpans = new List<Span> { forwardSpan, backSpan, rightSpan, leftSpan }; | |
speechEngine = new SpeechRecognitionEngine(ri.Id); | |
// Create a grammar definition ... | |
speechEngine.SpeechRecognized += SpeechRecognized; | |
speechEngine.SpeechRecognitionRejected += SpeechRejected; | |
convertStream.SpeechActive = true; | |
speechEngine.SetInputToAudioStream( | |
convertStream, new SpeechAudioFormatInfo(EncodingFormat.Pcm, 16000, 16, 1, 32000, 2, null)); | |
speechEngine.RecognizeAsync(RecognizeMode.Multiple); | |
} | |
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; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment