Speech Recognition Engines

Flat
About using HInit and HRest for phone modeling.
User: Terminator-2
Date: 2/11/2015 10:35 am
Views: 2739
Rating: 1
Hi,
    
        I am new to HTK and face the following problem,
I am using HTK for simple phone recognition in continuous speech, where I define each phone as a word.
I am using a set of dicrete features and discrete hmm's. My main problem is with using HInit or HRest to train phone spwecific hmm's
I get a strangfe bug when I try to initialize a phone HMM with HInit, it displays all the info and does absolutely nothing. doesnt even show whether observation sequences ar loaded.
With the same setup , if I use HInit for initialization without specifying any phone, it does correctly and loads all observation sequences and processes them.
1. Without phone specific : display ( i did not specify any phone in this command.
Hinit.exe -A -C config_D2.txt -M hmmx -H hmm1/hmmdefs -I D64_16.mlf -S train_sym.scp -T 1 -w 0.001 protod64E
Initialising  HMM protod64E . . .
 States   :   2  3  4 (width)
 Mixes  s1: 128128128 (  1  )
 Num Using:   0  0  0
 Mixes  s2:  64 64 64 (  1  )
 Num Using:   0  0  0
 Mixes  s3:  64 64 64 (  1  )
 Num Using:   0  0  0
 Mixes  s4:  64 64 64 (  1  )
 Num Using:   0  0  0
 Parm Kind:  DISCRETE
 Number of owners = 1
 SegLab   :  NONE
 maxIter  :  20
 epsilon  :  0.000100
 minSeg   :  3
 Updating :  MixWeights/DProbs TransProbs

 - system is DISCRETE
4000 Observation Sequences Loaded
processing happens and resukts are out successfully.
2. But when I specify a phone and an mlf (with time alignments)
Hinit.exe -A -C config_D2.txt -M hmmx -l aa -H hmm1/hmmdefs -I D64_16.mlf -S train_sym.scp -T 1 -w 0.001 protod64E
Initialising  HMM protod64E . . .
 States   :   2  3  4 (width)
 Mixes  s1: 128128128 (  1  )
 Num Using:   0  0  0
 Mixes  s2:  64 64 64 (  1  )
 Num Using:   0  0  0
 Mixes  s3:  64 64 64 (  1  )
 Num Using:   0  0  0
 Mixes  s4:  64 64 64 (  1  )
 Num Using:   0  0  0
 Parm Kind:  DISCRETE
 Number of owners = 1
 SegLab   :  aa
 maxIter  :  20
 epsilon  :  0.000100
 minSeg   :  3
 Updating :  MixWeights/DProbs TransProbs

 - system is DISCRETE
No further processing,  does absolutely nothing other than this, no observation sequences loaded.
I have thoroughly checked mlf file and it has all phones with time alignments.
an excerpt of mlf file.
#!MLF!#
"*/arctic_0017.lab"
0 1950000 pau
1950000 2450000 dh
2450000 3950000 eh
3950000 4100000 r
4100000 4900000 z
4900000 6200000 f
6200000 7000000 ao
7000000 7550000 r
7550000 8300000 t
8300000 9250000 ch
9250000 10200000 er
10200000 11400000 ch
11400000 11700000 hh
11700000 12700000 ih
12700000 14150000 l
14150000 17750000 pau
17750000 18500000 ah
18500000 19350000 r
19350000 20700000 ay
20700000 21650000 f
21650000 21800000 ah
21800000 22600000 l
22600000 24000000 sh
24000000 25450000 aa
25450000 25650000 t
25650000 26450000 b
26450000 27600000 iy
27600000 29200000 aa
29200000 29600000 n
29600000 29750000 d
29750000 29900000 dh
29900000 30350000 ah
30350000 31600000 r
31600000 33450000 ih
33450000 35150000 jh
35150000 36650000 pau
36650000 37150000 ah
37150000 38900000 s
38900000 39350000 l
39350000 40650000 iy
40650000 41700000 p
41700000 43800000 pau
.
I have checked the proto file and other files and they all seem to be correct, if I purposefully change anything in them it shows an error, but when everything is right, it does absolutely nothing. Request your help solving this issue/bug.
Thanks and regards
Terminator-2

--- (Edited on 2/11/2015 10:35 am [GMT-0600] by Visitor) ---

PreviousNext