edu.cmu.sphinx.frontend.frequencywarp
Class PLPFrequencyFilterBank

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

public class PLPFrequencyFilterBank
extends BaseDataProcessor

Filters an input power spectrum through a PLP filterbank. The filters in the filterbank are placed in the frequency axis so as to mimic the critical band, representing different perceptual effect at different frequency bands. The filter outputs are also scaled for equal loudness preemphasis. The filter shapes are defined by the PLPFilter class. Like the MelFrequencyFilterBank, this filter bank has characteristics defined by the number of filters, the minimum frequency, and the maximum frequency. Unlike the MelFrequencyFilterBank, the minimum and maximum frequencies here refer to the center frequencies of the filters located at the leftmost and rightmost positions, and not to the edges. Therefore, this filter bank spans a frequency range that goes beyond the limits suggested by the minimum and maximum frequencies.

Version:
1.0
Author:
rsingh
See Also:
PLPFilter

Field Summary
static java.lang.String PROP_MAX_FREQ
          The name of the Sphinx Property for the center frequency of the highest filter in the filterbank.
static int PROP_MAX_FREQ_DEFAULT
          The default value of PROP_MAX_FREQ.
static java.lang.String PROP_MIN_FREQ
          The name of the Sphinx Property for the center frequency of the lowest filter in the filterbank.
static int PROP_MIN_FREQ_DEFAULT
          The default value of PROP_MIN_FREQ.
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
PLPFrequencyFilterBank()
           
 
Method Summary
 Data getData()
          Reads the next Data object, which is the power spectrum of an audio input frame.
 void initialize()
          Initializes this PLPFrequencyFilterBank object
 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_NUMBER_FILTERS

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_MIN_FREQ

public static final java.lang.String PROP_MIN_FREQ
The name of the Sphinx Property for the center frequency of the lowest filter in the filterbank.

See Also:
Constant Field Values

PROP_MIN_FREQ_DEFAULT

public static final int PROP_MIN_FREQ_DEFAULT
The default value of PROP_MIN_FREQ.

See Also:
Constant Field Values

PROP_MAX_FREQ

public static final java.lang.String PROP_MAX_FREQ
The name of the Sphinx Property for the center frequency of the highest filter in the filterbank.

See Also:
Constant Field Values

PROP_MAX_FREQ_DEFAULT

public static final int PROP_MAX_FREQ_DEFAULT
The default value of PROP_MAX_FREQ.

See Also:
Constant Field Values
Constructor Detail

PLPFrequencyFilterBank

public PLPFrequencyFilterBank()
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()
Initializes this PLPFrequencyFilterBank object

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

getData

public Data getData()
             throws DataProcessingException
Reads the next Data object, which is the power spectrum of an audio input frame. However, it can also be other Data objects like a Signal, which is returned unmodified.

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 a data processing error