VoxForge
Hi, everyone. I am new user of HTK. Now I am trying to build 4 GMMs(WHICH IS 3 STATES hmm) for 4 different groups of speeches. Each group's speakers belong to a certain age group.
Now , when I tried to build a prototype hmm for one group by HCompV, errors occurs and HCompV is terminated. I hope somebody can give me some advice cause the project is pretty important to me. Thanks in advance.
Here is the detail of what I have done(in one age group):
1. I already have about 20 .wav files, which is the same sentence said by different people.
2. I use HCopy to get mfc files. Here is my config file(config1):
# Coding parameters
SOURCEFORMAT = WAV
TARGETKIND = MFCC_0
TARGETRATE = 100000.0
SAVECOMPRESSED = T
SAVEWITHCRC = T
WINDOWSIZE = 250000.0
USEHAMMING = T
PREEMCOEF = 0.97
NUMCHANS = 26
CEPLIFTER = 22
NUMCEPS = 12
ENORMALISE = F
and this step is successful.
3. I think I should demonstrate my folders stucture cause some problems may be caused by that.
under my root folder(htk1), there are
data
data\train : all the mfc files for training.
data\test : all the mfc files for testing
config : includes files config1(HCopy use) and config2(HCompV use)
hmms
hmms\hmm0
hmms\hmm1
hmms\.......
4. The problem occurs in HCompV step, the config file for this is config2 which is :
# Coding parameters
TARGETKIND = MFCC_0_D_A
TARGETRATE = 100000.0
SAVECOMPRESSED = T
SAVEWITHCRC = T
WINDOWSIZE = 250000.0
USEHAMMING = T
PREEMCOEF = 0.97
NUMCHANS = 26
CEPLIFTER = 22
NUMCEPS = 12
ENORMALISE = F
i just removed SOURCEFORMAT from config1, and changed the TARGETKIND into MFCC_0_D_A.
the hmm proto is :
~o <VecSize> 39 <MFCC_0_D_A>
~h "proto"
<BeginHMM>
<NumStates> 3
<State> 2
<Mean> 39
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
<Variance> 39
1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
<TransP> 3
0.0 1.0 0.0
0.0 0.5 0.5
0.0 0.0 0.0
<EndHMM>
5. Anyway, when I used HCompV like :
HCompV -A -D -C config\config2 -f 0.01 -m -T 1 -S trainlist.scp -M hmms\hmm0 proto
it shows:
HTK Configuration Parameters[11]
Module/Tool Parameter Value
# ENORMALISE FALSE
# NUMCEPS 12
# CEPLIFTER 22
# NUMCHANS 26
# PREEMCOEF 0.970000
# USEHAMMING TRUE
# WINDOWSIZE 250000.000000
# SAVEWITHCRC TRUE
# SAVECOMPRESSED TRUE
# TARGETRATE 100000.000000
# TARGETKIND MFCC_0_D_A
Calculating Fixed Variance
HMM Prototype: proto
Segment Label: None
Num Streams : 1
UpdatingMeans: Yes
Target Direct: hmms\hmm0
ERROR [+6310] OpenParmChannel: cannot open Parm File \data\train\s01.mfc
ERROR [+6313] OpenAsChannel: OpenParmChannel failed
ERROR [+6316] OpenBuffer: OpenAsChannel failed
ERROR [+2050] LoadFile: Config parameters invalid
FATAL ERROR - Terminating program HCompV
if I remove the trace -A -D -T , it shows
ERROR [+6310] OpenParmChannel: cannot open Parm File \data\train\s01.mfc
ERROR [+6313] OpenAsChannel: OpenParmChannel failed
ERROR [+6316] OpenBuffer: OpenAsChannel failed
ERROR [+2050] LoadFile: Config parameters invalid
FATAL ERROR - Terminating program HCompV.
It the same error anyway. I just cannot understand the meaning of the error and the way to solve it. It is really annoying.I really hope somebody can helps this.
--- (Edited on 3/16/2016 7:41 am [GMT-0500] by zzj94) ---
Might want to start by focusing on the error "ERROR [+6310] OpenParmChannel: cannot open Parm File \data\train\s01.mfc"
The path to the mfc file as reported in the error message begins with a "\" which indicates a root directory. Does the file really exist there? It is possible that in one of your config files a path which should be relative is actually absolute.
A quick Google search on "cannot open parm file" comes up with a couple of suggestions, have you read through these to eliminate them?
--- (Edited on 2016-03-19 7:11 am [GMT-0400] by colbec) ---