def test_cep_decoder_hypothesis(self):
     ps = Pocketsphinx()
     with open('deps/pocketsphinx/test/data/goforward.mfc', 'rb') as f:
         with ps.start_utterance():
             f.read(4)
             buf = f.read(13780)
             ps.process_cep(buf, False, True)
     self.assertEqual(ps.hypothesis(), 'go forward ten meters')
     self.assertEqual(ps.score(), -7095)
     self.assertEqual(ps.probability(), -32715)
Esempio n. 2
0
 def test_cep_decoder_hypothesis(self):
     ps = Pocketsphinx()
     with open('deps/pocketsphinx/test/data/goforward.mfc', 'rb') as f:
         with ps.start_utterance():
             f.read(4)
             buf = f.read(13780)
             ps.process_cep(buf, False, True)
     self.assertEqual(ps.hypothesis(), 'go forward ten meters')
     self.assertEqual(ps.score(), -7095)
     self.assertEqual(ps.probability(), -32715)
# => ['<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)
# ]