I want to use PocketSphinx on a Palm Treo v500. I've tried RM1 audio base and my own grammar:
REPEAT
BACK
REST
END
I also tried communicator audio base and the grammar: YES, NO.
On Win32 and Linux is working great but when i compile PocketSphinx for ARMV4 (Pocket PC 2003) or ARMV4I (Windows Mobile 5) with Visual Studio 2005, the program runs the same way as in the Desktop version but it becomes useless since it keeps listening but results are not accurated at all.
I've tried stable version (PocketSphinx 4.1 + SphinBase 3.0) and SVN version last days ago. To compile i used FIXED_POINT preprocessor directive
I've tried different command-line args but more or less are these:
-live yes
-fwdflat no
-bestpath no
-lm /meivox/model/lm/comm/comm.lm
-dict /meivox/model/lm/comm/comm.dic
-hmm /meivox/model/hmm/comm.cd_semi_6000
-samprate 8000
-nfft 256
At this point i don't know what i'm doing wrong: command-args, audio base, mobile phone, compile config, etc.
Could you please help?
Thank you,
Arnau
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Thank you for the response, but before checking if mdef is loaded properly I would want to try a simple configuration that just works.
With same command-args as above, i tried the tidigits hmm and lm models which come with pocketsphinx stable and I get no errors while loading mdef nor the language model but recognizing is so bad.
The program (I use tty_continuous) runs well but it's almost impossible to get a word recognized, when you say ONE it recognizes SIX EIGHT or nothing. Also, it's very sensible to environment. If you make a sound or there is people talking near you, it keeps recognizing every time.
I also tried different devices such as HTC Touch or Orange SPV M600, but after recognizing 3 or 4 words it keeps listening for a while and then i get the following error:
1275: six six
READY....
INFO: ......\src\libpocketsphinx\uttproc.c(849): Batchmode
Listening...
ERROR: "......\src\libpocketsphinx\uttproc.c", line 961: Utterance too long; truncating to about 6000 frames
I presume this is because the device has less memory, is there a way to fix this from the command line?
Is there a way to limit the listening time?
If possible, I would like to know of any device you have tested on and is known to work well with pocketsphinx and Windows Mobile?
Thank you.
Best regards,
Arnau Alemany
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hm, probably it fails to parse mdef file properly and we have a bug somewhere in mdef packing code. Anyhow, this needs additional debugging. For example you can remove #if 0 in bin_mdef.c and check how model definition is loaded.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I followed your suggestion and removed #if 0 in bin_mdef.c and appear a lot of debug messages but no error.
Anyway i tested the comm.cd_semi_6000 hmm and a little grammar with YES, NO words and it seems there are no "Missing triphone" errors but when i say YES or NO it's very difficult to get them recognized.
When i pick up the mobile, it starts listening but most of the time recognizes SIL or YES instead of NO or nothing.
It's something with the phone? Or maybe the sampling rate? If i can i will try with different devices.
Could you tell me an example configuration that it works for this mobile or a different one with Windows Mobile 6.
Thank you very much,
Arnau
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
If the warning still exists it's for sure the reason of bad recognition rate. Our though is that binary mdef file doesn't load properly. David for example noticed that attribute packed in mdef_bin.h is only used in GNU environment and can cause troubles. So first of all you should check/debug that mdef file is loaded properly. Probably there are other issues with binary files.
You can also try to load mdef file from text, you have to convert it to text form first.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hello all,
I want to use PocketSphinx on a Palm Treo v500. I've tried RM1 audio base and my own grammar:
I also tried communicator audio base and the grammar: YES, NO.
On Win32 and Linux is working great but when i compile PocketSphinx for ARMV4 (Pocket PC 2003) or ARMV4I (Windows Mobile 5) with Visual Studio 2005, the program runs the same way as in the Desktop version but it becomes useless since it keeps listening but results are not accurated at all.
I've tried stable version (PocketSphinx 4.1 + SphinBase 3.0) and SVN version last days ago. To compile i used FIXED_POINT preprocessor directive
I've tried different command-line args but more or less are these:
At this point i don't know what i'm doing wrong: command-args, audio base, mobile phone, compile config, etc.
Could you please help?
Thank you,
Arnau
Hello Nickolay,
Thank you for the response, but before checking if mdef is loaded properly I would want to try a simple configuration that just works.
With same command-args as above, i tried the tidigits hmm and lm models which come with pocketsphinx stable and I get no errors while loading mdef nor the language model but recognizing is so bad.
The program (I use tty_continuous) runs well but it's almost impossible to get a word recognized, when you say ONE it recognizes SIX EIGHT or nothing. Also, it's very sensible to environment. If you make a sound or there is people talking near you, it keeps recognizing every time.
I also tried different devices such as HTC Touch or Orange SPV M600, but after recognizing 3 or 4 words it keeps listening for a while and then i get the following error:
1275: six six
READY....
INFO: ......\src\libpocketsphinx\uttproc.c(849): Batchmode
Listening...
ERROR: "......\src\libpocketsphinx\uttproc.c", line 961: Utterance too long; truncating to about 6000 frames
I presume this is because the device has less memory, is there a way to fix this from the command line?
Is there a way to limit the listening time?
If possible, I would like to know of any device you have tested on and is known to work well with pocketsphinx and Windows Mobile?
Thank you.
Best regards,
Arnau Alemany
Update:
Output between Win32 and armv4 are a little different.
In armv4 version appear various messages like this:
I suppose that's the reason why PocketSphinx is not able to recognize those words.
Does this give any clue? Any idea how to avoid those messages?
Thank you,
Arnau
Hm, probably it fails to parse mdef file properly and we have a bug somewhere in mdef packing code. Anyhow, this needs additional debugging. For example you can remove #if 0 in bin_mdef.c and check how model definition is loaded.
I followed your suggestion and removed #if 0 in bin_mdef.c and appear a lot of debug messages but no error.
Anyway i tested the comm.cd_semi_6000 hmm and a little grammar with YES, NO words and it seems there are no "Missing triphone" errors but when i say YES or NO it's very difficult to get them recognized.
When i pick up the mobile, it starts listening but most of the time recognizes SIL or YES instead of NO or nothing.
It's something with the phone? Or maybe the sampling rate? If i can i will try with different devices.
Could you tell me an example configuration that it works for this mobile or a different one with Windows Mobile 6.
Thank you very much,
Arnau
If the warning still exists it's for sure the reason of bad recognition rate. Our though is that binary mdef file doesn't load properly. David for example noticed that attribute packed in mdef_bin.h is only used in GNU environment and can cause troubles. So first of all you should check/debug that mdef file is loaded properly. Probably there are other issues with binary files.
You can also try to load mdef file from text, you have to convert it to text form first.