Search code examples
speech-recognitionpocketsphinx

How does pocketsphinx output keywords in spotting mode


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 >

Solution

  • 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