Menu

Acoustic Model Adaption Problems

Help
2010-09-20
2012-09-22
  • Marco Volino

    Marco Volino - 2010-09-20

    Hi,
    I am trying to adapt the default WSJ acoustic model to my voice for use with
    sphinx-4. I am using Ubuntu 10.04 and the procedure given in the tutorial htt
    p://cmusphinx.sourceforge.net/wiki/tutorialadapt
    on the sphinx site. I have recorded and transcribed
    some audio data, but I am trying to get the basic procedure working and will
    increase the training set at a later date. There are two problems which I am
    encountering, both with the baum-welch (bw) function of sphinx train.

    1. I am using the WSJ acoustic model and the CMU dictionary included with the WSJ model. When it loads the dictionary the log gives 'unknown phone' errors for the words 'mallor' and 'ob-'. I investigated in the dictionary and these are the only two words with a space after the last phone. Deleting the space or removing the word from the dictionary gives rise to another error which was:

    FATAL_ERROR: "ckd_alloc.c" line 79 : Calloc failed from lexicon.c(84)

    The function skips these words because of the error so I decided to use the
    original dictionary.
    2. The second problem is that the bw function fails to find the mfc files created in a previous step. The function retries 100 times then exits. I am using the -cepdir and -cepext parameters to define the file extension and directory of the files, but it still fails to find them. Is this a bug with SphinxTrain (I don’t think it is as this bug would have shown itself long ago). Attached is part of the directory (minus SphinxBase, SphinxTrain and PocketSphinx) with all data i am using and a copy of the error output. Within the directory I have compiled and installed SphinxBase, SphinxTrain and PocketSphinx and the directory structure is as shown below.
    Sphinx (parent directory)
    --acoustic_model
    --adapt_files
    --pocketsphinx
    --sphinxbase
    --SphinxTrain
    --adapt.sh
    --log
    I installed SphinxBase, SphinxTrain and PocketSphinx as described in their
    respected readme files. I have created a script to execute the procedure
    (adapt.sh) which is also included. I would greatly appreciate any guidance to
    help solve these problems. I have tried my best to search for a solution on
    the forum (to no avail) and to give as much information about the problem as I
    can. If any aspect is unclear let me know and I will try to provide more
    information. Also i would like to apologies in advance if this is caused by a
    silly mistake on my part :(
    Here is a link to the data: http://dl.dropbox.com/u/9965187/Sphinx.tar.gz
    Kind regards
    Marco

     
  • Nickolay V. Shmyrev

    I am using Ubuntu 10.04 and the procedure given in the tutorial http://cmus
    phinx.sourceforge.net/wiki/tutorialadapt
    on the sphinx site

    It seems you prepared files on Windows. That were your main mistake

    FATAL_ERROR: "ckd_alloc.c" line 79 : Calloc failed from lexicon.c(84)

    That means that the last line doesn't end with newline. Last line of the file
    must be an empty line. It also means you are using outdated SphinxTrain. I
    suggest you to try the snapshot, it has very nice features and one of them is
    that it handles spacing issues gracefully.

    The second problem is that the bw function fails to find the mfc files
    created in a previous step. T

    Your fileids file have windows-style newlines. It's CR+LF instead of LF. You
    can remove them with dos2unix command. Again, you can just use SphinxTrain
    snapshot.

    I will try to provide more information

    When you report about issues, try to provide software versions you are using.

     

Log in to post a comment.