Menu

GStreamer performance differs

Help
hkonevke
2012-07-16
2012-09-22
  • hkonevke

    hkonevke - 2012-07-16

    Hi everyone,
    as the title states I have a problem with pocketsphinx in python using the
    pocketsphinx GStreamer plugin.
    Using pocketsphinx_batch with default lm, hmm and dictionary (by not
    specifying any) I achieve a WER of
    about 64%. Doing the same with the plugin I get no hypotheses and therefore an
    errorrate of 100%.
    If I specify an lm, hmm and dictionary I do get results but they are still
    much worse in performance than
    with pocketsphinx_batch.

    I am building my gstreamer pipeline from a string which looks like this:

    filesrc location=/path/to/file ! wavparse ! audioconvert !audioresample !
    audio/x-raw-int, rate=8000, channels=1,
    width=16,depth=16,endianness=1234,signed=true ! pocketsphinx fakesink

    The hypothesis is then caught on a signal just as in this tutorial: http://cm
    usphinx.sourceforge.net/wiki/gstreamer

    Does anyone know what could cause this behavior?
    Please let me know if you need more information in order to help.

     
  • Nickolay V. Shmyrev

    Hello

    Plugin default configuration is slightly different from the
    pocketsphinx_continuous default configuration. The differences are:

    Plugin:

    -maxhmmpf 1000
    -maxwpf 10
    -fwdflat no
    -bestpath no
    

    Pocketsphinx_continuous:

    -bestpath yes
    -fwdflat yes
    -maxhmmpf not set
    -maxwpf not set
    

    The differences are made to provide the best decoding speed in gstreamer
    plugin. If you syncronize the parameters accuracy and results should be the
    same.

    You still need a better language model because WER more than 60% is senseless
    to compare. 60% or 100% it doesn't really matter, it just mean your decoder is
    broken.

     
  • hkonevke

    hkonevke - 2012-07-16

    Well, using another dataset for which I have an optimized language model I
    achie a WER of 50%. The main problem is that the plugin doesn't recognize
    anything at all. The hypothesis is just an empty string.

    With the changed properties in the plugin I do get results but they still
    differ from the pocketsphinx_batch output. The results are also differing if I
    reverse this and use the values of the plugin for pocketsphinx_batch I don't
    get the plugins results either. :(

    I have absolutely no clue why I can't get the same results.

     

Log in to post a comment.