Как я могу использовать файлы ARPA с MS Speech?Документация к Microsoft Speech Platform 11 Recognizer подразумевает, что можно скомпилировать грамматику из файла ARPA.
Я могу скомпилировать файл ARPA - например, крошечный пример , предоставленный Microsoft - используя следующую командную строку:
CompileGrammar.exe -In stock.arpa -InFormat ARPA
Я могу использовать полученный файл CFG в следующем тесте:
using Microsoft.Speech.Recognition;
// ...
using (var engine = new SpeechRecognitionEngine(new CultureInfo("en-US")))
{
engine.LoadGrammar(new Grammar("stock.cfg"));
var result = engine.EmulateRecognize("will stock go up");
Assert.That(result, Is.Not.Null);
}
Этот тест пройден, но обратите внимание, чтоон использует EmulateRecognize()
.Когда я переключаюсь на использование реального аудиофайла, например, так:
using (var engine = new SpeechRecognitionEngine(new CultureInfo("en-US")))
{
engine.LoadGrammar(new Grammar("stock.cfg"));
engine.SetInputToWaveFile("go-up.wav");
var result = engine.Recognize();
}
результат всегда равен нулю и тест не пройден.
Microsoft заявляет довольно четко что это поддерживается, но даже очень простые примеры, похоже, не работают.Что я делаю не так?