edu.cmu.sphinx.frontend.feature
Class DeltasFeatureExtractor

java.lang.Object
  extended by edu.cmu.sphinx.util.props.ConfigurableAdapter
      extended by edu.cmu.sphinx.frontend.BaseDataProcessor
          extended by edu.cmu.sphinx.frontend.feature.AbstractFeatureExtractor
              extended by edu.cmu.sphinx.frontend.feature.DeltasFeatureExtractor
All Implemented Interfaces:
DataProcessor, Configurable

public class DeltasFeatureExtractor
extends AbstractFeatureExtractor

Computes the delta and double delta of input cepstrum (or plp or ...). The delta is the first order derivative and the double delta (a.k.a. delta delta) is the second order derivative of the original cepstrum. They help model the speech signal dynamics. The output data is a FloatData object with a float array of size three times the original cepstrum, formed by the concatenation of cepstra, delta cepstra, and double delta cepstra. The output is the feature vector used by the decoder. Figure 1 shows the arrangement of the output feature data array:


Figure 1: Layout of the returned features.

Suppose that the original cepstrum has a length of N, the first N elements of the feature are just the original cepstrum, the second N elements are the delta of the cepstrum, and the last N elements are the double delta of the cepstrum.

Figure 2 below shows pictorially the computation of the delta and double delta of a cepstrum vector, using the last 3 cepstra and the next 3 cepstra.
Figure 2: Delta and double delta vector computation.

Referring to Figure 2, the delta is computed by subtracting the cepstrum that is two frames behind of the current cepstrum from the cepstrum that is two frames ahead of the current cepstrum. The computation of the double delta is similar. It is computed by subtracting the delta cepstrum one time frame behind from the delta cepstrum one time frame ahead. Replacing delta cepstra with cepstra, this works out to a formula involving the cepstra that are one and three behind and after the current cepstrum.


Field Summary
 
Fields inherited from class edu.cmu.sphinx.frontend.feature.AbstractFeatureExtractor
PROP_FEATURE_WINDOW
 
Constructor Summary
DeltasFeatureExtractor()
           
DeltasFeatureExtractor(int window)
           
 
Method Summary
 
Methods inherited from class edu.cmu.sphinx.frontend.feature.AbstractFeatureExtractor
getData, initialize, newProperties
 
Methods inherited from class edu.cmu.sphinx.frontend.BaseDataProcessor
getPredecessor, getTimer, setPredecessor
 
Methods inherited from class edu.cmu.sphinx.util.props.ConfigurableAdapter
getName, toString
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

DeltasFeatureExtractor

public DeltasFeatureExtractor(int window)
Parameters:
window -

DeltasFeatureExtractor

public DeltasFeatureExtractor()