edu.cmu.sphinx.tools.batch
Class BatchModeRecognizer

java.lang.Object
  extended by edu.cmu.sphinx.tools.batch.BatchModeRecognizer
All Implemented Interfaces:
Configurable
Direct Known Subclasses:
BatchNISTRecognizer

public class BatchModeRecognizer
extends java.lang.Object
implements Configurable

Decodes a batch file containing a list of files to decode. The files can be either audio files or cepstral files, but defaults to audio files. The audio data should be 16-bit, 16kHz, PCM-linear data. Since this classes makes use of Java Sound, it supports all the audio file formats that are supported by Java Sound. If the audio file does not correspond to a format supported by Java Sound, it is treated as a raw audio file (i.e., one without a header). Audio file formats differ in the endian order of the audio data. Therefore, it is important to specify it correctly in the configuration of the StreamDataSource. Note that in the ideal situation, the audio format of the data should be passed into the StreamDataSource, so that no extra configuration is needed. This will be fixed in future releases.

To run this BatchModeRecognizer:

 java BatchModeRecognizer <xmlConfigFile> <batchFile>
 
where xmlConfigFile is an XML-based configuration file and batchFile is a file listing all the files to decode and transcript of those files. For information about the configuration file, refer to the document Sphinx-4 Configuration Management. For information about the batch file, refer to the batch file description.

This class will send recognition results to the logger if the log level is set to INFO.


Field Summary
static java.lang.String PROP_COUNT
          The SphinxProperty name for how many utterances to process
static int PROP_COUNT_DEFAULT
          The default value for the property PROP_COUNT.
static java.lang.String PROP_INPUT_DATA_PROCESSORS
          The sphinx property that specifies the input source
static java.lang.String PROP_RECOGNIZER
          The Sphinx property that specifies the recognizer to use
static java.lang.String PROP_SKIP
          The SphinxProperty name for how many files to skip for every decode.
static int PROP_SKIP_DEFAULT
          The default value for the property PROP_SKIP.
static java.lang.String PROP_TOTAL_BATCHES
          The SphinxProperty for the total number of batch jobs the decoding run is being divided into.
static int PROP_TOTAL_BATCHES_DEFAULT
          The default value for the property PROP_TOTAL_BATCHES.
static java.lang.String PROP_USE_POOLED_BATCH_MANAGER
          The SphinxProperty that defines whether or not the decoder should use the pooled batch manager
static boolean PROP_USE_POOLED_BATCH_MANAGER_DEFAULT
          The default value for the property PROP_USE_POOLED_BATCH_MANAGER.
static java.lang.String PROP_WHICH_BATCH
          The SphinxProperty that specified which batch job is to be run.
static int PROP_WHICH_BATCH_DEFAULT
          The default value for the property PROP_WHICH_BATCH.
 
Constructor Summary
BatchModeRecognizer()
           
 
Method Summary
 void decode(java.lang.String batchFile)
          Decodes the batch of audio files
static void main(java.lang.String[] argv)
          Main method of this BatchDecoder.
 void newProperties(PropertySheet ps)
          This method is called when this configurable component needs to be reconfigured.
 Result recognize()
           
 void setBatchFile(java.lang.String batchFile)
          Sets the batch file to use for this recogition
 void shell(java.lang.String batchfile)
           
 void start(java.lang.String batchFile)
           
 void stop()
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

PROP_SKIP

@S4Integer(defaultValue=0)
public static final java.lang.String PROP_SKIP
The SphinxProperty name for how many files to skip for every decode.

See Also:
Constant Field Values

PROP_SKIP_DEFAULT

public static final int PROP_SKIP_DEFAULT
The default value for the property PROP_SKIP.

See Also:
Constant Field Values

PROP_COUNT

@S4Integer(defaultValue=1000000)
public static final java.lang.String PROP_COUNT
The SphinxProperty name for how many utterances to process

See Also:
Constant Field Values

PROP_COUNT_DEFAULT

public static final int PROP_COUNT_DEFAULT
The default value for the property PROP_COUNT.

See Also:
Constant Field Values

PROP_WHICH_BATCH

@S4Integer(defaultValue=0)
public static final java.lang.String PROP_WHICH_BATCH
The SphinxProperty that specified which batch job is to be run.

See Also:
Constant Field Values

PROP_WHICH_BATCH_DEFAULT

public static final int PROP_WHICH_BATCH_DEFAULT
The default value for the property PROP_WHICH_BATCH.

See Also:
Constant Field Values

PROP_TOTAL_BATCHES

@S4Integer(defaultValue=1)
public static final java.lang.String PROP_TOTAL_BATCHES
The SphinxProperty for the total number of batch jobs the decoding run is being divided into.

The BatchDecoder supports running a subset of a batch. This allows a test to be distributed among several machines.

See Also:
Constant Field Values

PROP_TOTAL_BATCHES_DEFAULT

public static final int PROP_TOTAL_BATCHES_DEFAULT
The default value for the property PROP_TOTAL_BATCHES.

See Also:
Constant Field Values

PROP_USE_POOLED_BATCH_MANAGER

@S4Boolean(defaultValue=false)
public static final java.lang.String PROP_USE_POOLED_BATCH_MANAGER
The SphinxProperty that defines whether or not the decoder should use the pooled batch manager

See Also:
Constant Field Values

PROP_USE_POOLED_BATCH_MANAGER_DEFAULT

public static final boolean PROP_USE_POOLED_BATCH_MANAGER_DEFAULT
The default value for the property PROP_USE_POOLED_BATCH_MANAGER.

See Also:
Constant Field Values

PROP_RECOGNIZER

@S4Component(type=Recognizer.class)
public static final java.lang.String PROP_RECOGNIZER
The Sphinx property that specifies the recognizer to use

See Also:
Constant Field Values

PROP_INPUT_DATA_PROCESSORS

@S4ComponentList(type=BaseDataProcessor.class)
public static final java.lang.String PROP_INPUT_DATA_PROCESSORS
The sphinx property that specifies the input source

See Also:
Constant Field Values
Constructor Detail

BatchModeRecognizer

public BatchModeRecognizer()
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
Parameters:
ps - a property sheet holding the new data
Throws:
PropertyException - if there is a problem with the properties.

setBatchFile

public void setBatchFile(java.lang.String batchFile)
                  throws java.io.IOException
Sets the batch file to use for this recogition

Parameters:
batchFile - the name of the batch file
Throws:
java.io.IOException - if the file could not be opened or read.

decode

public void decode(java.lang.String batchFile)
            throws java.io.IOException
Decodes the batch of audio files

Throws:
java.io.IOException

shell

public void shell(java.lang.String batchfile)
           throws java.io.IOException
Throws:
java.io.IOException

main

public static void main(java.lang.String[] argv)
Main method of this BatchDecoder.

Parameters:
argv - argv[0] : config.xml argv[1] : a file listing all the audio files to decode

start

public void start(java.lang.String batchFile)
           throws java.io.IOException
Throws:
java.io.IOException

stop

public void stop()
          throws java.io.IOException
Throws:
java.io.IOException

recognize

public Result recognize()
                 throws java.io.IOException
Throws:
java.io.IOException