2014-05-11 4 views
0

현재 Microsoft Kinect SDK를 사용하여 음성 인식 응용 프로그램을 개발 중입니다. 응용 프로그램의 목표는 문법이 포함 된 (유효한) XML 파일을로드하고이를 사용하여 음성을 처리하는 것입니다.Kinect 음성 인식 리소스 문법 참조

응용 프로그램을 기반으로 이미 하나 기존의 I 거의 이해 한 부분을 제외하고는 모든 코드 :

  RecognizerInfo ri = GetKinectRecognizer(); 
     if (ri != null) 
     { 
      this.spRecEng = new SpeechRecognitionEngine(ri.Id); 
      using (var memoryStream = new MemoryStream(Encoding.ASCII.GetBytes(Properties.Resources.SpeechGrammar))) 
      { 
       var g = new Grammar(memoryStream); 
       spRecEng.LoadGrammar(g); 
      } 
      spRecEng.SpeechRecognized += spRecEng_SpeechRecognized; 
      spRecEng.SpeechRecognitionRejected += spRecEng_SpeechRecognitionRejected; 

      spRecEng.SetInputToAudioStream(kinect.AudioSource.Start(), new SpeechAudioFormatInfo(EncodingFormat.Pcm, 16000, 16, 1, 32000, 2, null)); 
      spRecEng.RecognizeAsync(RecognizeMode.Multiple); 

내가 밀접하게 내용을 조사은 "Properties.Resources.SpeechGrammar"referencem에 대해서 응용 프로그램 속성은 다음과 같은 기능을 포함합니다.

internal static string SpeechGrammar { 
     get { 
      return ResourceManager.GetString("SpeechGrammar", resourceCulture); 
     } 

이 기능의 목적은 무엇입니까? 응용 프로그램에는 응용 프로그램이로드하는 XML 문법 파일의 유효성을 검사하는 데 사용되는 스키마 파일이 포함되어 있지 않으므로 가져 오는 위치는 어디입니까? https://dl.dropboxusercontent.com/u/28555145/KinectForWindowsSpeech.rar

답변

1

이 프로젝트는 음성 인식 문법과 XML 파일을 포함

또한 프로젝트의 소스 코드를 (정말 작은)에서, 당신이 그것을 찾을 수 있습니다 포함하고있다. 이러한 종류의 자원은 프로젝트에 할당 된 ID를 통해 액세스 할 수 있으며 파일이있는 작업에 일반적인 기능을 사용할 필요가 없습니다. 유효성 검사와 관련하여 프로젝트에서 유효성 검사를 수행하는 Microsoft.Speech 라이브러리를 사용합니다. 예를 들어 xml 파일에 루트 요소가 없으면 문법로드에서 예외가 발생합니다.

+0

의견을 보내 주셔서 감사합니다. – user3019217