edu.cmu.sphinx.frontend.frequencywarp
Class PLPCepstrumProducer

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

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.
 
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 has new data.
 void register(java.lang.String name, Registry registry)
          Register my properties.
 
Methods inherited from class edu.cmu.sphinx.frontend.BaseDataProcessor
getName, getPredecessor, getTimer, setPredecessor, toString
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

PROP_CEPSTRUM_LENGTH

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

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

register

public void register(java.lang.String name,
                     Registry registry)
              throws PropertyException
Description copied from interface: Configurable
Register my properties. This method is called once early in the time of the component, shortly after the component is constructed. This component should register any configuration properties that it needs to register. If this configurable extends another configurable, super.register should also be called

Specified by:
register in interface Configurable
Overrides:
register in class BaseDataProcessor
Throws:
PropertyException

newProperties

public void newProperties(PropertySheet ps)
                   throws PropertyException
Description copied from interface: Configurable
This method is called when this configurable component has new data. The component should first validate the data. If it is bad the component should return false. If the data is good, the component should record the the data internally and return true.

Specified by:
newProperties in interface Configurable
Overrides:
newProperties in class BaseDataProcessor
Throws:
PropertyException

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