Third-party:SpeechRecognition:cmusphinx3 old version

From HemeraBook
Jump to: navigation, search

With some old version of sphinx3_decode, there was problem with x86_64 version and utf8 language model, failing in segmentation fault.
If you face this situation, it is recommended to compile as ix86 even on x86_64 bits OS using specific options.

To begin, you need to prepare your computer for compiling source code.

Then, you can get the source code:

Important: you should checkout sphinxbase, sphinx3 and SphinxTrain into the same root directory, such a way,
the configuration system will automagically find sphinxbase headers and libraries
svn co
svn co
svn co
WARNING: it seems using a x86_64 version of sphinx3_decode with utf8 language model fails in segmentation fault (no problem with ix86).
So it is recommended to compile as ix86 even on x86_64 bits OS using specific options

For that, you need additional packages.

sphinxbase compilation instructions (libraries will be available in src/libsphinxbase/.libs):

cd sphinxbase
./configure CFLAGS="-m32" LDFLAGS="-m32 -L/usr/lib" --without-python
make -s

sphinx3 compilation instructions (binaries will be available in src/programs):

WARNING: to have case sensitive dictionary (which is requested with LIUM models), you must patch the source code
 cd ../sphinx3
 patch -N -p1 -s src/libs3decoder/libdict/dict.c < HEMERA_TP_PATH/speechRecognition/misc/sphinx3_caseSensitive.patch
 ./configure CFLAGS="-m32" LDFLAGS="-m32 -L/usr/lib"
 make -s
-> check/update the hemera.core.speechRecognition.tool.* configuration elements

SphinxTrain compilation instructions:

 cd ../SphinxTrain
 ./configure CFLAGS="-m32" LDFLAGS="-m32 -L/usr/lib"
 make -s
 cp bin*/wave2feat HEMERA_TP_PATH/speechRecognition/bin
-> check/update the hemera.core.speechRecognition.soundFeatureCreator.* configuration elements