【sphinx】sphinxTrain文档笔记

  • 如果需要训练的模型词汇量只有50-60个,而且你的所有测试词汇都包含在训练词汇中。那么训练基于单词的模型可能比基于音素的会更好。

         基于单词的模型训练方法:1)定义的phoneset改为单词列表  2)词典中的map,是单词指向它本身

          而如果训练基于音素的,要保证每个连接状态有充足的例子-5~10个的例子

  • 训练之前,确定你要训练的模型需要的资源是否充足

          半连续 semi-continue模型的训练----训练 :每个hmm模型要求5个状态,对10000个triphone的模型,要求如下:

5 states/triphone                    = 50,000 states每个triphone是5个状态,总共5w个状态
For a 4-stream feature-set, each     = 1024 floating point numbers/state 每个状态是4*256个点数。4是特征个数,256是混合权重个数
state has a total of 4*256 mixture   
weights
                                     = 205Mb buffer for 50,000 states  

 

连续模型 continue模型的训练---对于10000个triphone

5 states/triphone         = 50,000 states  每个triphone5个状态,总共5w个状态
39 means (assuming a
39-component feature
vector) and 39
variances per state       = 79 floating points per state    39个均值(假设是个39维度的特征向量),每个状态有39个方差
                          = 15.8Mb buffer for 50,000 states

 

  • 识别过程中的搜索方法,有广度优先遍历。广度优先遍历的流程为:
1 1.initialize()
2 2. createInitialLists()
3 3. recognize(nframes)
4 4.recognize():

 

你可能感兴趣的:(【sphinx】sphinxTrain文档笔记)