Menu

Making PocketSphinx Less Resource Efficient

Help
Tikiboy
2012-03-06
2012-09-22
  • Tikiboy

    Tikiboy - 2012-03-06

    Hey guys, i was just wondering if its possible to play with pocketsphinx
    configurations and parameters to make it less efficient resource wise, without
    hurting the accuracy too much.

    I need to make resource usage measurements of pocketsphinx under different
    configurations. I am looking for ways to cause pocketsphinx's speech
    recognizing processing to consume more memory and CPU is possible.

    http://cmusphinx.sourceforge.net/wiki/pocketsphinxhandhelds
    I was referencing the above link and found that by playing with a particular
    param i can increase memory usage, however i am unsure about the remaining
    parameters.

    Would it be possible for someone to point out which param is the best to
    modify to achieve:
    - a higher memory consumption
    - a higher cpu utilization

    A breif explanation on why these params have the intended effect would also be
    great. Based on what i know, a likely way to increase memory usage is by
    expanding the search tree used by pocketsphinx, however i am unsure which
    param is responsible for that action.

    Thanks alot!

     
  • Nickolay V. Shmyrev

    Hello

    In the default configuration most of the search space is reduced by the beams

    -beam       1e-48       Beam width applied to every frame in Viterbi search (smaller values mean wider beam)
    -fwdflatbeam    1e-64       Beam width applied to every frame in second-pass flat search
    -fwdflatwbeam   7e-29       Beam width applied to word exits in second-pass flat search
    -lpbeam     1e-40       Beam width applied to last phone in words
    -lponlybeam 7e-29       Beam width applied to last phone in single-phone words
    -outlatbeam 1e-5        Minimum posterior probability for output lattice nodes
    -pbeam      1e-48       Beam width applied to phone transitions
    -pl_beam    1e-10       Beam width applied to phone loop search for lookahead
    -pl_pbeam   1e-5        Beam width applied to phone loop transitions for lookahead
    -wbeam      7e-29       Beam width applied to word exits
    

    You can make all the beams smaller to disable pruning. I.e. wbeam could be
    1e-100 instead of 7e-29. Then search will be slower and more accurate.

    To learn what beam is check any text book on speech recognition, for example
    this lecture:

    http://www.isip.piconepress.com/publications/courses/msstate/ece_8463/lecture
    s/current/lecture_34/

     
  • Tikiboy

    Tikiboy - 2012-03-07

    Thanks, ill take a look at the lecture to learn more.

     

Log in to post a comment.