[Freeswitch-users] Discovered problem with PocketSphinx build?

Bryan Smart bryansmart at bryansmart.com
Thu Jul 28 16:06:16 MSD 2011


I partially figured out my problem.

Communicator only works for 8Khz. For 16Khz, you need WSJ1. I wonder why it isn't included with Freeswitch?

WSJ1 is available from this page:
http://www.speech.cs.cmu.edu/sphinx/models/

Direct link for the latest release:
http://www.speech.cs.cmu.edu/sphinx/models/wsj_jan2008/wsj_all_sc_5000_20080401.tar.gz

Rename the extracted folder to wsj1, and place in grammar/model.

For FS to use it, in pocketsphinx.conf.xml, set wideband-model:

<param name="wideband-model" value="wsj1"/>

ASR works fine for me now at 16Khz.

Should I add this to the wiki? Maybe FS could have automatically installed wsj1, but I was clueless about the required build option.

Bryan

On Jul 27, 2011, at 6:46 PM, Bryan Smart wrote:

Tried a build with a latest GIT, with PocketSphinx enabled, and get:

Creating mod_pocketsphinx.la...
/bin/sed: can't read /usr/src/freeswitch/libs/pocketsphinx-0.7/../sphinxbase/src
/libsphinxbase/libsphinxbase.la: No such file or directory
quiet_libtool: link: `/usr/src/freeswitch/libs/pocketsphinx-0.7/../sphinxbase/sr
c/libsphinxbase/libsphinxbase.la' is not a valid libtool archive
cat: .libs/mod_pocketsphinx.log: No such
make[5]: *** [mod_pocketsphinx.la] Error 1

I don't pretend to fully understand the build system, but the makefile seems to be trying to go to libs/sphinxbase for files, when that directory doesn't exist. The currently downloaded version of sphinxbase has the version appended to the directory name, as in sphinxbase-0.7. The Sphinx readme warns that the root should be named sphinxbase.

I did:

ln -s sphinxbase-0.7 sphinxbase

and the build finished without problems.

PocketSphinx works fine on a hardware phone using ULAW, but, when I use a softphone with 16Khz Speex, it doesn't. Instead, I get this

2011-07-27 21:43:14.651803 [WARNING] mod_pocketsphinx.c:147 Can't open speech model /usr/local/freeswitch/grammar/model/wsj1.

The only item in the model directory is communicator. I thought wsj1 was the old model. What in Freeswitch would try to use wsj1 over communicator based on the codec/rate? The mod_pocketsphinx wiki page says that 16Khz is a supported sampling rate, so I'm guessing that there is a special reason why Speex doesn't work, or else that this is a bug.

Bryan


-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freeswitch.org/pipermail/freeswitch-users/attachments/20110728/14be7bcb/attachment.html 


More information about the FreeSWITCH-users mailing list