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.
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
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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.
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
It seems you prepared files on Windows. That were your main mistake
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.
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.
When you report about issues, try to provide software versions you are using.