CMU Sphinx 4-5prealpha: "ВНИМАНИЕ: в грамматике отсутствует самоидентифицирующий заголовок"

Я пытаюсь привыкнуть к CMU sphinx 4-5prealpha. Все отлично работает с распознаванием без грамматики, но мне нужно обрабатывать не очень много команд / слов / фраз. Итак, вот код и стек ошибок:

public static void main(String[] args) throws Exception {

    Configuration configuration = new Configuration();


    configuration.setAcousticModelPath("resource:/edu/cmu/sphinx/models/en-us/en-us");
    configuration.setDictionaryPath("resource:/edu/cmu/sphinx/models/en-us/cmudict-en-us.dict");
    configuration.setLanguageModelPath("resource:/edu/cmu/sphinx/models/en-us/en-us.lm.bin");
    configuration.setGrammarPath("/home/enchanting/records");
    configuration.setGrammarName("hello");
    configuration.setUseGrammar(true);


    LiveSpeechRecognizer recognizer = new LiveSpeechRecognizer(configuration);

// Начать процесс распознавания, удаляющий ранее кэшированные данные.

    while(true){
        recognizer.startRecognition(true);
        System.out.println("go!");
        String utterance = recognizer.getResult().getHypothesis();
        System.out.println(utterance);
        recognizer.stopRecognition();
        System.out.println("done");
    }
}

Итак, я ПОЛНОСТЬЮ уверен, что мое местоположение файла грамматики в порядке, и ошибка:

> WARNING: Grammar missing self identifying header
> Exception in thread "main" java.lang.RuntimeException: Allocation of search manager resources failed
> Caused by: java.io.IOException: edu.cmu.sphinx.jsgf.JSGFGrammarParseException

ОБНОВЛЕНИЕ: мой плохой, забыл вставить мою грамматику:D

> hello.gram
#JSGF V1.0;
grammar hello;
public <intro> = "Computer";

1 ответ

На самом деле, это была не ошибка сфинкса или что-то в этом роде, а просто моя затея. Я редактировал другой файл грамматики "grammar.gram" вместо "hello.gram". Ошибки были сделаны, теперь работает нормально!

Другие вопросы по тегам