Menu

Problems occured following Sphinx Tutorial

Help
2009-04-01
2012-09-22
  • Davide Riva

    Davide Riva - 2009-04-01

    I have downloaded the packages in nigthly version (as recommended):

    • SphinxTrain;
    • sphinxbase;
    • sphinx3.

    and also I have downloaded the package of data:

    • rm1.

    Then I followed the instructions found in the online tutorial: (http://cmusphinx.org/tutorial.html)

    During the step by step system installation I have noticed some errors.


    In the first part (Setting up of the trainer) using Visual Studio 2008, with the project included in the package, the compiler did not finish on the following projects:

    • Wave2Feat project only in DEBUG mode; (the error was related to Visual Studio 2008 Optimizer)
    • LDA_train both in RELEASE mode and DEBUG mode.

    Altough the aforementioned projects were not correclty compiled, I could execute the PERL scripts as well. these are:
    (cd SphinxTrain
    perl scripts-pl/setup_tutorial.pl rm1)
    This script has run without errors.


    In the second part (Setting up of the decoder):

    First I have compiled the sphinxbase package.
    In this case, using the *.sln project included in the package, the compiler has given errors in ALL DEBUG mode but conversely, it works correclty in the RELEASE mode.

    Then I have compiled the sphinx3 package (as recommended) without errors.


    After I have tried to perform a speech recognition trainin and a decoding.

    1. In particular I have started as described in the tutorial to perform a preliminary training run.
      I have checked all the parameters of "rm1" configuration:

    ( $CFG_HMM_TYPE='.cont.'; # because i have compiled Sphinx III )

    and i run the script in "rm1" directory:

    ( perl script_pl/RunAll.pl )

    All the scripts have run without errors.
    At the end I have checked the results in both the "rm1/model_parameters" and "rm1/model_architecture" folders.

    In the first one the following folders have been created:
    - rm1.cd_cont_1000
    - rm1.cd_cont_1000_1
    - rm1.cd_cont_1000_2
    - rm1.cd_cont_1000_4
    - rm1.cd_cont_1000_8
    - rm1.cd_cont_initial
    - rm1.cd_cont_untied
    - rm1.ci_cont
    - rm1.ci_cont_flatinitial

    Conversely, in the second we have:

    • rm1.1000.mdef
    • rm1.alltriphones.mdef
    • rm1.ci.mdef
    • rm1.phonelist
    • rm1.topology
    • rm1.tree_questions
    • rm1.untied.mdef

    • Also I have started, as described in the tutorial, to perform a preliminary decoding run.

    I run the script in "rm1" directory:

    ( perl script_pl/decode/slave.pl )

    The error presented in this case in DOS shell was this:


    • C:\Users\Davide\Desktop\Speech recognition\tutorial\rm1> perl scripts_pl/decode/s *
    • lave.pl
    • MODULE: DECODE Decoding using models previously trained
    • Decoding 600 segments starting at 0 (part 1 of 1)
      *
    • Aligning results to find error rate
    • Can't open C:/Users/Davide/Desktop/Speech recognition/tutorial/rm1/result/rm1-1-1 *
    • .match
    • word_align.pl failed with error code 65280 at scripts_pl/decode/slave.pl line 172 *
    • .

    In particular the script couldn't locale the position of sphinxbase.dll and s3decoder.dll.

    Then I added it in rm1 folder and a Windows Vista message have said that "sphinx3_decode.exe" terminate the execution crash.
    In my opinion, the reason why it has crashed, as presented in DOS shell, is because the program ("sphinx3_decode.exe") cannot locate "rm1-1-1.match".


    • C:\Users\Davide\Desktop\Speech recognition\tutorial\rm1> perl scripts_pl/decode/slave.pl *
    • MODULE: DECODE Decoding using models previously trained
    • Decoding 600 segments starting at 0 (part 1 of 1)
    • 0%
    • Aligning results to find error rate
    • Can't open C:/Users/Davide/Desktop/Speech recognition/tutorial/rm1/result/rm1-1-1.match *
    • word_align.pl failed with error code 65280 at scripts_pl/decode/slave.pl line 172. *

    I don't understand the behavior of the scripts.
    Why does the last script fail? Why does the script require the presence of "rm1-1-1.match"?
    Where do I miss?
    Where are my mistakes?

    Also, I tried all the packages under cygwin following the instructions for the linux OS but the results are the same.
    The script slave.pl in rm1\decode folder doesn't work as well. I think that I did something wrong.

     
    • UF grad

      UF grad - 2009-04-21

      I built the environment in Linux and seem to work very well.

      The last error you got is because the decoder has problem.
      The decoder should generate "rm1-1-1.match". This file has the recognition results, readable text.

      The align function is just to compare this result file with the transcription file.

      You may want to check the log file to see what part of decoder that failed.

       

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.