Menu

feature-set and copyoperations map file

Help
2004-07-19
2012-09-22
  • danial ibrahim

    danial ibrahim - 2004-07-19

    hi,
    so far i've followed the SphinxTrain instructons and got stuck at creating means and variance files.

    i don't clear enough about which feature-set should i choose in order to train the continuous HMM. or is it the options doesn't make any different to any model? which one is the best feature-set should i use?
    1) c/1..L-1/,d/1..L-1/,c/0/d/0/dd/0/,dd/1..L-1/
    2) c/1..L-1/d/1..L-1/c/0/d/0/dd/0/dd/1..L-1/
    3) c/0..L-1/d/0..L-1/dd/0..L-1/
    4) c/0..L-1/d/0..L-1/
    5) c/0..L-1/
    6) c/0..L-1/dd/0..L-1/

    i've ran cp_parm executable and got the error says:
    'segementation fault (core dumped)'

    i want to train E-set data corpus and from the dictionary, i got 14 phones for all utterances. i've restricted the num. of state per HMM to be 3. so the total num of states = 42 (14*3).

    my copyoperations map files was created like below:
    0   0
    1   0
    2   0
    .    .
    .    .
    40  0
    41  0
    42  0

    can anyone here tell me what was my mistake and how to fix the problem?
    thanks.

     
    • danial ibrahim

      danial ibrahim - 2004-07-19

      i've found the answer to my 2nd question above:
      cp_parm (creating means & variance files)

      the num of phone for the e-set letters are 9+1 (including SIL). so total num of state = 30 (10*3)

      segmentation fault happens because the state list in copyoperations map file didn't match the actual num of phones for e-set letters.

      so, can anyone here tell me something about my first question: FEATURE-SET OPTIONS?

       
      • Willie Walker

        Willie Walker - 2004-07-19

        Hi:

        I'm learning how to use the SphinxTrain application as well, and just completed my first attempt at training models from the LDC's WSJ0 data.  We already ship similar models in Sphinx-4 (cmusphinx/sphinx4/models/acoustic/wsj), but I just wanted to make sure I understood the process.

        The feature I've been using is the same one that is used by default in Sphinx-4:

           -feat 1s_c_d_dd

        From looking at cmusphinx/SphinxTrain/src/libs/libcep_feat/feat.c, it looks like the string "1s_c_d_dd" maps to:

           c/0..L-1/d/0..L-1/dd/0..L-1/

        Note that getting the training going is pretty laborious, and it can take a long time between failures.  I actually started working with SphinxTrain at the end of June, and it took me until last Saturday (July 17) to get my first complete set of models trained.  Of course, this was done on nights/weekends, so I might have been able to do it faster.

        Will

         
    • Roger Wellington-Oguri

      The options in SphinxTrain allow for much more flexibility than the decoders support.  Until you understand the Sphinx decoder implementation and are prepared to modify the source code, I advise you to stick as close to the default options as you can.  In particular,  use the default $CFG_FEATURE and leave $CFG_STATESPERHMM at 5.  Once you have everything (not just SphinxTrain running to completeion, succesful speech recognition) working, you can start exploring the options to make it better (smaller, faster, more accurate, ...).

       
    • danial ibrahim

      danial ibrahim - 2004-07-20

      Hi,
      thanks for the helps!

      i want to train the continuous models (CHMM) and have followed the documentation from http://www.speech.cs.cmu.edu/sphinxman/fr4.html (since early this month) which is the instruction to train the continuous and semi-continuous models.

      so, right now i'm in process training my E-set CI models using bin/bw executable and got stuck...

      this is the last lines of the implementation:
      next_prime: failed to find next primt for 0
      next_prime: failed to find next primt for 0
      assertion "n_state > 0" failed: file "baum_welch.c", line 172 utt>     9                  0BF1SET9  114    0     0Aborted (core dumped)

      i use the 3rd feature-set (c/0..L-1/d/0..L-1/dd/0..L-1/) and 5_state_bakis topology.

      and this is the cmd_line that i used:

      bin/bw
      -moddeffn model_architecture/e_set/e_set_ci.mdef
      -ts2cbfn .cont.
      -mixwfn model_parameters/e_set/e_set_mixw.gau
      -mwfloor 0.00001
      -tmatfn model_parameters/e_set/e_set.tmat
      -meanfn model_parameters/e_set/e_set.means
      -varfn model_parameters/e_set/e_set.var
      -dictfn etc/e_set.dict
      -fdictfn etc/filler.dict
      -ctlfn etc/e_set.fileids
      -part 1
      -npart 1
      -cepdir feat/ti_alpha
      -cepext feat
      -lsnfn etc/e_set.transcription
      -accumdir model_parameters/e_set
      -varfloor 0.00001
      -topn 1
      -abeam 1e-100
      -bbeam 1e-100
      -agc max
      -cmn current
      -varnorm yes
      -meanreest yes
      -varreest yes
      -2passvar yes
      -tmatreest yes
      -feat c/0..L-1/d/0..L-1/dd/0..L-1/
      -ceplen 13

      kindly,can anyone help me out...?
      i need to catch up my time line.

       
    • Roger Wellington-Oguri

      My best suggestion is to examine the bw.log file for things that don't seem right.  Unfortunately, this implies you will recognize what a successful log should look like, and the SphinxTrain release doesn't contain any samples of successful training.  I'll email you a bw.log file for you to compare against yours.

      (My guess is that SphinxTrain found no training data.  Is your etc/e_set.fileids file empty, perhaps?)

      Roger

       
    • danial ibrahim

      danial ibrahim - 2004-07-21

      thanks for the respond!

      i think SphinxTrain did found my training data because it went ok for the first 8 feature files and only get error when reach the 9th.

      i've sent the full implementation lines to your email.

      any given solution will be very appreciated!

      thanks.

       

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.