0

I entered in the shell pocketsphinx_continuous -infile talk.wav -keyphrase "talk" -kws_threshold 1e-40 and received a large output generated by pocket sphinx with some numbers at the end. How do you find out whether it spotted a word or not ? Last two lines of the output:

INFO: cmn_prior.c(131): cmn_prior_update: from < 40.00  3.00 -1.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00 >
INFO: cmn_prior.c(149): cmn_prior_update: to   < 35.08 -1.37  5.40 -1.19 -13.27 -0.49 10.98  5.96  3.16 -5.35  0.67 -5.57  2.67 >
Nikolay Shmyrev
  • 24,897
  • 5
  • 43
  • 87
theluckyemil
  • 663
  • 1
  • 7
  • 16

1 Answers1

1

If you suppress stderr with 2> /dev/null or with -logfn /dev/null, you will see the following in stdout in case word is detected:

talk

In case you want to see the times you can also add -time yes to command line, then you will see on stdout:

talk talk
talk 7.210 7.300 0.947237
talk 6.820 6.920 0.955132
Nikolay Shmyrev
  • 24,897
  • 5
  • 43
  • 87
  • Thanks for your answer, I tried a bunch of files but stderr was empty. For example, [link](https://drive.google.com/open?id=0B3nTV8cAJ2NldmFDSlpMQzJ1Rms). It is recognized correctly, however, keyword spotting yields nothing. – theluckyemil Aug 03 '15 at 16:30
  • The file under link is not accessible, you need to share it properly. – Nikolay Shmyrev Aug 03 '15 at 16:34
  • sorry, [click](https://drive.google.com/file/d/0B3nTV8cAJ2NldmFDSlpMQzJ1Rms/view?usp=sharing) – theluckyemil Aug 03 '15 at 17:13
  • The file is too short, keyword spotting requires at least 0.1 second of data after the keyword to detect the keyword to make sure that this is the actual keyword and not something else. You can try `pocketsphinx_continuous -infile captain.wav -keyphrase captain -kws_threshold 1e-10 -kws_delay 0` to see the result. – Nikolay Shmyrev Aug 03 '15 at 17:26