Menu

sphinx-3 with fixed-point

Help
Adelio
2007-12-18
2012-09-22
  • Adelio

    Adelio - 2007-12-18

    Now I'm trying to make speech recognizer using Sphinx-3 in a non-floating point device.
    I found the follows in sphinxbase reademe,

    If you are compiling for a platform without floating-point arithmetic,
    you should instead use:
    > ./configure --enable-fixed --without-lapack
    > make

    So, I was compiling SphinxBase-0.3 by this guide.
    Next, I was compiling SphinxTrain and Sphinx-3.7 decoder.
    In training, however, it was very slow with forced alignment (sphinx3_align).
    Moreover, the recognition results is 100% WER.
    When I make a Sphinx (base,trainer,decoder) with floating point, there is no problem. (about 5% WER)
    Compared with fixed point, I just change a upper configuration in compiling.
    What's the problem for me?

     
    • David Huggins-Daines

      Hi, the problem is that fixed point isn't supported in Sphinx3 yet (or for continuous-density models in PocketSphinx).

      Sorry about that! The problem is that code assumes that mfcc_t is defined as float32, and proceeds to use normal arithmetic operations on it in GMM computation (in src/libs3decoder/libam/). This needs to be changed to use FIXMUL(), similar to how PocketSphinx does it (in src/libpocketsphinx/s2_semi_mgau.c).

       
      • Adelio

        Adelio - 2007-12-21

        Then, I wonder how long take it ( change float to fixed ).

         

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.