我从https://github.com/HelloSpoon/PocketSphinx_Sample.git下载了一个Pocket sphinx样本。这里我们有4种搜索,现在我只是尝试使用文件搜索语法。但它却给出了误报。 即使我使用语法文件,我们还需要处理阈值吗?
**** **** EDIT
通常,我们只添加一个要搜索的短语,我可以定义一个我可以搜索的短语列表。 (我想根据搜索做不同的动作) 我如何根据不同的短语定义阈值)
代码:
recognizer = SpeechRecognizerSetup.defaultSetup()
.setAcousticModel(new File(modelsDir, "hmm/en-us-semi"))
.setDictionary(new File(modelsDir, "lm/cmu07a.dic"))
.setKeywordThreshold(1e-40f)
.getRecognizer();
recognizer.addListener(this);
recognizer.addKeyphraseSearch("keywordSearch", "oh mighty computer");
recognizer.startListening("keywordSearch);
并且根据输入的关键字,我想在这里执行不同的操作。
@Override
public void onPartialResult(Hypothesis hypothesis) {
if (hypothesis == null)
return;
String text = hypothesis.getHypstr();
if (text.equals(KEYPHRASE)) {
// do something and restart listening
recognizer.cancel();
doSomething();
recognizer.startListening("keywordSearch");
}
}