speech-recognitionhtk

HTK: HVite can't find hmm


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?


Solution

  • 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