2014-12-08 3 views
0

오디오 스트림 입력 (UDP를 통해)에서 음성 인식을 수행하려고합니다. Microsoft 음성 인식 (SAPI)을 사용하고 있습니다. 마이크를 사용하여 음성 인식을 테스트 할 때 좋은 품질을 얻을 수 있습니다 (C# 및 C++ 모두). 그러나 일단이 정보가 WAV 파일 (또는 내 UDP 스트림의 메모리 버퍼)에서 나오면 인식률이 급격히 떨어집니다. 나는 대담하게 44100Hz로 파일을 저장하려고 시도하고 WAV 파일을 작성하기 위해 C#으로 내 자신의 코드를 작성했다. 물론, 나는 똑같은 마이크를 사용하고 사운드는 파일에서 잘 들린다.파일에서 Windows 음성 인식 (SAPI)의 품질

SAPI는 마이크 입력 및 파일 입력에 대해 다른 모델을 사용할 수 있습니까? 아무도이 문제가 발생했습니다 (그리고 어떤 해결책이 있습니까)?

다음은 C# 코드입니다 (C++에서도 똑같은 문제가 있지만).

SpeechRecognitionEngine recognizer = new SpeechRecognitionEngine(); Grammar dictationGrammar = new DictationGrammar(); recognizer.LoadGrammar(dictationGrammar); recognizer.SetInputToWaveFile("c:\path\to\file.wav"); RecognitionResult result = recognizer.Recognize(); text1.Text = result.Text;

+0

그리고 아래 표는? – Clangon

+1

그 자체는 * 모델 *이 아니지만, 마이크 (Windows 7 이상을 사용한다고 가정)에 대한 오디오 입력 객체는 파일 입력에 대해 발생하지 않는 일부 처리를 수행합니다. –

+0

감사의 말 Eric, 어떤 유형의 처리를 했습니까 (볼륨을 줄이는 것을 제외하고)? 이 처리를 직접 적용하고 싶습니다. – Clangon

답변

1

아니 생각하는 이유,하지만 (Reduce the volume of a Wav audio file using C에서 사용되는 코드) 10 배 파일의 크기를 줄이기 위해 나에게 많은 도움이되었습니다.

SAPI가 마이크를 청취하는 경우 축소 된 볼륨을 사용하므로 wav 파일을로드 할 때도 시뮬레이트해야합니다.