/* * 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.util.props.Configurable; import edu.cmu.sphinx.util.props.S4Double; import edu.cmu.sphinx.util.props.S4Boolean; import edu.cmu.sphinx.linguist.acoustic.Unit; import java.util.Map; import java.io.IOException; /** Generic interface for a saver of acoustic models */ public interface Saver extends Configurable { @S4Double(defaultValue = 0.0001f) public final static String PROP_VARIANCE_FLOOR = "varianceFloor"; /** Mixture component score floor. */ @S4Double(defaultValue = 0.0f) public final static String PROP_MC_FLOOR = "MixtureComponentScoreFloor"; /** Mixture weight floor. */ @S4Double(defaultValue = 1e-7f) public final static String PROP_MW_FLOOR = "mixtureWeightFloor"; @S4Boolean(defaultValue = true) public final static String PROP_SPARSE_FORM = "sparseForm"; /** * Gets the pool of means for this loader. * * @return the pool */ public Pool<float[]> getMeansPool(); /** * Gets the pool of means transformation matrices for this loader. * * @return the pool */ public Pool<float[][]> getMeansTransformationMatrixPool(); /** * Gets the pool of means transformation vectors for this loader. * * @return the pool */ public Pool<float[]> getMeansTransformationVectorPool(); /** * Gets the variance pool. * * @return the pool */ public Pool<float[]> getVariancePool(); /** * Gets the variance transformation matrix pool. * * @return the pool */ public Pool<float[][]> getVarianceTransformationMatrixPool(); /** * Gets the variance transformation vectorpool. * * @return the pool */ public Pool<float[]> getVarianceTransformationVectorPool(); /** * Gets the senone pool for this loader. * * @return the pool */ public Pool<Senone> getSenonePool(); /** * Returns the HMM Manager for this loader. * * @return the HMM Manager */ public HMMManager getHMMManager(); /** * Returns the map of context indepent units. The map can be accessed by unit name. * * @return the map of context independent units */ public Map<String, Unit> getContextIndependentUnits(); /** logs information about this loader */ public void logInfo(); /** * Returns the size of the left context for context dependent units. * * @return the left context size */ public int getLeftContextSize(); /** * Returns the size of the right context for context dependent units. * * @return the left context size */ public int getRightContextSize(); public void save(String name, boolean b) throws IOException; }