AppendDictation на платформе Microsoft Speech Platform 11 (Server)?

Я относительно новичок как в C #, так и в платформе Microsoft Speech, но я работаю над серверным приложением, которое должно будет транскрибировать диктовку бесплатно. MS Speech Platform SDK казался идеальным и работает на сервере, если я не ссылаюсь на метод AppendDictation () в GrammarBuilder.

Я использую Microsoft Speech Platform SDK 11, и приложение работает нормально, если я определяю грамматику, но в тот момент, когда я добавляю в AppendDictation (), я сталкиваюсь с этой ошибкой:

Cannot find grammar referenced by this grammar.

Даже этот образец из документации кажется, не работает:

GrammarBuilder startStop = new GrammarBuilder();
GrammarBuilder dictation = new GrammarBuilder();
dictation.AppendDictation();

startStop.Append(new SemanticResultKey("StartDictation", new SemanticResultValue("Start Dictation",true)));
startStop.Append(new SemanticResultKey("DictationInput", dictation));
startStop.Append(new SemanticResultKey("StopDictation", new SemanticResultValue("Stop Dictation", false)));
Grammar grammar=new Grammar(startStop);
grammar.Enabled=true;
grammar.Name=" Free-Text Dictation ";
_recognizer.LoadGrammar(grammar);

Как ни странно, если я изменяю LoadGrammar на LoadGrammarAsync, грамматика загружается (или, по крайней мере, вызывается обработчик событий), но затем распознаватель выдает следующую ошибку:

Error: At least one grammar must be loaded before doing a recognition.

Я читал, что версия сервера платформы не поддерживает диктовку, но кажется странным, что она поставляется с методом, который просто не работает. Кому-нибудь удалось заставить работать грамматику диктовки на сервере? Что я делаю не так?

Большое спасибо

9
задан Cameron Tinker 15 August 2013 в 18:06
поделиться