edu.cmu.sphinx.frontend.frequencywarp
Class PLPCepstrumProducer

java.lang.Object
  extended by edu.cmu.sphinx.frontend.BaseDataProcessor
      extended by edu.cmu.sphinx.frontend.frequencywarp.PLPCepstrumProducer
All Implemented Interfaces:
DataProcessor, Configurable

public class PLPCepstrumProducer
extends BaseDataProcessor

Computes the PLP cepstrum from a given PLP Spectrum. The power spectrum has the amplitude compressed by computing the cubed root of the PLP spectrum. This operation is an approximation to the power law of hearing and simulates the non-linear relationship between sound intensity and perceived loudness. Computationally, this operation is used to reduce the spectral amplitude of the critical band to enable all-pole modeling with relatively low order AR filters. The inverse discrete cosine transform (IDCT) is then applied to the autocorrelation coefficients. A linear prediction filter is then estimated from the autocorrelation values, and the linear prediction cepstrum (LPC cepstrum) is finally computed from the LP filter.

Version:
1.0
Author:
rsingh
See Also:
LinearPredictor

Field Summary
static java.lang.String PROP_CEPSTRUM_LENGTH
          The SphinxProperty specifying the length of the cepstrum data.
static int PROP_CEPSTRUM_LENGTH_DEFAULT
          The default value of PROP_CEPSTRUM_LENGTH.
static java.lang.String PROP_LPC_ORDER
          The SphinxProperty specifying the LPC order.
static int PROP_LPC_ORDER_DEFAULT
          The default value of PROP_LPC_ORDER.
static java.lang.String PROP_NUMBER_FILTERS
          The name of the Sphinx Property for the number of filters in the filterbank.
static int PROP_NUMBER_FILTERS_DEFAULT
          The default value of PROP_NUMBER_FILTERS.
 
Constructor Summary
PLPCepstrumProducer()
           
 
Method Summary
 Data getData()
          Returns the next Data object, which is the PLP cepstrum of the input frame.
 void initialize()
          Constructs a PLPCepstrumProducer
 void newProperties(PropertySheet ps)
          This method is called when this configurable component needs to be reconfigured.
 
Methods inherited from class edu.cmu.sphinx.frontend.BaseDataProcessor
getPredecessor, getTimer, setPredecessor, toString
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

PROP_NUMBER_FILTERS

@S4Integer(defaultValue=32)
public static final java.lang.String PROP_NUMBER_FILTERS
The name of the Sphinx Property for the number of filters in the filterbank.

See Also:
Constant Field Values

PROP_NUMBER_FILTERS_DEFAULT

public static final int PROP_NUMBER_FILTERS_DEFAULT
The default value of PROP_NUMBER_FILTERS.

See Also:
Constant Field Values

PROP_CEPSTRUM_LENGTH

@S4Integer(defaultValue=13)
public static final java.lang.String PROP_CEPSTRUM_LENGTH
The SphinxProperty specifying the length of the cepstrum data.

See Also:
Constant Field Values

PROP_CEPSTRUM_LENGTH_DEFAULT

public static final int PROP_CEPSTRUM_LENGTH_DEFAULT
The default value of PROP_CEPSTRUM_LENGTH.

See Also:
Constant Field Values

PROP_LPC_ORDER

@S4Integer(defaultValue=14)
public static final java.lang.String PROP_LPC_ORDER
The SphinxProperty specifying the LPC order.

See Also:
Constant Field Values

PROP_LPC_ORDER_DEFAULT

public static final int PROP_LPC_ORDER_DEFAULT
The default value of PROP_LPC_ORDER.

See Also:
Constant Field Values
Constructor Detail

PLPCepstrumProducer

public PLPCepstrumProducer()
Method Detail

newProperties

public void newProperties(PropertySheet ps)
                   throws PropertyException
Description copied from interface: Configurable
This method is called when this configurable component needs to be reconfigured.

Specified by:
newProperties in interface Configurable
Overrides:
newProperties in class BaseDataProcessor
Parameters:
ps - a property sheet holding the new data
Throws:
PropertyException - if there is a problem with the properties.

initialize

public void initialize()
Constructs a PLPCepstrumProducer

Specified by:
initialize in interface DataProcessor
Overrides:
initialize in class BaseDataProcessor

getData

public Data getData()
             throws DataProcessingException
Returns the next Data object, which is the PLP cepstrum of the input frame. However, it can also be other Data objects like a EndPointSignal.

Specified by:
getData in interface DataProcessor
Specified by:
getData in class BaseDataProcessor
Returns:
the next available Data object, returns null if no Data object is available
Throws:
DataProcessingException - if there is an error reading the Data objects