2016-12-13 2 views
1

현재 실시간 스트리밍 시나리오에서 Bing 음성 인식 서비스를 평가 중입니다. 우리는 PCM으로 인코딩 된 오디오 (16k 샘플 레이트, 16 비트, 1 채널 (일명 모노))의 라이브 스트림을 얻고이를 Bing Speech Recognition 서비스에 보내려고합니다. 우리는 다음과 같이 루프에서 오디오 스트림을 스트리밍하는 _dataRecognitionClient.SendAudioFormat(SpeechAudioFormat.create16BitPCMFormat(16000));Bing Speech Recognition Service - SpeechClient 문제 "오디오 형식을 파싱하지 못했습니다."

:

우리는 성공적으로과 같이, 오디오 포맷을 보내기 이전에 오디오 자체를 스트리밍 시나리오와 https://www.nuget.org/packages/Microsoft.ProjectOxford.SpeechRecognition-x64/에서 DataRecognitionClient을 사용했다

_dataRecognitionClient.SendAudio(buffer, bytesRead); 

괜찮습니다. 그러나 우리가 ProjectOxford 라이브러리가 공식 빙 음성 인식 웹 사이트 때문에, 사용되지 않는 얻을 수 있다고 가정 다른 Nuget 패키지 (https://www.microsoft.com/cognitive-services/en-us/Speech-api/documentation/GetStarted/GetStartedCSharpServiceLibrary) 점, 참조 : https://www.nuget.org/packages/Microsoft.Bing.Speech/

을 우리가, 우리가 언급 한보고있는이 패키지에서 SpeechClient를 사용하는 경우 SpeechClient에서 RecognizeAsync를 실행할 때 "오디오 형식을 파싱 할 수 없습니다."오류가 발생합니다.

var speechInput = new SpeechInput(producerConsumerStream, 
new RequestMetadata(Guid.NewGuid(), new DeviceMetadata(DeviceType.Near, 
DeviceFamily.Desktop, NetworkType.Ethernet, OsName.Windows, "Azure", 
"Microsoft", "Current"), new ApplicationMetadata("App", "1.0"), "Speech")); 
await _speechClient.RecognizeAsync(speechInput, new CancellationToken()); 

마지막 줄에 오류가 발생합니다. 우리의 PCM 스트림은 스트리밍 중이기 때문에 WAVE/RIFF 헤더를 가지고 있지 않기 때문입니다. 스트리밍 시나리오의 경우 DataRecognitionClient에는 "SendAudioFormat"메서드가 있습니다.

SpeechClient는 스트리밍 시나리오를 지원하지 않습니까?

답변

관련 문제