private void ConfigureRealSenseSpeech() { // Instantiate session and audio source objects session = PXCMSession.CreateInstance(); audioSource = session.CreateAudioSource(); // Select the first audio device PXCMAudioSource.DeviceInfo deviceInfo; deviceInfo = new PXCMAudioSource.DeviceInfo(); audioSource.QueryDeviceInfo(0, out deviceInfo); audioSource.SetDevice(deviceInfo); // Set the audio recording volume audioSource.SetVolume(0.2f); // Create a speech recognition instance session.CreateImpl <PXCMSpeechRecognition>(out speechRecognition); // Initialize the speech recognition module PXCMSpeechRecognition.ProfileInfo profileInfo; speechRecognition.QueryProfile(0, out profileInfo); profileInfo.language = PXCMSpeechRecognition.LanguageType.LANGUAGE_US_ENGLISH; speechRecognition.SetProfile(profileInfo); // Build and set the active grammar pxcmStatus status = speechRecognition.BuildGrammarFromFile(1, PXCMSpeechRecognition.GrammarFileType.GFT_JSGF, "grammarsvm.jsgf"); if (status == pxcmStatus.PXCM_STATUS_NO_ERROR) { speechRecognition.SetGrammar(1); } else { MessageBox.Show("Java Speech Grammar Format (JSGF) file not found!"); this.Close(); } // Display device information //lblDeviceInfo.Content = string.Format("[Device: {0}, Language Profile: {1}]", deviceInfo.name, profileInfo.language); // Set the speech recognition handler PXCMSpeechRecognition.Handler handler = new PXCMSpeechRecognition.Handler(); handler.onRecognition = OnRecognition; speechRecognition.StartRec(null, handler); }
bool SetGrammarFromFile(String GrammarFilename) { Int32 grammar = 1; pxcmStatus sts = sr.BuildGrammarFromFile(grammar, PXCMSpeechRecognition.GrammarFileType.GFT_NONE, GrammarFilename); if (sts < pxcmStatus.PXCM_STATUS_NO_ERROR) { form.PrintStatus("Grammar Compile Errors:"); form.PrintStatus(sr.GetGrammarCompileErrors(grammar)); return(false); } sts = sr.SetGrammar(grammar); if (sts < pxcmStatus.PXCM_STATUS_NO_ERROR) { return(false); } return(true); }