I want to build a speech recognition system using HTK and therefore downloaded a pre-trained acoustic model with tied states from http://www.keithv.com/software/htk/us/ (Training data: WSJ SI-84).
However, when I try to run HVite with my dictionary, I get the following error:
$ HVite -H macros -H hmmdefs -S test.scp -l '*' -i recout.mlf -w wdnet -p 0.0 -s 5.0 dict tiedlist
ERROR [+8231] GetHCIModel: Cannot find hmm [z-]ia[+r]
FATAL ERROR - Terminating program HVite
where macros
, hmmdefs
, and tiedlist
are the files downloaded from the link above. test.scp
contains paths to my feature files.
My dict
file looks like this:
DIAL d ay ax l
EIGHT ey t
FIVE f ay v
FOUR f ao r
NINE n ay n
OH ow
ONE w ah n
SENT-END [] sil
SENT-START [] sil
SEVEN s eh v ax n
SIX s ih k s
THREE th r iy
TWO t uw
ZERO z ia r ow
wdnet
is generated using HParse grammer wdnet
, where the content of grammar
is the following:
$digit = ONE | TWO | THREE | FOUR | FIVE | SIX | SEVEN | EIGHT | NINE | OH | ZERO;
( SENT-START DIAL <$digit> SENT-END )
tiedlist
does not have a line containing z-ia+r
, but why is this an error and how can I fix it?
You are using phone names which are not match the phoneset of the acoustic model
ZERO z ia r ow
must be
ZERO z iy r ow
or
ZERO z ih r ow
There is no such phone 'ia' in the phoneset