2013-01-17 2 views
0

그래서 음성 인식을 수행하는 작은 도구를 쓰고 있습니다. SAPI 5.4부터 시작하여 SRGS xml 파일을 사용하여 문법을 설정했습니다. 그것은 매우 잘 작동했습니다. 모든 명령이 쉽게 인식되었습니다. 그러나, 나는이 일을 XP에서 실행하려고 노력 중이며 문제가 있습니다. 내 기존 XML 파일에 읽기 위해 다음 코드를 사용했습니다 :SAPI 5.4에서 SAPI 5.1로 변환

listener = New SpSharedRecoContext() 
AddHandler listener.Recognition, AddressOf Handle_Speech 
Dim grammar As ISpeechRecoGrammar 
grammar = listener.CreateGrammar() 
grammar.CmdLoadFromFile(Utilities.INI.ConfigPath & "\Voice_Commands.xml") 
grammar.CmdSetRuleIdState(0, SpeechRuleState.SGDSActive) 

그러나, 명령을 인식에서 SAPI 5.1의 성능이 많이 훨씬 더 5.4보다. 무엇보다도 당신이 켜야하는 외부 청취자 응용 프로그램을 시작합니다 (이것은 너무 나쁘지 않습니다). 그러나 주된 문제는 청취자가 말하면 OS 작동을 시작한다는 것입니다 (폴더 열기 등). 그래서 분명히 미리 정의 된 명령 세트 이상을 청취합니다.

SAPI 5.1을 5.4처럼 수행하는 방법을 아는 사람이 있습니까?

감사합니다,

이안

답변

0

당신은 XP이 있는지 있습니까? Vista에서 실행되는 Windows 음성 인식을 실행하는 것처럼 소리 나는대로 동작합니다.

공유 인식 자 대신 in-proc 인식 자 (SpInProcRecoContext)가 필요합니다. 초기화하려면 약간의 작업이 필요합니다 (오디오 소스 & 엔진을 연결해야합니다). 내 blog에 조금 쓴,하지만 네이티브 API를 사용하여 그것을 할 수 있습니다.

마지막으로 XP의 SR 엔진은 실제로 Vista 이상의 SR 엔진만큼 좋지 않습니다. 결국 XP SR 엔진은 10 년 이상 된 것입니다.