class TestRawDecoder(TestCase): def __init__(self, *args, **kwargs): self.ps = Pocketsphinx() self.ps.decode() super(TestRawDecoder, self).__init__(*args, **kwargs) def test_raw_decoder_lookup_word(self): self.assertEqual(self.ps.lookup_word('hello'), 'HH AH L OW') self.assertEqual(self.ps.lookup_word('abcdf'), None) def test_raw_decoder_hypothesis(self): self.assertEqual(self.ps.hypothesis(), 'go forward ten meters') self.assertEqual(self.ps.score(), -7066) self.assertEqual(self.ps.confidence(), 0.04042641466841839) def test_raw_decoder_segments(self): self.assertEqual(self.ps.segments(), [ '<s>', '<sil>', 'go', 'forward', 'ten', 'meters', '</s>' ]) def test_raw_decoder_best_hypothesis(self): self.assertEqual(self.ps.best(), [ ('go forward ten meters', -28034), ('go for word ten meters', -28570), ('go forward and majors', -28670), ('go forward and meters', -28681), ('go forward and readers', -28685), ('go forward ten readers', -28688), ('go forward ten leaders', -28695), ('go forward can meters', -28695), ('go forward and leaders', -28706), ('go for work ten meters', -28722) ])
class TestRawDecoder(TestCase): def __init__(self, *args, **kwargs): self.ps = Pocketsphinx() self.ps.decode() super(TestRawDecoder, self).__init__(*args, **kwargs) def test_raw_decoder_lookup_word(self): self.assertEqual(self.ps.lookup_word('hello'), 'HH AH L OW') self.assertEqual(self.ps.lookup_word('abcdf'), None) def test_raw_decoder_hypothesis(self): self.assertEqual(self.ps.hypothesis(), 'go forward ten meters') self.assertEqual(self.ps.score(), -7066) self.assertEqual(self.ps.confidence(), 0.04042641466841839) def test_raw_decoder_segments(self): self.assertEqual( self.ps.segments(), ['<s>', '<sil>', 'go', 'forward', 'ten', 'meters', '</s>']) def test_raw_decoder_best_hypothesis(self): self.assertEqual(self.ps.best(), [('go forward ten meters', -28034), ('go for word ten meters', -28570), ('go forward and majors', -28670), ('go forward and meters', -28681), ('go forward and readers', -28685), ('go forward ten readers', -28688), ('go forward ten leaders', -28695), ('go forward can meters', -28695), ('go forward and leaders', -28706), ('go for work ten meters', -28722)])
# => ['<s>', '<sil>', 'go', 'forward', 'ten', 'meters', '</s>'] print(ps.segments()) print('Detailed segments:', *ps.segments(detailed=True), sep='\n') # => [ # word, prob, start_frame, end_frame # ('<s>', 0, 0, 24) # ('<sil>', -3778, 25, 45) # ('go', -27, 46, 63) # ('forward', -38, 64, 116) # ('ten', -14105, 117, 152) # ('meters', -2152, 153, 211) # ('</s>', 0, 212, 260) # ] print(ps.hypothesis()) # => go forward ten meters print(ps.probability()) # => -32079 print(ps.score()) # => -7066 print(ps.confidence()) # => 0.04042641466841839 print(*ps.best(count=10), sep='\n') # => [ # ('go forward ten meters', -28034) # ('go for word ten meters', -28570) # ('go forward and majors', -28670) # ('go forward and meters', -28681) # ('go forward and readers', -28685) # ('go forward ten readers', -28688) # ('go forward ten leaders', -28695) # ('go forward can meters', -28695) # ('go forward and leaders', -28706) # ('go for work ten meters', -28722) # ]
) #print(ps.segments()) # => ['<s>', '<sil>', 'go', 'forward', 'ten', 'meters', '</s>'] #print('Detailed segments:', *ps.segments(detailed=True), sep='\n') # => [ # word, prob, start_frame, end_frame # ('<s>', 0, 0, 24) # ('<sil>', -3778, 25, 45) # ('go', -27, 46, 63) # ('forward', -38, 64, 116) # ('ten', -14105, 117, 152) # ('meters', -2152, 153, 211) # ('</s>', 0, 212, 260) # ] print("hypothesis:\n" + ps.hypothesis()) # => go forward ten meters print("probablity of correct:\n"+ str(ps.probability())) # => -32079 print("score:\n" + str(ps.score())) # => -7066 print("confidence:\n" + str(ps.confidence())) # => 0.04042641466841839 #print(*ps.best(count=10), sep='\n') # => [ # ('go forward ten meters', -28034) # ('go for word ten meters', -28570) # ('go forward and majors', -28670) # ('go forward and meters', -28681) # ('go forward and readers', -28685) # ('go forward ten readers', -28688) # ('go forward ten leaders', -28695) # ('go forward can meters', -28695) # ('go forward and leaders', -28706) # ('go for work ten meters', -28722) # ]