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
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
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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
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
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
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
However it gets updated to 33,10,-5 - the recognition fails
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?
Follow this thread
I have set CMN to NONE in config - which seems to have got rid of few of the problems.