I am trying to train a model but everytime encountered with a problem of "Failed to read MFC file 'E:\CMUSphinx\Thank/feat/Call1.mfc'. Retrying after sleep...", i have wave files of 8khz and then i convert them to 16khz by (SOX) tool, and then convert into mfc. i am pasting the log file here, Please help.
I have also used 8khz sample rate files and also change configuration file with respect to 8khz but no success.
Thanks for fast reply, i have used 8khz file and still got the same error, i have changed the configuration as follow:
$CFG_WAVFILE_SRATE = 8000.0;
$CFG_NUM_FILT = 31; # For wideband speech it's 40, for telephone 8khz reasonable value is 31
$CFG_LO_FILT = 200; # For telephone 8kHz speech value is 200
$CFG_HI_FILT = 3500; # For telephone 8kHz speech value is 3500
can u tell me now where i am wrong, may be as you said that its the mfc file that causing problem, currently i am converting my wav to mfc using (htk) Hcopy command as described here:http://www.voxforge.org/home/dev/acousticmodels/linux/test/htk--julius/data-prep/step-4
can u tell me now where i am wrong, may be as you said that its the mfc file that causing problem, currently i am converting my wav to mfc using (htk) Hcopy command as described
This was not a good idea. HTK tools are not compatible with CMUSphinx.
You do not need to convert wav files to mfc before training, it is done within training process. If you run sphinxtrain run it converts wav files to mfc and does the training automatically.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Thanks for your prompt replies but regret to say that I am not getting regarding training with wave files. Currnetly I start training with following command:
python ..\SphinxTrain\scripts\sphinxtrain.in run
what are the changes that has to be done if i provide wav files as input, whether in configuration file or elsewhere or if you could please provide a link containing example training using wav files?
Earlier in Windows 8, a few months ago I trained with .mfc files successfully by converting wav into mfc using (HTK) tool and trained it, its was running fine, but now its throwing that error, I have new installation with Windows 7. Now If i am giving those old wav converted mfc files as input then it will not throw this error of "Failed to read mfc file" and if i convert wav to mfc and then train with new mfc files then it is causing error. So this means that there is something wrong in converting wav to mfc files.
I am comfirtable if .wav format can be used for training but don't know that how to do this.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Earlier in Windows 8, a few months ago I trained with .mfc files successfully by converting wav into mfc using (HTK) tool and trained it, its was running fine
It could not be true, you are missing something. Our files were never compatible with HTK tools.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
There is no such file in recent distribution of sphinxtrain,
yes I have not using recent distribution. it is sphinxtrain 1.0.8.
By the way my training succesfully done as its my fault, actually my wav folders contains files with wrong name. And also its also true that there is no need to convert wav to mfc with (htk) as its already done by sphinxtrain as you said, but at the end of training I have word error rate and sentence error rate upto 100% and the reason which I have seen in log files is,
ERROR: "gauden.c", line 1670: Variance (mgau= 19, feat= 0, density=0, component=0) is less then 0. Most probably the number of senones is too high for such a small training database. Use smaller $CFG_N_TIED_STATES.
As i have very small database of some minutes, I changed CFG_N_TIED_STATES = 1 but the error remains same so it may be because of lack of data.
Actually I am doing training for the introduction sentence used by call centre agents,
for e.g: Thank you for calling ABC my name is xyz how can i help you
I am doing this with 28 different audios of 8 speakers, So may be I need more data for training. Can you guide me the number of recordings or number of minutes/hours of audio for this training.
Also my main task is to train the system for transcripting voice calls recorded in call centers so how much data need for this?, Obviously this would be speker independent, because customer is changing in almost every call.
And Is there any ready made model for call centers that will help me in doing this?
Thanks
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I am trying to train a model but everytime encountered with a problem of "Failed to read MFC file 'E:\CMUSphinx\Thank/feat/Call1.mfc'. Retrying after sleep...", i have wave files of 8khz and then i convert them to 16khz by (SOX) tool, and then convert into mfc. i am pasting the log file here, Please help.
I have also used 8khz sample rate files and also change configuration file with respect to 8khz but no success.
INFO: cmd_ln.c(691): Parsing command line:
init_gau \
-ctlfn E:\CMUSphinx\Thank/etc/Thank_train.fileids \
-part 1 \
-npart 1 \
-cepdir E:\CMUSphinx\Thank/feat \
-cepext mfc \
-accumdir E:\CMUSphinx\Thank/bwaccumdir/Thank_buff_1 \
-agc none \
-cmn current \
-varnorm no \
-feat 1s_c_d_dd \
-ceplen 13
Current configuration:
[NAME] [DEFLT] [VALUE]
-accumdir E:\CMUSphinx\Thank/bwaccumdir/Thank_buff_1
-agc none none
-agcthresh 2.0 2.000000e+000
-cepdir E:\CMUSphinx\Thank/feat
-cepext mfc mfc
-ceplen 13 13
-cmn current current
-cmninit 8.0 8.0
-ctlfn E:\CMUSphinx\Thank/etc/Thank_train.fileids
-dictfn
-example no no
-fdictfn
-feat 1s_c_d_dd 1s_c_d_dd
-fullvar no no
-help no no
-lda
-ldadim 0 0
-lsnfn
-meanfn
-moddeffn
-npart 1
-nskip 0
-part 1
-runlen 0
-scaleseg no no
-segdir
-segext v8_seg v8_seg
-svspec
-ts2cbfn
-varnorm no no
Header size field: -1509883904(a6010000); filesize: 21958(000055c6)
SYSTEM_ERROR: "corpus.c", line 1352: Failed to read MFC file 'E:\CMUSphinx\Thank/feat/Call1.mfc'. Retrying after sleep...
MFC files are broken. I am not sure how did you extrac them, but you need to review that process and run it properly.
Tutorial says it is bad idea. You should use 8khz files for training and properly configure sample rate in sphinx_train.cfg file.
Thanks for fast reply, i have used 8khz file and still got the same error, i have changed the configuration as follow:
$CFG_WAVFILE_SRATE = 8000.0;
$CFG_NUM_FILT = 31; # For wideband speech it's 40, for telephone 8khz reasonable value is 31
$CFG_LO_FILT = 200; # For telephone 8kHz speech value is 200
$CFG_HI_FILT = 3500; # For telephone 8kHz speech value is 3500
can u tell me now where i am wrong, may be as you said that its the mfc file that causing problem, currently i am converting my wav to mfc using (htk) Hcopy command as described here:http://www.voxforge.org/home/dev/acousticmodels/linux/test/htk--julius/data-prep/step-4
with configuration:
SOURCEFORMAT = WAV
TARGETKIND = MFCC_0_D
TARGETRATE = 100000.0
SAVECOMPRESSED = T
SAVEWITHCRC = T
WINDOWSIZE = 250000.0
USEHAMMING = T
PREEMCOEF = 0.97
NUMCHANS = 26
CEPLIFTER = 22
NUMCEPS = 12
Can you tell me alternative tool or something that convert my wav to mfc?
Last edit: Abdul Haseeb 2015-08-03
This was not a good idea. HTK tools are not compatible with CMUSphinx.
You do not need to convert wav files to mfc before training, it is done within training process. If you run
sphinxtrain runit converts wav files to mfc and does the training automatically.Thanks for your prompt replies but regret to say that I am not getting regarding training with wave files. Currnetly I start training with following command:
python ..\SphinxTrain\scripts\sphinxtrain.in run
what are the changes that has to be done if i provide wav files as input, whether in configuration file or elsewhere or if you could please provide a link containing example training using wav files?
Earlier in Windows 8, a few months ago I trained with .mfc files successfully by converting wav into mfc using (HTK) tool and trained it, its was running fine, but now its throwing that error, I have new installation with Windows 7. Now If i am giving those old wav converted mfc files as input then it will not throw this error of "Failed to read mfc file" and if i convert wav to mfc and then train with new mfc files then it is causing error. So this means that there is something wrong in converting wav to mfc files.
There is no such file in recent distribution of sphinxtrain, you can download latest one here:
https://sourceforge.net/projects/cmusphinx/files/sphinxtrain/5prealpha/
http://cmusphinx.sourceforge.net/wiki/tutorialam
It could not be true, you are missing something. Our files were never compatible with HTK tools.
yes I have not using recent distribution. it is sphinxtrain 1.0.8.
By the way my training succesfully done as its my fault, actually my wav folders contains files with wrong name. And also its also true that there is no need to convert wav to mfc with (htk) as its already done by sphinxtrain as you said, but at the end of training I have word error rate and sentence error rate upto 100% and the reason which I have seen in log files is,
ERROR: "gauden.c", line 1670: Variance (mgau= 19, feat= 0, density=0, component=0) is less then 0. Most probably the number of senones is too high for such a small training database. Use smaller $CFG_N_TIED_STATES.
As i have very small database of some minutes, I changed CFG_N_TIED_STATES = 1 but the error remains same so it may be because of lack of data.
Actually I am doing training for the introduction sentence used by call centre agents,
for e.g: Thank you for calling ABC my name is xyz how can i help you
I am doing this with 28 different audios of 8 speakers, So may be I need more data for training. Can you guide me the number of recordings or number of minutes/hours of audio for this training.
Also my main task is to train the system for transcripting voice calls recorded in call centers so how much data need for this?, Obviously this would be speker independent, because customer is changing in almost every call.
And Is there any ready made model for call centers that will help me in doing this?
Thanks
This issue is covered in our tutorial http://cmusphinx.sourceforge.net/wiki/tutorialam