private HMM getCompositeHMM(Unit unit, HMMPosition position)
        {
            Unit           unit2 = this.unitManager.getUnit(unit.getName(), unit.isFiller(), Context.__EMPTY_CONTEXT);
            SenoneSequence compositeSenoneSequence = this.getCompositeSenoneSequence(unit, position);
            SenoneHMM      senoneHMM = (SenoneHMM)this.lookupNearestHMM(unit2, HMMPosition.__UNDEFINED, true);

            float[][] transitionMatrix = senoneHMM.getTransitionMatrix();
            return(new SenoneHMM(unit, compositeSenoneSequence, transitionMatrix, position));
        }
Пример #2
0
 internal SenoneHMMState(SenoneHMM senoneHMM, int num)
 {
     this.hmm         = senoneHMM;
     this.state       = num;
     this._isEmitting = (senoneHMM.getTransitionMatrix().Length - 1 != this.state);
     if (this._isEmitting)
     {
         SenoneSequence senoneSequence = senoneHMM.getSenoneSequence();
         this.senone = senoneSequence.getSenones()[this.state];
     }
     Utilities.objectTracker("HMMState", SenoneHMMState.objectCount++);
     this._hashCode = senoneHMM.hashCode() + 37 * this.state;
 }