Problems extending Aspire Model

226 views
Skip to first unread message

Jaskaran Singh Puri

unread,
Apr 4, 2019, 2:45:31 PM4/4/19
to kaldi-help
I'm trying to extend the Aspire model using my own corpus, by following this article

https://chrisearch-wordpress-com.cdn.ampproject.org/v/s/chrisearch.wordpress.com/2017/03/11/speech-recognition-using-kaldi-extending-and-using-the-aspire-model/

Acc to which I need to merge my Lexicon and LM with aspire's. I've generated LM from SRILM script and lexicon from lex tool.

Fast forward, I'm failling in prepare_lang. sh steps

If i don't generate nonsilence file from lexicon, i get phone not found errors. If i generate new nonsilence and use this command

model=exp/tdnn_7b_chain_online
phones_src=exp/tdnn_7b_chain_online/phones.txt
dict_src=new/local/dict
lm_src=new/local/lang/lm.arpa

lang=new/lang
dict=new/dict
dict_tmp=new/dict_tmp
graph=new/graph


utils/prepare_lang.sh --phone-symbol-table$phones_src $dict_src "" $dict_tmp $dict

It says, the new phones do not exist in this file tdnn_7b_chain_online/phones.txt

If i ignore this parameter, I get an error later on while creating HCLG.fst, saying phone xxx not found, meaning that phone exists in Topo file

What am I doing wrong? Please guide

Daniel Povey

unread,
Apr 4, 2019, 2:49:57 PM4/4/19
to kaldi-help
Your lexicon has to be compatible with the phone set the model was trained with; the model has an inventory of phones, and you can't add to those without retraining the  model from scratch.  

Likely what you need to do is just train a system from scratch on your data; try following the kaldi for dummies tutorial.


--
Go to http://kaldi-asr.org/forums.html find out how to join
---
You received this message because you are subscribed to the Google Groups "kaldi-help" group.
To unsubscribe from this group and stop receiving emails from it, send an email to kaldi-help+...@googlegroups.com.
To post to this group, send email to kaldi...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/kaldi-help/f697e11b-db72-48d1-b9c7-fdab12341c9c%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Jaskaran Singh Puri

unread,
Apr 5, 2019, 2:30:32 AM4/5/19
to kaldi-help
I already have trained a model from scratch, what I'm looking for is how to extend the Aspire model to my corpus.  Is this approach possible
As per your discussion here: https://groups.google.com/forum/#!topic/kaldi-help/37aE10tyyxI it is possible by editing the main lexicon.txt by downloading the model

There's no lexicon.txt but lexiconp.txt and other "lexicon_raw" files. I just want to know if lexicon has to be sorted? How do we know what format needs to be followed? Does the nonsilence_phones.txt file need to be updated?
To unsubscribe from this group and stop receiving emails from it, send an email to kaldi...@googlegroups.com.

Daniel Povey

unread,
Apr 5, 2019, 12:37:15 PM4/5/19
to kaldi-help
I think you should read the first few chapters of the HTK Book to understand the basic concepts of speech recognition.  I don't think what you are trying to do is possible.

To unsubscribe from this group and stop receiving emails from it, send an email to kaldi-help+...@googlegroups.com.

To post to this group, send email to kaldi...@googlegroups.com.

Jaskaran Singh Puri

unread,
Apr 6, 2019, 5:13:04 AM4/6/19
to kaldi-help
If that is the case then please explain the following:

1. How come you've mentioned that extending the lexicon is possible on the official website: http://kaldi-asr.org/models/m1
2. Also, you are stating yourself, that this is possible: https://groups.google.com/forum/#!topic/kaldi-help/9HGbZaEGFnE

You are contradicting your own work sir. 

There's no point building something if you can't explain people as to how to use it.

Thanks

Vimal Manohar

unread,
Apr 6, 2019, 10:03:38 AM4/6/19
to kaldi-help
As mentioned before, "Your lexicon has to be compatible with the phone set the model was trained with". i.e. the phone set should be exactly the same. But you seem to be adding *new phones* when you use the "lex tool" (I'm not sure what that is). This is not possible. 

To unsubscribe from this group and stop receiving emails from it, send an email to kaldi-help+...@googlegroups.com.

To post to this group, send email to kaldi...@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.


--
Vimal Manohar
PhD Student
Center for Language and Speech Processing
Johns Hopkins University
Baltimore, MD
Message has been deleted

Jaskaran Singh Puri

unread,
Apr 6, 2019, 10:32:52 AM4/6/19
to kaldi-help
Thanks Vimal, I get what you are saying. The only problem now is I'm not sure what phonetic dictionary was used in the Aspire Model, I assumed it was the CMU one and the Lex Tool of CMU also generates phones when we give it a list of words, so ideally it should have worked. 

If you can help me with what phonetic dict was used only then I'll be able to generate the same phones.

Vimal Manohar

unread,
Apr 6, 2019, 10:38:50 AM4/6/19
to kaldi-help
The dictionary is created using this script. https://github.com/kaldi-asr/kaldi/blob/master/egs/aspire/s5/local/fisher_prepare_dict.sh. You might be able to apply the same post processing (discarding stress etc.) to get the same set of phones.

To unsubscribe from this group and stop receiving emails from it, send an email to kaldi-help+...@googlegroups.com.

To post to this group, send email to kaldi...@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.
Reply all
Reply to author
Forward
0 new messages