edu.cmu.sphinx.decoder.search
Class SimpleBreadthFirstSearchManager

java.lang.Object
  extended byedu.cmu.sphinx.decoder.search.SimpleBreadthFirstSearchManager
All Implemented Interfaces:
Configurable, SearchManager

public class SimpleBreadthFirstSearchManager
extends java.lang.Object
implements SearchManager

Provides the breadth first search. To perform recognition an application should call initialize before recognition begins, and repeatedly call recognize until Result.isFinal() returns true. Once a final result has been obtained, terminate should be called. All scores and probabilities are maintained in the log math log domain.


Field Summary
static java.lang.String PROP_ACTIVE_LIST_FACTORY
          Sphinx property that defines the name of the active list factory to be used by this search manager.
static java.lang.String PROP_GROW_SKIP_INTERVAL
          A sphinx property that controls the number of frames processed for every time the decode growth step is skipped.
static int PROP_GROW_SKIP_INTERVAL_DEFAULT
          The default value for the PROP_GROW_SKIP_INTERVAL property.
static java.lang.String PROP_LINGUIST
          Sphinx property that defines the name of the linguist to be used by this search manager.
static java.lang.String PROP_LOG_MATH
          Sphinx property that defines the name of the logmath to be used by this search manager.
static java.lang.String PROP_PRUNER
          Sphinx property that defines the name of the linguist to be used by this search manager.
static java.lang.String PROP_RELATIVE_WORD_BEAM_WIDTH
          Property that sets the minimum score relative to the maximum score in the word list for pruning.
static double PROP_RELATIVE_WORD_BEAM_WIDTH_DEFAULT
          The default value for the PROP_RELATIVE_WORD_BEAM_WIDTH property
static java.lang.String PROP_SCORER
          Sphinx property that defines the name of the scorer to be used by this search manager.
static java.lang.String PROP_SHOW_TOKEN_COUNT
          A sphinx property than, when set to true will cause the recognizer to count up all the tokens in the active list after every frame.
static boolean PROP_SHOW_TOKEN_COUNT_DEFAULT
          The default value for the PROP_SHOW_TOKEN_COUNT property
static java.lang.String PROP_WANT_ENTRY_PRUNING
          A sphinx property that controls whether or not relative beam pruning will be performed on the entry into a state.
static boolean PROP_WANT_ENTRY_PRUNING_DEFAULT
          The default value for the PROP_WANT_ENTRY_PRUNING property
 
Constructor Summary
SimpleBreadthFirstSearchManager()
           
 
Method Summary
 void allocate()
          Allocates the resources necessary for this search.
 void deallocate()
          Deallocates resources necessary for this search.
 int getCurrentFrameNumber()
          Returns the current frame number.
 Timer getGrowTimer()
          Returns the Timer for growing.
 java.lang.String getName()
          Retrieves the name for this configurable component
 java.util.List getResultList()
          Returns the result list.
 StatisticsVariable getTokensCreated()
          Returns the tokensCreated StatisticsVariable.
 void newProperties(PropertySheet ps)
          This method is called when this configurable component has new data.
 Result recognize(int nFrames)
          Performs the recognition for the given number of frames.
 void register(java.lang.String name, Registry registry)
          Register my properties.
 void startRecognition()
          Called at the start of recognition.
 void stopRecognition()
          Terminates a recognition
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

PROP_LINGUIST

public static final java.lang.String PROP_LINGUIST
Sphinx property that defines the name of the linguist to be used by this search manager.

See Also:
Constant Field Values

PROP_PRUNER

public static final java.lang.String PROP_PRUNER
Sphinx property that defines the name of the linguist to be used by this search manager.

See Also:
Constant Field Values

PROP_SCORER

public static final java.lang.String PROP_SCORER
Sphinx property that defines the name of the scorer to be used by this search manager.

See Also:
Constant Field Values

PROP_LOG_MATH

public static final java.lang.String PROP_LOG_MATH
Sphinx property that defines the name of the logmath to be used by this search manager.

See Also:
Constant Field Values

PROP_ACTIVE_LIST_FACTORY

public static final java.lang.String PROP_ACTIVE_LIST_FACTORY
Sphinx property that defines the name of the active list factory to be used by this search manager.

See Also:
Constant Field Values

PROP_SHOW_TOKEN_COUNT

public static final java.lang.String PROP_SHOW_TOKEN_COUNT
A sphinx property than, when set to true will cause the recognizer to count up all the tokens in the active list after every frame.

See Also:
Constant Field Values

PROP_SHOW_TOKEN_COUNT_DEFAULT

public static final boolean PROP_SHOW_TOKEN_COUNT_DEFAULT
The default value for the PROP_SHOW_TOKEN_COUNT property

See Also:
Constant Field Values

PROP_RELATIVE_WORD_BEAM_WIDTH

public static final java.lang.String PROP_RELATIVE_WORD_BEAM_WIDTH
Property that sets the minimum score relative to the maximum score in the word list for pruning. Words with a score less than relativeBeamWidth * maximumScore will be pruned from the list

See Also:
Constant Field Values

PROP_RELATIVE_WORD_BEAM_WIDTH_DEFAULT

public static final double PROP_RELATIVE_WORD_BEAM_WIDTH_DEFAULT
The default value for the PROP_RELATIVE_WORD_BEAM_WIDTH property

See Also:
Constant Field Values

PROP_WANT_ENTRY_PRUNING

public static final java.lang.String PROP_WANT_ENTRY_PRUNING
A sphinx property that controls whether or not relative beam pruning will be performed on the entry into a state.

See Also:
Constant Field Values

PROP_WANT_ENTRY_PRUNING_DEFAULT

public static final boolean PROP_WANT_ENTRY_PRUNING_DEFAULT
The default value for the PROP_WANT_ENTRY_PRUNING property

See Also:
Constant Field Values

PROP_GROW_SKIP_INTERVAL

public static final java.lang.String PROP_GROW_SKIP_INTERVAL
A sphinx property that controls the number of frames processed for every time the decode growth step is skipped. Setting this property to zero disables grow skipping. Setting this number to a small integer will increase the speed of the decoder but will also decrease its accuracy. The higher the number, the less often the grow code is skipped.

See Also:
Constant Field Values

PROP_GROW_SKIP_INTERVAL_DEFAULT

public static final int PROP_GROW_SKIP_INTERVAL_DEFAULT
The default value for the PROP_GROW_SKIP_INTERVAL property.

See Also:
Constant Field Values
Constructor Detail

SimpleBreadthFirstSearchManager

public SimpleBreadthFirstSearchManager()
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
Parameters:
name - the name of the component
registry - the registry for this component
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
Parameters:
ps - a property sheet holding the new data
Throws:
PropertyException - if there is a problem with the properties.

startRecognition

public void startRecognition()
Called at the start of recognition. Gets the search manager ready to recognize

Specified by:
startRecognition in interface SearchManager

recognize

public Result recognize(int nFrames)
Performs the recognition for the given number of frames.

Specified by:
recognize in interface SearchManager
Parameters:
nFrames - the number of frames to recognize
Returns:
the current result or null if there is no Result (due to the lack of frames to recognize)

stopRecognition

public void stopRecognition()
Terminates a recognition

Specified by:
stopRecognition in interface SearchManager

getResultList

public java.util.List getResultList()
Returns the result list.

Returns:
the result list

getCurrentFrameNumber

public int getCurrentFrameNumber()
Returns the current frame number.

Returns:
the current frame number

getGrowTimer

public Timer getGrowTimer()
Returns the Timer for growing.

Returns:
the Timer for growing

getTokensCreated

public StatisticsVariable getTokensCreated()
Returns the tokensCreated StatisticsVariable.

Returns:
the tokensCreated StatisticsVariable.

allocate

public void allocate()
              throws java.io.IOException
Description copied from interface: SearchManager
Allocates the resources necessary for this search. This should be called once before an recognitions are performed

Specified by:
allocate in interface SearchManager
Throws:
java.io.IOException

deallocate

public void deallocate()
Description copied from interface: SearchManager
Deallocates resources necessary for this search. This should be called once after all recognitions are completed at the search manager is no longer needed.

Specified by:
deallocate in interface SearchManager

getName

public java.lang.String getName()
Description copied from interface: Configurable
Retrieves the name for this configurable component

Specified by:
getName in interface Configurable
Returns:
the name