public class DeltasFeatureExtractor extends AbstractFeatureExtractor
FloatDataobject 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
|Constructor and Description|
|Modifier and Type||Method and Description|
Computes the next feature.
getData, initialize, newProperties
getName, initLogger, toString
public DeltasFeatureExtractor(int window)