0
我正在開發一個在java中使用Sphinx4的程序。sphinx4只識別自定義詞
我想減少聲學模型和語法,使其非常簡單和簡潔,適合我的使用。
我的用法是理解幾個單詞,逐字識別。
例如,單詞將是{man,bye,good,yo} 當我說「man」時,我希望程序立即將其識別爲「man」;
程序不應該等待任何其他單詞,一旦程序識別出一個單詞。
任何人都可以引導我到文檔或示例/演示,我可以參考創建這樣的事情?
這是我寫到目前爲止的代碼。
private static void recognizeWord(LiveSpeechRecognizer recognizer) {
String[] words = {"man", "bye", "good", "yo"};
System.out.println("RECOGNIZING A WORD. AVAILABLE WORDS: " + Arrays.toString(words));
recognizer.startRecognition(true);
SpeechResult result;
while ((result = recognizer.getResult()) != null) {
System.out.format("The word is: %s\n", recognizer.getResult().getResult().toString());
}
recognizer.stopRecognition();
}
public static void main(String[] args) throws Exception {
Configuration configuration = new Configuration();
// Set path to acoustic model.
configuration.setAcousticModelPath("resource:/edu/cmu/sphinx/models/en-us/en-us");
// Set path to dictionary.
configuration.setDictionaryPath("resource:/edu/cmu/sphinx/models/en-us/cmudict-en-us.dict");
// Set language model.
configuration.setLanguageModelPath("resource:/edu/cmu/sphinx/models/en-us/en-us.lm.bin");
LiveSpeechRecognizer recognizer = new LiveSpeechRecognizer(configuration);
recognizeWord(recognizer);
}