SenoneHMM API
2015-06-09 21:02
323 查看
<span style="font-size:24px;">public class SenoneHMM implements HMM 代表了一个隐马尔可夫模型。一个隐马尔可夫模型由一个单元(场景独立或依赖),一个从状态到状态的转移矩阵,一个与每一个状态相关的senone序列。此类所代表的隐马尔可夫模型是从左到右的模型,是不允许向后转移的, Senone序列中的senone个数为N,则hmm的阶为N,转移矩阵的长度为N*N。senone序列可以被多个hmm所共享。Hmm可以是组合hmm,也可以不是。HMM的unit代表了此HMM所表示的声学单元为音素或其它。 本类的属性: private final Unit unit;为此HMM的单元。即与此HMM相关。 private final Unit baseUnit;与此HMM相关的基本单元。 private final SenoneSequence senoneSequence;为此HMM的Senones序列。 private final float[][] transitionMatrix;为HMM的状态转移矩阵。 private final HMMPosition position;与此HMM相关的HMM的位置,是HMM在字中的位置。 private static int objectCount;用于对HMM的个数计算,表示了其个数。 private final HMMState[] hmmStates;为此HMM的状态 本类的构造方法: public SenoneHMM(Unit unit, SenoneSequence senoneSequence,float[][] transitionMatrix, HMMPosition position);根据给定参数来创建对象。 本类的方法: public Unit getUnit();获得与此HMM相关的单元,即unit属性。 public Unit getBaseUnit();获得此HMM相关的基本单元,即baseUnit属性。 public HMMState getState(int which);获得指定的hmm状态,which为此hmm在hmm状态数组中的位置。 public int getOrder();返回的是此hmm的senone序列中的senone的数量即个数。此也为hmm的(阶)?。注意此方法也许并不被显示的需要,因为getSenoneSequence.getSenones().length方法将会提供相同的值,但是此方法是更加方便和容易理解的。 public SenoneSequence getSenoneSequence();获得与此HMM相关的senone序列,即返回为senone序列属性。如果senone序列的长度为N,则HMM的阶也为N。注意senone序列有可能被(多个)HMM所共享。注意senone序列SenoneSequence实际上也许为一个组合senone的序列。即有可能是一个组合senone的序列。 public boolean isComposite();决定此HMM是否为组合HMM,如果是返回为真,本方法是通过对senone序列中的所有senone的检查来决定的。如果所有的senone都为组合senone则返回为真,否则为false。 public float[][] getTransitionMatrix();返回的而是此hmm的转移矩阵,用来决定状态的转移用的。在矩阵中的每一项定义了从一个状态转移到下一个状态的概率。从状态1转移到2的概率是矩阵中的float[1][2]的值。返回的转移矩阵是log域的,矩阵的长度为N*N,其中N为HMM的阶。 public float getTransitionProbability(int stateFrom, int stateTo);返回的是指定状态到另一个状态的转移概率即为transitionMatrix[stateFrom][stateTo]。即从from到to。 public HMMPosition getPosition();返回的是此HMM的HMM位置。即position属性。 public boolean isFiller();决定此HMM是否代表一个填充单元。一个填充单元是一个没有任何意义的语音,例如:一个咳嗽,’um’,’er’,或者是静音。 public boolean isContextDependent();决定此hmm是否对应于一个场景依赖的单元。 public HMMState getInitialState();获得的是此hmm的初始化状态(用概率表示)。返回的是此hmm转移到初始状态的弧的集合。 public String toString();hmm的字符串表示。 public boolean equals(Object o);两hmm是否相等。</span>
相关文章推荐
- 使用Sphinx对索引进行搜索
- 关于Sphinx创建全文检索的索引介绍
- sphinx增量索引的一个问题
- C#中调用SAPI实现语音识别的2种方法
- mysql中使用sphinx搜索子域名需注意的问题
- Sphinx/MySQL 协议支持与SphinxQL应用实例
- 深入解析php之sphinx
- php启用sphinx全文搜索的实现方法
- sphinx使用及其简单配置方法
- Android实现语音识别代码
- 测试sphinx/coreseek xmlpipe2 support NOT compiled
- sphinx服务器安装及配置详解
- 如何给Sphinx做增量索引更新
- 模式识别
- 谷歌眼镜GDK开发指南之语音输入
- CoreSeek快速安装 sphinx
- coreseek 利用python作数据源建立索引
- sphinx/coreseek如何及时删除索引里的数据呢?
- PHP sphinx 全文检索
- MEMO:Sphinx学习笔记——安装与使用入门(+在ROS中的使用)