Menu

decoding 100% error using PS out of the box

Help
coriscow
2008-01-15
2012-09-22
  • coriscow

    coriscow - 2008-01-15

    Hi all!

    I have been using Pocketsphinx for several weeks now without important problems. However, I had to start from the scratch and downloaded and compiled PocketSphinx 0.4.1 again. but when I come to use it with a previously (correctly) trained version of the an4 I get 100% sentence error. When I check an4-1-1.match I found that the decoder is asigning no result for any utterance, and, therefore the alignment raises 100% error.

    I know the mistake is in PocketSphinx because I can run another version of pocketsphinx_batch that gives the desired results (but I do not have nor the code neither the VS project to check)

    Any idea?

    Thanks!!!

    Coriscow

     
    • Nickolay V. Shmyrev

      Without additional data at least a log it's hard to say something useful.

       
    • coriscow

      coriscow - 2008-01-16

      Hi Nickolay, thanks for your fast answer. Yesterday night I realized a silly mistake in the compilation I was using as working one: it was compiled for win32!!! However, the problem is still there.

      I have been trying to compile PocketSphinx 0.4.1 for Windows Mobile 5.0 for PPC. After some fixing like creating a dll and adding some directives (FIXED_POINT, POCKETSPHINX_EXPORTS, ...), I try to compile the project but it raises the following error at lm_add_word

      Error 23 fatal error C1001: An internal error has occurred in the compiler. k:\workbench\racoon\pocketsphinx\src\libpocketsphinx\lm_3g.c 1186

      If I remove the call to the function lm_init_oov (and, therefore, lm_add_word) from kb_main.c it compiles but recognizes nothing; so it raises 100% error. I think it has something to do with the fixed point arithmetic, but I am not sure.

      Best regards!!!

      Coriscow

       
    • coriscow

      coriscow - 2008-01-16

      I have been tracking the error and it crashes at lm_3g.c line 1177

      model->unigrams[model->ucount].bo_wt1.l = LWMUL(LOG10TOLOG(0.0), model->lw);

      due to LOG10TOLOG(0.0)

      /
      * Note that we always deal with quantities < 0.0, there for we round
      * using -0.5 instead of +0.5
      /

      define LOG10TOLOG(x) ((int32)((x * (2.30258509 / LOG_BASE)) - 0.5))

      If I change it to LOG10TOLOG(0.01) it compiles successfully but still get no utterance recognized. this is my results file ( [task]-1-1.match )

      (ANTONIO_0 -21333898)
      (BARCELONA_0 -26249211)
      (CARMEN_0 -16445251)
      (CHOCOLATE_0 -27507401)
      (DOLORES_0 -22255181)
      (ENRIQUE_0 -23273869)
      (EXTRA_0 -19170256)
      (FRANCIA_0 -20365433)
      (GENERAL_0 -21129905)
      (HISTORIA_0 -22339381)
      (ISRAEL_0 -26051107)
      (JOSE_0 -15379968)
      (KILO_0 -13168726)

      Regards!!

      Coriscow

       
      • Nickolay V. Shmyrev

        Hm, it's wierd. Actually there are build problems as well as well as decoding problems on arm. _unski on irc promised to send a patch soon. So more corrections are welcome.

        In general, the principle of distribution should work. First of all try to extract feature file (-mfclogdir) and compare it with files extracted on PC. Try to decode mfc file and compare the scores (-phypseqdump). Either features will be different, then you have to debug feature extraction or decoding will be different, then you have to debug search algorithm. Most probably feature extraction doesn't work properly.

         

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.