Menu

cmninit values

Help
Q3Varnam
2018-04-30
2018-05-04
  • Q3Varnam

    Q3Varnam - 2018-04-30

    https://sourceforge.net/p/cmusphinx/discussion/help/thread/abe3d01c/#eee3

    I refer to the above message, in the post it is mentioned that cmninit values are in the feat.params after training. Is it still the case with the latest sphinxtrain code?

    I don't see those values inside my feat.params.

    Without the cmninit pocket_sphinx continous mismatches words randomly. However sphinxtrain decode stage matches them perfectly in most cases.

    after training, my feat.params file has the following paramters

    -lowerf 130
    -upperf 6800
    -nfilt 25
    -transform dct
    -lifter 22
    -feat 1s_c_d_dd
    -agc none
    -cmn batch
    -varnorm no

     

    Last edit: Q3Varnam 2018-05-04
  • Q3Varnam

    Q3Varnam - 2018-05-04

    I am using sphinxbase-5prealpha for creating my acoustic model. The cmninit values are not populated in the feat.params file. I have issues getting words recognised unless I provide a -cmninit value in the command line. The problem is some of the words get recognised with cmninit 40,3,1 and others get recognised at 60,3,1

    Please note when I mean recognised, I mean consistently recognised - 99%. If cmninit values are not supplied it fails to recognise 100%.

    Could you help to decipher this secret

     

    Last edit: Q3Varnam 2018-05-04
  • Q3Varnam

    Q3Varnam - 2018-05-04

    I have just done some debug on this, I am running the tests on Pocketsphinx Android.

    I have used the sample code from your website however I have modified it to stop the recogniser on a headset button press and restart it when its pressed again.

    I have the cmninit values manually added in to the feat.params file.

    When the app starts for the first time, the cmninit values are read from feat.params and this gets printed in the log file. the value is 60,3,1

    17:35:21.007 15598-15646/nirmanamoha.jithsangayoga.hookbuttoncracker I/cmusphinx: INFO: cmn_live.c(120): Update from < 
    05-04 17:35:21.007 15598-15646/nirmanamoha.jithsangayoga.hookbuttoncracker I/cmusphinx: 60.00 
    05-04 17:35:21.007 15598-15646/nirmanamoha.jithsangayoga.hookbuttoncracker I/cmusphinx:  3.00 
    05-04 17:35:21.007 15598-15646/nirmanamoha.jithsangayoga.hookbuttoncracker I/cmusphinx:  1.00 
    05-04 17:35:21.007 15598-15646/nirmanamoha.jithsangayoga.hookbuttoncracker I/cmusphinx:  0.00 
    05-04 17:35:21.007 15598-15646/nirmanamoha.jithsangayoga.hookbuttoncracker I/cmusphinx:  0.00 
    

    However it gets updated to 33,10,-5 - the recognition fails

    INFO: cmn_live.c(138): Update to   < 
    05-04 17:35:21.008 15598-15646/nirmanamoha.jithsangayoga.hookbuttoncracker I/cmusphinx: 33.09 
    05-04 17:35:21.008 15598-15646/nirmanamoha.jithsangayoga.hookbuttoncracker I/cmusphinx: 10.45 
    05-04 17:35:21.008 15598-15646/nirmanamoha.jithsangayoga.hookbuttoncracker I/cmusphinx: -5.59 
    05-04 17:35:21.008 15598-15646/nirmanamoha.jithsangayoga.hookbuttoncracker I/cmusphinx: -10.03 
    05-04 17:35:21.008 15598-15646/nirmanamoha.jithsangayoga.hookbuttoncracker I/cmusphinx: -3.83 
    05-04 17:35:21.008 15598-15646/nirmanamoha.jithsangayoga.hookbuttoncracker I/cmusphinx: 
    

    Now since recognition has failed as per my program logic, I have called recogniser.stop().

    I expect the user to restart the recognition by a button press.

    When the user restarts the recognition again. I only call recognizer.startlistening

    However this picks the last cmninit values from memory - i.e which is low 33,10,-5

    And recognition fails again. This goes on in a loop

    How do I restart recognition with my 60,3,1 values.

    Do I need to call the setuprecognizer every time it restarts to make it read the feat.params?

    Is that the only way?

     
  • Q3Varnam

    Q3Varnam - 2018-05-04

    Follow this thread

    I have set CMN to NONE in config - which seems to have got rid of few of the problems.

     

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.