Skip to content

Instantly share code, notes, and snippets.

@elbruno
Created July 2, 2014 14:47
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save elbruno/e4816d4d5a59a3b159eb to your computer and use it in GitHub Desktop.
Save elbruno/e4816d4d5a59a3b159eb to your computer and use it in GitHub Desktop.
El Bruno - Kinect V2 SDK Speech demo
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