/*
* Copyright 1999-2004 Carnegie Mellon University.
* Portions Copyright 2002-2004 Sun Microsystems, Inc.
* Portions Copyright 2002-2004 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.frontend.endpoint;
import edu.cmu.sphinx.frontend.Data;
import edu.cmu.sphinx.frontend.DoubleData;
/** A container for DoubleData class that indicates whether the contained DoubleData is speech or not. */
public class SpeechClassifiedData implements Data {
private boolean isSpeech;
private final DoubleData data;
/**
* Constructs a SpeechClassifiedData object.
*
* @param doubleData the DoubleData
* @param isSpeech indicates whether the DoubleData is speech
*/
public SpeechClassifiedData(DoubleData doubleData, boolean isSpeech) {
this.data = doubleData;
this.isSpeech = isSpeech;
}
/**
* Sets whether this SpeechClassifiedData is speech or not.
*
* @param isSpeech true if this is speech, false otherwise
*/
public void setSpeech(boolean isSpeech) {
this.isSpeech = isSpeech;
}
/**
* Returns whether this is classified as speech.
*
* @return true if this is classified as speech, false otherwise
*/
public boolean isSpeech() {
return isSpeech;
}
/**
* Returns the data values.
*
* @return the data values
*/
public double[] getValues() {
return data.getValues();
}
/**
* Returns the sample rate of the data.
*
* @return the sample rate of the data
*/
public int getSampleRate() {
return data.getSampleRate();
}
/**
* Returns the time in milliseconds at which the audio data is collected.
*
* @return the difference, in milliseconds, between the time the audio data is collected and midnight, January 1,
* 1970
*/
public long getCollectTime() {
return data.getCollectTime();
}
/**
* Returns the position of the first sample in the original data. The very first sample number is zero.
*
* @return the position of the first sample in the original data
*/
public long getFirstSampleNumber() {
return data.getFirstSampleNumber();
}
/**
* Returns the DoubleData contained by this SpeechClassifiedData.
*
* @return the DoubleData contained by this SpeechClassifiedData
*/
public DoubleData getDoubleData() {
return data;
}
/**
* @return a string that describes the data.
*/
@Override
public String toString() {
return "SpeechClassifiedData containing " + data.toString() + " classified as " + (isSpeech ? "speech" : "non-speech");
}
}