INFO: kmeans.c(159): km iter [65] 1.414042e-03 ...
INFO: kmeans.c(159): km iter [66] 1.195984e-03 ...
INFO: kmeans.c(159): km iter [67] 1.026603e-03 ...
INFO: kmeans.c(159): km iter [68] 1.061375e-03 ...
INFO: kmeans.c(172): kmtrineq n_iter 69 sqerr 1.297945e+04 conv_ratio 8.719380e-04
INFO: main.c(589): best-so-far sqerr = 1.297945e+04
INFO: main.c(240): alloc'ing 4Mb obs buf
INFO: main.c(544): Initializing means using random k-means
INFO: main.c(547): Trial 0: 256 means
INFO: kmeans.c(159): km iter [0] 1.000000e+00 ...
WARNING: "kmeans.c", line 437: Empty cluster 182
INFO: main.c(580): -> Aborting k-means, bad initialization
INFO: kmeans.c(159): km iter [0] 1.000000e+00 ...
INFO: kmeans.c(159): km iter [1] 1.165755e-01 ...
INFO: kmeans.c(159): km iter [2] 3.344532e-02 ...
Hi,
This is the log I got after running kmeans
INFO: kmeans.c(159): km iter [65] 1.414042e-03 ...
INFO: kmeans.c(159): km iter [66] 1.195984e-03 ...
INFO: kmeans.c(159): km iter [67] 1.026603e-03 ...
INFO: kmeans.c(159): km iter [68] 1.061375e-03 ...
INFO: kmeans.c(172): kmtrineq n_iter 69 sqerr 1.297945e+04 conv_ratio 8.719380e-04
INFO: main.c(589): best-so-far sqerr = 1.297945e+04
INFO: main.c(240): alloc'ing 4Mb obs buf
INFO: main.c(544): Initializing means using random k-means
INFO: main.c(547): Trial 0: 256 means
INFO: kmeans.c(159): km iter [0] 1.000000e+00 ...
WARNING: "kmeans.c", line 437: Empty cluster 182
INFO: main.c(580): -> Aborting k-means, bad initialization
INFO: kmeans.c(159): km iter [0] 1.000000e+00 ...
INFO: kmeans.c(159): km iter [1] 1.165755e-01 ...
INFO: kmeans.c(159): km iter [2] 3.344532e-02 ...
The parameters I used were
/Speech/speech/SphinxTrain/robot/bin/kmeans_init \ -gthobj single \ -stride 1 \ -ntrial 1 \ -minratio 0.001 \ -ndensity 256 \ -meanfn /Speech/speech/SphinxTrain/robot/model_parameters/robot.ci_semi_flatinitial/means \ -varfn /Speech/speech/SphinxTrain/robot/model_parameters/robot.ci_semi_flatinitial/variances \ -reest no \ -segdmpdirs /Speech/speech/SphinxTrain/robot/bwaccumdir/robot_buff_1 \ -segdmpfn /Speech/speech/SphinxTrain/robot/bwaccumdir/robot_buff_1/robot.dmp \ -ceplen 13 \ -feat c/1..L-1/,d/1..L-1/,c/0/d/0/dd/0/,dd/1..L-1/ \ -agc none \ -cmn current
From the faq I came to know that this may happen for the following reasons
1. features are byte-swapped : Since I recorded & trained on a linux
machine with intel this cannot be the problem
2. feature file is small : The smallest feature file I have is 7 KB and the
corresponding raw audio file is 44kB. ( I am using 16kHz , 16 bit data)
3. audio fiiles may have headers : I used sox to convert wav to raw; &
none of the audio files have the wav header.
4. presence of digital zeros in the wav data: In the few files I saw There were none.
Is it posible to get more info from kmeans.c/main.c as to in which feature/raw file did
disaster take place?
The faq says that there are executables cepview & seecep for viewing the features.
But I couldn't find them. Can you tell me where to find them?
Thanks in advance for your help
Edison
Hi,
I'm also encountering similar problem. If you receive any respond regarding this problem,
please post them.
Here's part of the log file:
INFO: main.c(486): No mdef files. Assuming 1-class init
INFO: main.c(1257): 1-class dump file
INFO: main.c(1295): Corpus 0: sz==1276 frames
INFO: main.c(1304): Convergence ratios are abs(cur - prior) / abs(prior)
INFO: main.c(240): alloc'ing 0Mb obs buf
INFO: main.c(544): Initializing means using random k-means
INFO: main.c(547): Trial 0: 256 means
INFO: kmeans.c(159): km iter [0] 1.000000e+00 ...
WARNING: "kmeans.c", line 437: Empty cluster 59
WARNING: "kmeans.c", line 437: Empty cluster 80
WARNING: "kmeans.c", line 437: Empty cluster 90
WARNING: "kmeans.c", line 437: Empty cluster 92
. . .
I only train 4 wav files with 3 seconds duration for each. Could a small data set
have cause this error?
Also, I set the following arguments when using wave2feat to create the feature files:
%wave2feat -c control.ctl -raw -di in -ei wav -do out -eo feat
I'm using '-raw' as input format, because i couldn't use '-wav'. Could this also have cause
the error?
Thanks,
wilson