/*
* Copyright 1999-2002 Carnegie Mellon University.
* Portions Copyright 2002 Sun Microsystems, Inc.
* Portions Copyright 2002 Mitsubishi Electric Research Laboratories.
* All Rights Reserved. Use is subject to license terms.
*
* See the file "license.terms" for information on usage and
* redistribution of this file, and for a DISCLAIMER OF ALL
* WARRANTIES.
*
*/
package edu.cmu.sphinx.linguist.acoustic.tiedstate;
import edu.cmu.sphinx.frontend.Data;
import java.io.Serializable;
/** Represents a set of acoustic data that can be scored against a feature */
public interface Senone extends Serializable {
/**
* Calculates the score for this senone based upon the given feature.
*
* @param feature the feature vector to score this senone against
* @return the score for this senone in LogMath log base
*/
public float getScore(Data feature);
/**
* Calculates the component scores for the mixture components in this senone based upon the given feature.
*
* @param feature the feature vector to score this senone against
* @return the scores for this senone in LogMath log base
*/
public float[] calculateComponentScore(Data feature);
/**
* Gets the ID for this senone
*
* @return the senone id
*/
public long getID();
/**
* Dumps a senone
*
* @param msg an annotation for the dump
*/
public void dump(String msg);
/**
* Returns the mixture components associated with this Gaussian
*
* @return the array of mixture components
*/
public MixtureComponent[] getMixtureComponents();
/**
*
* @return the mixture weights vector
*/
public float[] getLogMixtureWeights();
}