package edu.cmu.sphinx.api;
import static org.testng.AssertJUnit.assertEquals;
import java.io.IOException;
import java.io.InputStream;
import org.testng.annotations.Test;
import edu.cmu.sphinx.result.WordResult;
public class LiveRecognizerTest {
@Test
public void testLm() throws IOException {
Configuration configuration = new Configuration();
configuration.setAcousticModelPath("resource:/edu/cmu/sphinx/models/en-us/en-us");
configuration.setDictionaryPath("resource:/edu/cmu/sphinx/linguist/language/ngram/arpa/test.dic");
configuration.setLanguageModelPath("resource:/edu/cmu/sphinx/linguist/language/ngram/arpa/test.lm");
StreamSpeechRecognizer recognizer = new StreamSpeechRecognizer(configuration);
InputStream stream = LiveRecognizerTest.class
.getResourceAsStream("/edu/cmu/sphinx/tools/bandwidth/10001-90210-01803.wav");
stream.skip(44);
// Simple recognition with generic model
recognizer.startRecognition(stream);
SpeechResult result = recognizer.getResult();
assertEquals("one zero zero zero one", result.getHypothesis());
WordResult word = result.getWords().get(0);
assertEquals("{one, 0.999, [820:1060]}", word.toString());
}
@Test
public void testGram() throws IOException {
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.setGrammarPath("resource:/edu/cmu/sphinx/jsgf/test/");
configuration.setGrammarName("digits.grxml");
configuration.setUseGrammar(true);
StreamSpeechRecognizer recognizer = new StreamSpeechRecognizer(configuration);
InputStream stream = LiveRecognizerTest.class
.getResourceAsStream("/edu/cmu/sphinx/tools/bandwidth/10001-90210-01803.wav");
stream.skip(44);
// Simple recognition with generic model
recognizer.startRecognition(stream);
SpeechResult result = recognizer.getResult();
assertEquals("one zero zero zero one", result.getHypothesis());
WordResult word = result.getWords().get(0);
assertEquals("{one, 1.000, [840:1060]}", word.toString());
}
@Test
public void testGramWeights() throws IOException {
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.setGrammarPath("resource:/edu/cmu/sphinx/jsgf/test");
configuration.setGrammarName("weights");
configuration.setUseGrammar(true);
StreamSpeechRecognizer recognizer = new StreamSpeechRecognizer(configuration);
InputStream stream = LiveRecognizerTest.class
.getResourceAsStream("/edu/cmu/sphinx/tools/bandwidth/10001-90210-01803.wav");
stream.skip(44);
// Simple recognition with generic model
recognizer.startRecognition(stream);
SpeechResult result = recognizer.getResult();
assertEquals("one zero zero zero one", result.getHypothesis());
WordResult word = result.getWords().get(0);
assertEquals("{one, 1.000, [840:1060]}", word.toString());
}
}