I was working on integrating pocketsphinx into our project, which more or less is working out well, however when I shut down pocketsphinx via ps_free, I get a crash in ngram_search_fwdtree.c in the function ngram_fwdtree_deinit(). In this function, ngs->n_tot_frame is 0 and thus the log infos that happen here break, since n_speech is 0.
I imagine that this is caused by a bad configuration, but I am unsure what configuration option is missing or not set correctly. A weird note, -cmn is set to batch not current, I am not sure why the log says this. Additionally, noise suppression and silence detection are already detected by our code and the audio buffers passed to pocketsphinx have already been processed.
In our codebase, pocketsphinx is wrapped by a c++ class that handles all interactions with the library. We are using PS to transcribe spoken words into text in a dictation rather than command words. We are also passing complete utterances to pocketsphinx in a separate thread for processing.
I was working on integrating pocketsphinx into our project, which more or less is working out well, however when I shut down pocketsphinx via ps_free, I get a crash in ngram_search_fwdtree.c in the function ngram_fwdtree_deinit(). In this function, ngs->n_tot_frame is 0 and thus the log infos that happen here break, since n_speech is 0.
I imagine that this is caused by a bad configuration, but I am unsure what configuration option is missing or not set correctly. A weird note, -cmn is set to batch not current, I am not sure why the log says this. Additionally, noise suppression and silence detection are already detected by our code and the audio buffers passed to pocketsphinx have already been processed.
In our codebase, pocketsphinx is wrapped by a c++ class that handles all interactions with the library. We are using PS to transcribe spoken words into text in a dictation rather than command words. We are also passing complete utterances to pocketsphinx in a separate thread for processing.
Here is the log output:
You are welcome to add a check for 0 there and submit a pull request.
Of course ;) but what would cause this value to go to 0? And is that a bad thing (outside of this divide by 0 error)
If you destroy decoder after creation and process 0 frames the value is 0
No
Awesome thanks for the info :)