您的位置:首页 > 其它

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 语音识别