General Discussion

Flat
Julius Isolated Word
User: fkeymo
Date: 2/6/2009 10:58 pm
Views: 5623
Rating: 4

Hi All,

I have Julius working with the the example Task Grammar (grammar and voca files).  What is the best way to set up Julius to recognize isolated words as accurately as possible? 

I don't need continuous speech, just one word at a time as accurately as possible, but I would like as many recognizable words as possible. 

Do I still need to make a .grammar and .voca file and convert them to .dfa and .dict using mkdfa.pl script?

I have tried using the -w dict option with the Voxforge dict file but I get a lot of errors:

Error: voca_load_wordlist: the line content was: ZUE             [ZUE]           z uw sp
Error: voca_load_wordlist: line 4194: logical phone "silB" not found
Error: voca_load_wordlist: line 4194: logical phone "ix-k+sp" not found
Error: voca_load_wordlist: line 4194: logical phone "k-sp" not found
Error: voca_load_wordlist: line 4194: logical phone "silE" not found
Error: voca_load_wordlist: the line content was: ZURICH          [ZURICH]        z uh r ix k sp
Error: voca_load_htkdict: begin missing phones
Error: voca_load_htkdict:
Error: voca_load_htkdict: aa-b+sp
Error: voca_load_htkdict: aa-ch+sp

 

I don't understand what the man page says about this:

-wsil  head_sil_model_name tail_sil_model_name sil_context_name

 

Any help or advice is greatly appreciated.

Thanks,

F

 

--- (Edited on 2/6/2009 10:58 pm [GMT-0600] by Visitor) ---

Re: Julius Isolated Word
User: colbec
Date: 2/8/2009 7:15 am
Views: 116
Rating: 5

Interesting question, single word recognition. For interest's sake I tried the following with good results: I took a grammar that I had created before with a basic set of prompts with the normal combination of two words as in the form WORD1 WORD2 which I knew worked quite reliably and modified the grammar like so:

$WORDS = WORD2a | WORD2b | ... ;
$MT =  HORSE | COW ;
(SENT-START ( WORD1 ( $WORDS ) |  ( $MT ) ) SENT-END)

I was very impressed at how well the recognizer picked out horse and cow. In fact it was more likely to break when dealing with the other word combinations.

The error message you are seeing may be to do with the lack of depth in prompts and coverage of a wide variety of triphones?

--- (Edited on 2/8/2009 7:15 am [GMT-0600] by colbec) ---

Re: Julius Isolated Word
User: kmaclean
Date: 2/12/2009 10:45 am
Views: 2526
Rating: 3

Hi F,

>Do I still need to make a .grammar and .voca file and convert them to .dfa

>and .dict using mkdfa.pl script?

Yes

>I have tried using the -w dict option with the Voxforge dict file but I get a lot

>of errors:

The tutorial and the VoxForge dict file are different (this is on my todo list to fix).  From ticket# 52 Update How-to and Tutorial dictionnary to use CMU dictionnary:

The pronunciation dictionary used in the Tutorial and How-to is based on the ISIP Switchboard corpus (contains around 27,500 words). Whereas the QuickStart and nightly AM builds is based on version 0.6 of the CMU Pronunciation Dictionary (contains around 130,000 words). Unfortunately, the Switchboard and CMU pronunciation dictionaries use slightly different phoneme syntax. This is enough to make them incompatible from a Grammar and Acoustic Model testing perspective.

When creating your .voca files using the VoxForge dictionary, look up the word in the VoxForge dictionary, and get your phoneme sequences from there.

>-wsil  head_sil_model_name tail_sil_model_name sil_context_name

What are you trying to do with this setting?  Usually, you use these to tell Julius that you are using a non-standard silence phone tag (I think head_sil_model_name = '<s>' and tail_sil_model_name = '</s>' - you'll need to experiment a bit to confirm this....).

Ken

--- (Edited on 2/12/2009 11:45 am [GMT-0500] by kmaclean) ---

PreviousNext