2012-12-26 3 views
1

에서 골격 데이터를 추적 할 수 KINECT SDK를 얻을 수 없다 내가 함께 음성 인식을 사용할 수 마녀의 프로그램 ..나는 음성 인식을하고 I '는 SIME 시간

 RecognizerInfo ri = GetKinectRecognizer(); 

     speechRecognitionEngine = new SpeechRecognitionEngine(ri.Id); 

     // Create a grammar from grammar definition XML file. 
     using (var memoryStream = new MemoryStream(Encoding.ASCII.GetBytes(fileContent))) 
     { 
      var g = new Grammar(memoryStream); 
      speechRecognitionEngine.LoadGrammar(g); 
     } 

     speechRecognitionEngine.SpeechRecognized += new EventHandler<SpeechRecognizedEventArgs>(speechEngine_SpeechRecognized); 
     speechRecognitionEngine.SpeechRecognitionRejected += new EventHandler<SpeechRecognitionRejectedEventArgs>(speechEngine_SpeechRecognitionRejected); 

speechRecognitionEngine.SetInputToAudioStream ( 센서를했습니다. AudioSource.Start(), 새로운 SpeechAudioFormatInfo (EncodingFormat.Pcm, 16000, 16, 1, 32000, 2, null));

 speechRecognitionEngine.RecognizeAsync(RecognizeMode.Multiple); 

.. 벌금과 SpeechRecognized 이벤트가 올바르게 해고 작업

all'is ..

문제는 내가 골격 데이터 추적을 anable 때,,

  sensor.SkeletonStream.Enable(); 
      sensor.SkeletonStream.TrackingMode = SkeletonTrackingMode.Seated; 
      sensor.SkeletonFrameReady += sensor_SkeletonFrameReady; 

음성 인식 작업을 중지 ...

도와 드릴까요?

정말 고마워요!

+0

? 음성 인식과 골격 추적기 모두 처리 능력이 뛰어납니다. CPU 사용량이 너무 많을 수 있습니다. –

+0

그것은 macbooc 프로 13 인치 – user322416

+0

그냥 추적을 활성화하거나 당신의 애플 리케이션을 교수형 수있는 해골 프레임 뭔가 다른 일을하고 있습니까? –

답변

1

오디오 캡처 시작 후 스켈 톤 스트림이 활성화 된 경우 오디오가 처리되지 않음 버그로 인해 SkeletonStream을 사용하거나 사용하지 않도록 설정하면 Kinect 센서에서 반환되는 AudioSource 스트림이 중지됩니다. 다음 명령 시퀀스는 오디오 스트림을 중지합니다. kinectSensor.Start(); kinectSensor.AudioSource.Start(); // -> 오디오 스트림을 생성합니다 kinectSensor.SkeletonStream.Enable(); // -> 원하지 않는 부작용으로 오디오 스트림을 중단합니다.

해결 방법은 SkeletonStream 상태를 변경 한 후 호출 순서를 바꾸거나 AudioSource를 다시 시작하는 것입니다.

 Workaround #1 (start audio after skeleton): 
     kinectSensor.Start(); 
     kinectSensor.SkeletonStream.Enable(); 
     kinectSensor.AudioSource.Start(); 

     Workaround #2 (restart audio after skeleton): 
     kinectSensor.Start(); 
     kinectSensor.AudioSource.Start(); // --> this will create an audio stream 
     kinectSensor.SkeletonStream.Enable(); // --> this will stop the audio stream as an undesired side effect 
     kinectSensor.AudioSource.Start(); // --> this will create another audio stream 

소스 - 컴퓨터의 시스템 사양은 무엇 http://msdn.microsoft.com/en-us/library/jj663798.aspx

+0

덕분에 그것은 잘 작동합니다. – user322416