Я выполняю распознавание речи в волновых файлах, ища полное или частичное совпадение заданного предложения.
Программа принимает в качестве входных данных - файл Wave - предложение и должна возвращать значение "достоверности совпадения" от 0,0 до 1,0.
1) Я создаю InProcRecognizer 2) Я создаю ISpeechRecoContext из InProcRecognizer 3) Я подключаю Context к Recognizer 4) Я создаю SPFileStream и указываю его на файл Wav 5) Я указываю Recognizer на SPFileStream через AudioInputStream
В этот момент запускается несколько событий гипотезы, и распознавание уже достаточно правильное.
Однако это работает без грамматики вообще.
Теперь я полагаю, что для того, чтобы ограничить распознавание конкретным предложением, мне следует работать с грамматикой. Я знаю, как создать новый пустой программно, но я в недоумении, что делать дальше.
Я искал везде и не могу найти четкого руководства или руководства (на самом деле большая часть кода сильно устарела и относится к Sapi 5.0 14-летней давности)