I'm working on Sphinx4 and I want to use Sphinxtrain to train acoustic models, but I've got a problem when I want to create the features with wave_feats. It tells me that it can't convert the wav file into a sph file (wave2feat.c: error line 92) so it can't read it (line 620). I' ve done simple files , just for the three letters A,B,C, to avoid problems, and I think they are right. What is wrong?
Here are my files
etc/time.dic
A EY
B B IY
C S IY
etc/time.phone
EY
B
IY
S
etc/time.fileids
A
B
C
ABC
etc/time.transcription
<s>A</s>(A)
<s>B</s>(B)
<s>C</s>(C)
<s>A B C</s> (ABC)
etc/time.filler
<s> SIL
<sil> SIL
</s> SIL
wav/
A.wav
B.wav
C.wav
ABC.wav
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I've executed the differents modules and the second one
(scripts_pl\02.ci_schmm\slave_convg.pl) displays this error message:
MODULE: 02 Training Context Independent models2
Cleaning up directories: accumulator...logs...models...
Flat initialize
Baum welch starting for iteration: 1 (1 of 1)
Using 4 files: 0% 50% ERROR: FATAL_ERROR: "C\SphinxTrain\src\libs\libio\corpus.c", line 256: input string too long. Truncated.
ERROR: FATAL_ERROR: "C\SphinxTrain\src\libs\libio\corpus.c", line 256:
input string too long. Truncated.
Received a fatal error at BASE_DIR/scripts_pl/02.ci_schmm/baum_welch.pl line 143, <PIPE> line 136.
Parts
To evaluate the problem and to know which string was too long(I find it very strange), I did some modifications on corpus.c but when I compilated the libio.lib library, the slave_convg.pl file did not take it into account...
Perhaps is there another file to modify.
Cheers, Raph
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Anonymous
-
2005-06-30
I can't tell enough about your wave2feat error. Please show us (1) the command line you used and (2) the exact error messages. That will make it easier to help you.
Two other comments:
I believe that your .phone file must include SIL.
As has been discussed here before, you'll need many more than 4 files of speech for training.
cheers,
jerry
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hello Jerry. Thanks for coming in help.
I'm going to add SIL in my time.phone.
4 files were just to test if the program can work!
But if it's not enough to begin, I can add some. I want to
train about seventy files.
My command line is:
D:\perl C:\sphinxtrain\scripts_pl\make_feats.pl -ctl C:\time\etc\time.fileids
and the exact error message is:
INFO: C:\SphinxTrain\src\programs\wave2feat\wave2feat.c(130):wav/A.sph
ERROR: "C:\SphinxTrain\src\programs\wave2feat\wave2feat.c",line 620: Cannot read wav/A.sph
FATAL ERROR: C:\ShinxTrain\src\programs\wave2feat\wave2feat.c", line 94: error converting files...exiting
Here is what it says. Bye
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Anonymous
-
2005-06-30
One of the limitations of make_feats.pl is that it assumes certain things, and new users aren't always aware of those assumptions. Two of those assumptions are that the input audio files are in NIST format and are named .sph . In your case, I think your files are in MS WAV format and named .wav.
For those reasons, I prefer to invoke bin/wave2feat directly. You can learn the arguments by typing "bin/wave2feat -help yes".
It's probably easiest if you're connected to yout top level directory ("time") when you run it, and you'll want a command line that's something like:
I see you're running on Windows. The above assumes you're on Unix, so the exact syntax will be different on Windows, with which I'm not so familiar. Hope that helps...
cheers,
jerry
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I'm working on Sphinx4 and I want to use Sphinxtrain to train acoustic models, but I've got a problem when I want to create the features with wave_feats. It tells me that it can't convert the wav file into a sph file (wave2feat.c: error line 92) so it can't read it (line 620). I' ve done simple files , just for the three letters A,B,C, to avoid problems, and I think they are right. What is wrong?
Here are my files
etc/time.dic
A EY
B B IY
C S IY
etc/time.phone
EY
B
IY
S
etc/time.fileids
A
B
C
ABC
etc/time.transcription
<s>A</s>(A)
<s>B</s>(B)
<s>C</s>(C)
<s>A B C</s> (ABC)
etc/time.filler
<s> SIL
<sil> SIL
</s> SIL
wav/
A.wav
B.wav
C.wav
ABC.wav
I've executed the differents modules and the second one
(scripts_pl\02.ci_schmm\slave_convg.pl) displays this error message:
MODULE: 02 Training Context Independent models2
Cleaning up directories: accumulator...logs...models...
Flat initialize
Baum welch starting for iteration: 1 (1 of 1)
Using 4 files: 0% 50% ERROR: FATAL_ERROR: "C\SphinxTrain\src\libs\libio\corpus.c", line 256: input string too long. Truncated.
ERROR: FATAL_ERROR: "C\SphinxTrain\src\libs\libio\corpus.c", line 256:
input string too long. Truncated.
Received a fatal error at BASE_DIR/scripts_pl/02.ci_schmm/baum_welch.pl line 143, <PIPE> line 136.
Parts
To evaluate the problem and to know which string was too long(I find it very strange), I did some modifications on corpus.c but when I compilated the libio.lib library, the slave_convg.pl file did not take it into account...
Perhaps is there another file to modify.
Cheers, Raph
I can't tell enough about your wave2feat error. Please show us (1) the command line you used and (2) the exact error messages. That will make it easier to help you.
Two other comments:
I believe that your .phone file must include SIL.
As has been discussed here before, you'll need many more than 4 files of speech for training.
cheers,
jerry
Hello Jerry. Thanks for coming in help.
I'm going to add SIL in my time.phone.
4 files were just to test if the program can work!
But if it's not enough to begin, I can add some. I want to
train about seventy files.
My command line is:
D:\perl C:\sphinxtrain\scripts_pl\make_feats.pl -ctl C:\time\etc\time.fileids
and the exact error message is:
INFO: C:\SphinxTrain\src\programs\wave2feat\wave2feat.c(130):wav/A.sph
ERROR: "C:\SphinxTrain\src\programs\wave2feat\wave2feat.c",line 620: Cannot read wav/A.sph
FATAL ERROR: C:\ShinxTrain\src\programs\wave2feat\wave2feat.c", line 94: error converting files...exiting
Here is what it says. Bye
One of the limitations of make_feats.pl is that it assumes certain things, and new users aren't always aware of those assumptions. Two of those assumptions are that the input audio files are in NIST format and are named .sph . In your case, I think your files are in MS WAV format and named .wav.
For those reasons, I prefer to invoke bin/wave2feat directly. You can learn the arguments by typing "bin/wave2feat -help yes".
It's probably easiest if you're connected to yout top level directory ("time") when you run it, and you'll want a command line that's something like:
bin/wave2feat -verbose yes -c etc/time.fileids -wav yes -dither yes -di wav -ei wav -do feat -eo mfc
I see you're running on Windows. The above assumes you're on Unix, so the exact syntax will be different on Windows, with which I'm not so familiar. Hope that helps...
cheers,
jerry
Thank you, Your commande was right! (just -mswav yes instead -wav yes)