public class DeltasFeatureExtractor extends AbstractFeatureExtractor
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.
cepstraBuffer, cepstraBufferEdge, cepstraBufferSize, currentPosition, PROP_FEATURE_WINDOW, window
logger
Constructor and Description |
---|
DeltasFeatureExtractor() |
DeltasFeatureExtractor(int window) |
Modifier and Type | Method and Description |
---|---|
protected Data |
computeNextFeature()
Computes the next feature.
|
getData, initialize, newProperties
getPredecessor, setPredecessor
getName, initLogger, toString
public DeltasFeatureExtractor(int window)
public DeltasFeatureExtractor()
protected Data computeNextFeature()
computeNextFeature
in class AbstractFeatureExtractor